diff --git a/src/core/plugins/oas31/fn.js b/src/core/plugins/oas31/fn.js index 70dd5967..53a3b610 100644 --- a/src/core/plugins/oas31/fn.js +++ b/src/core/plugins/oas31/fn.js @@ -1,6 +1,7 @@ /** * @prettier */ +import React from "react" export const isOAS31 = (jsSpec) => { const oasVersion = jsSpec.get("openapi") @@ -70,3 +71,20 @@ export const createSystemSelector = ? selectedValue(system) : selectedValue } + +/* eslint-disable react/jsx-filename-extension */ +export const createOnlyOAS31ComponentWrapper = + (Component) => (Original, system) => (props) => { + if (system.specSelectors.isOAS31()) { + return ( + + ) + } + + return + } +/* eslint-enable react/jsx-filename-extension */ diff --git a/src/core/plugins/oas31/wrap-components/contact.jsx b/src/core/plugins/oas31/wrap-components/contact.jsx index ac771069..c64dbcc9 100644 --- a/src/core/plugins/oas31/wrap-components/contact.jsx +++ b/src/core/plugins/oas31/wrap-components/contact.jsx @@ -3,14 +3,13 @@ */ import React from "react" -const ContactWrapper = (Original, system) => (props) => { - if (system.specSelectors.isOAS31()) { - const OAS31Contact = system.getComponent("OAS31Contact", true) +import { createOnlyOAS31ComponentWrapper } from "../fn" - return - } +const ContactWrapper = createOnlyOAS31ComponentWrapper(({ getSystem }) => { + const system = getSystem() + const OAS31Contact = system.getComponent("OAS31Contact", true) - return -} + return +}) export default ContactWrapper diff --git a/src/core/plugins/oas31/wrap-components/info.jsx b/src/core/plugins/oas31/wrap-components/info.jsx index 4c03388e..365d192e 100644 --- a/src/core/plugins/oas31/wrap-components/info.jsx +++ b/src/core/plugins/oas31/wrap-components/info.jsx @@ -3,14 +3,13 @@ */ import React from "react" -const InfoWrapper = (Original, system) => (props) => { - if (system.specSelectors.isOAS31()) { - const OAS31Info = system.getComponent("OAS31Info", true) +import { createOnlyOAS31ComponentWrapper } from "../fn" - return - } +const InfoWrapper = createOnlyOAS31ComponentWrapper(({ getSystem }) => { + const system = getSystem() + const OAS31Info = system.getComponent("OAS31Info", true) - return -} + return +}) export default InfoWrapper diff --git a/src/core/plugins/oas31/wrap-components/license.jsx b/src/core/plugins/oas31/wrap-components/license.jsx index 3d2a2bba..45319bef 100644 --- a/src/core/plugins/oas31/wrap-components/license.jsx +++ b/src/core/plugins/oas31/wrap-components/license.jsx @@ -3,14 +3,13 @@ */ import React from "react" -const LicenseWrapper = (Original, system) => (props) => { - if (system.specSelectors.isOAS31()) { - const OAS31License = system.getComponent("OAS31License", true) +import { createOnlyOAS31ComponentWrapper } from "../fn" - return - } +const LicenseWrapper = createOnlyOAS31ComponentWrapper(({ getSystem }) => { + const system = getSystem() + const OAS31License = system.getComponent("OAS31License", true) - return -} + return +}) export default LicenseWrapper diff --git a/src/core/plugins/oas31/wrap-components/version-stamp.jsx b/src/core/plugins/oas31/wrap-components/version-stamp.jsx index 6af4017e..5254343f 100644 --- a/src/core/plugins/oas31/wrap-components/version-stamp.jsx +++ b/src/core/plugins/oas31/wrap-components/version-stamp.jsx @@ -3,19 +3,17 @@ */ import React from "react" -const VersionStampWrapper = (Original, system) => (props) => { - if (system.specSelectors.isOAS31()) { - return ( - - - -
OAS 3.1
-
-
- ) - } +import { createOnlyOAS31ComponentWrapper } from "../fn" - return -} +const VersionStampWrapper = createOnlyOAS31ComponentWrapper( + ({ originalComponent: Original, ...restProps }) => ( + + + +
OAS 3.1
+
+
+ ) +) export default VersionStampWrapper