diff --git a/src/core/components/parameter-extension.jsx b/src/core/components/parameter-extension.jsx
new file mode 100644
index 00000000..cf1c116f
--- /dev/null
+++ b/src/core/components/parameter-extension.jsx
@@ -0,0 +1,12 @@
+import React from "react"
+import PropTypes from "prop-types"
+
+export const ParameterExt = ({ xKey, xVal }) => {
+ return
{ xKey }: { String(xVal) }
+}
+ParameterExt.propTypes = {
+ xKey: PropTypes.string,
+ xVal: PropTypes.any
+}
+
+export default ParameterExt
diff --git a/src/core/components/parameter-row.jsx b/src/core/components/parameter-row.jsx
index 71a2765a..a436c527 100644
--- a/src/core/components/parameter-row.jsx
+++ b/src/core/components/parameter-row.jsx
@@ -2,6 +2,7 @@ import React, { Component } from "react"
import { Map } from "immutable"
import PropTypes from "prop-types"
import win from "core/window"
+import { getExtensions } from "core/utils"
export default class ParameterRow extends Component {
static propTypes = {
@@ -91,6 +92,7 @@ export default class ParameterRow extends Component {
const ModelExample = getComponent("modelExample")
const Markdown = getComponent("Markdown")
+ const ParameterExt = getComponent("ParameterExt")
let schema = param.get("schema")
let type = isOAS3 && isOAS3() ? param.getIn(["schema", "type"]) : param.get("type")
@@ -100,6 +102,7 @@ export default class ParameterRow extends Component {
let itemType = param.getIn(isOAS3 && isOAS3() ? ["schema", "items", "type"] : ["items", "type"])
let parameter = specSelectors.getParameter(pathMethod, param.get("name"), param.get("in"))
let value = parameter ? parameter.get("value") : ""
+ let extensions = getExtensions(param)
return (
@@ -113,6 +116,7 @@ export default class ParameterRow extends Component {
{ isOAS3 && isOAS3() && param.get("deprecated") ? "deprecated": null }
({ param.get("in") })
+ { !extensions.length ? null : extensions.map((v, key) => )}
diff --git a/src/core/utils.js b/src/core/utils.js
index 6ac9eb29..5f60d8b6 100644
--- a/src/core/utils.js
+++ b/src/core/utils.js
@@ -678,3 +678,5 @@ export function getAcceptControllingResponse(responses) {
export const createDeepLinkPath = (str) => typeof str == "string" || str instanceof String ? str.trim().replace(/\s/g, "_") : ""
export const escapeDeepLinkPath = (str) => cssEscape( createDeepLinkPath(str) )
+
+export const getExtensions = (defObj) => defObj.filter((v, k) => /^x-/.test(k))
diff --git a/src/style/_table.scss b/src/style/_table.scss
index 02dd92ba..3cbcc81f 100644
--- a/src/style/_table.scss
+++ b/src/style/_table.scss
@@ -131,7 +131,8 @@ table
}
}
-.parameter__in
+.parameter__in,
+.parameter__extension
{
font-size: 12px;
font-style: italic;
|