feat(json-schema): expose API that generates examples from JSON Schema (#9190)
This allows to use the samples API in a static way without fully instantiating SwaggerUI. Refs #9188
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
/**
|
||||
* @prettier
|
||||
*/
|
||||
const makeGetSampleSchema =
|
||||
(getSystem) =>
|
||||
(schema, contentType = "", config = {}, exampleOverride = undefined) => {
|
||||
const { fn } = getSystem()
|
||||
|
||||
if (typeof schema?.toJS === "function") {
|
||||
schema = schema.toJS()
|
||||
}
|
||||
if (typeof exampleOverride?.toJS === "function") {
|
||||
exampleOverride = exampleOverride.toJS()
|
||||
}
|
||||
|
||||
if (/xml/.test(contentType)) {
|
||||
return fn.getXmlSampleSchema(schema, config, exampleOverride)
|
||||
}
|
||||
if (/(yaml|yml)/.test(contentType)) {
|
||||
return fn.getYamlSampleSchema(
|
||||
schema,
|
||||
config,
|
||||
contentType,
|
||||
exampleOverride
|
||||
)
|
||||
}
|
||||
return fn.getJsonSampleSchema(schema, config, contentType, exampleOverride)
|
||||
}
|
||||
|
||||
export default makeGetSampleSchema
|
||||
Reference in New Issue
Block a user