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