feat(json-schema-2020-12-sample): introduce option API (#9795)
Refs #9739
This commit is contained in:
@@ -0,0 +1,17 @@
|
|||||||
|
/**
|
||||||
|
* @prettier
|
||||||
|
*/
|
||||||
|
|
||||||
|
import OptionRegistry from "../class/OptionRegistry"
|
||||||
|
|
||||||
|
const registry = new OptionRegistry()
|
||||||
|
|
||||||
|
const optionAPI = (optionName, optionValue) => {
|
||||||
|
if (typeof optionValue !== "undefined") {
|
||||||
|
registry.register(optionName, optionValue)
|
||||||
|
}
|
||||||
|
|
||||||
|
return registry.get(optionName)
|
||||||
|
}
|
||||||
|
|
||||||
|
export default optionAPI
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
* @prettier
|
||||||
|
*/
|
||||||
|
import Registry from "./Registry"
|
||||||
|
|
||||||
|
class OptionRegistry extends Registry {
|
||||||
|
#defaults = {}
|
||||||
|
|
||||||
|
data = { ...this.#defaults }
|
||||||
|
|
||||||
|
get defaults() {
|
||||||
|
return { ...this.#defaults }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default OptionRegistry
|
||||||
@@ -8,6 +8,7 @@ export {
|
|||||||
memoizedSampleFromSchema,
|
memoizedSampleFromSchema,
|
||||||
memoizedCreateXMLExample,
|
memoizedCreateXMLExample,
|
||||||
} from "./main"
|
} from "./main"
|
||||||
|
export { default as optionAPI } from "./api/optionAPI"
|
||||||
export { default as encoderAPI } from "./api/encoderAPI"
|
export { default as encoderAPI } from "./api/encoderAPI"
|
||||||
export { default as formatAPI } from "./api/formatAPI"
|
export { default as formatAPI } from "./api/formatAPI"
|
||||||
export { default as mediaTypeAPI } from "./api/mediaTypeAPI"
|
export { default as mediaTypeAPI } from "./api/mediaTypeAPI"
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import {
|
|||||||
createXMLExample,
|
createXMLExample,
|
||||||
memoizedSampleFromSchema,
|
memoizedSampleFromSchema,
|
||||||
memoizedCreateXMLExample,
|
memoizedCreateXMLExample,
|
||||||
|
optionAPI,
|
||||||
encoderAPI,
|
encoderAPI,
|
||||||
mediaTypeAPI,
|
mediaTypeAPI,
|
||||||
formatAPI,
|
formatAPI,
|
||||||
@@ -28,6 +29,7 @@ const JSONSchema202012SamplesPlugin = ({ getSystem }) => {
|
|||||||
jsonSchema202012: {
|
jsonSchema202012: {
|
||||||
sampleFromSchema,
|
sampleFromSchema,
|
||||||
sampleFromSchemaGeneric,
|
sampleFromSchemaGeneric,
|
||||||
|
sampleOptionAPI: optionAPI,
|
||||||
sampleEncoderAPI: encoderAPI,
|
sampleEncoderAPI: encoderAPI,
|
||||||
sampleFormatAPI: formatAPI,
|
sampleFormatAPI: formatAPI,
|
||||||
sampleMediaTypeAPI: mediaTypeAPI,
|
sampleMediaTypeAPI: mediaTypeAPI,
|
||||||
|
|||||||
Reference in New Issue
Block a user