feat(json-schema-2020-12): add initial rendering engine

Refs #8513
This commit is contained in:
Vladimir Gorej
2023-04-12 17:09:35 +02:00
committed by Vladimír Gorej
parent dbd8931161
commit ab1842083d
17 changed files with 311 additions and 1 deletions

View File

@@ -0,0 +1,41 @@
/**
* @prettier
*/
import React from "react"
import JSONSchema from "./components/JSONSchema/JSONSchema"
import BooleanJSONSchema from "./components/BooleanJSONSchema/BooleanJSONSchema"
import JSONSchemaContext from "./context"
import { getTitle, isBooleanJSONSchema, upperFirst } from "./fn"
export const withJSONSchemaContext = (Component, overrides = {}) => {
const value = {
components: {
JSONSchema,
BooleanJSONSchema,
...overrides.components,
},
config: {
default$schema: "https://json-schema.org/draft/2020-12/schema",
...overrides.config,
},
fn: {
upperFirst,
getTitle,
isBooleanJSONSchema,
...overrides.fn,
},
}
const HOC = (props) => (
<JSONSchemaContext.Provider value={value}>
<Component {...props} />
</JSONSchemaContext.Provider>
)
HOC.contexts = {
JSONSchemaContext,
}
HOC.displayName = Component.displayName
return HOC
}