diff --git a/flavors/swagger-ui-react/index.jsx b/flavors/swagger-ui-react/index.jsx
index 00b20801..0c5ec434 100644
--- a/flavors/swagger-ui-react/index.jsx
+++ b/flavors/swagger-ui-react/index.jsx
@@ -169,6 +169,7 @@ SwaggerUI.defaultProps = {
oauth2RedirectUrl: undefined,
}
+SwaggerUI.System = SwaggerUIConstructor.System
SwaggerUI.presets = SwaggerUIConstructor.presets
SwaggerUI.plugins = SwaggerUIConstructor.plugins
diff --git a/src/core/index.js b/src/core/index.js
index df2bc2cb..4c50796d 100644
--- a/src/core/index.js
+++ b/src/core/index.js
@@ -12,13 +12,14 @@ import ErrPlugin from "./plugins/err"
import FilterPlugin from "./plugins/filter"
import IconsPlugin from "./plugins/icons"
import JSONSchema202012Plugin from "./plugins/json-schema-2020-12"
+import JSONSchema202012SamplesPlugin from "./plugins/json-schema-2020-12-samples"
import LayoutPlugin from "./plugins/layout"
import LogsPlugin from "./plugins/logs"
import OpenAPI30Plugin from "./plugins/oas3"
import OpenAPI31Plugin from "./plugins/oas3"
import OnCompletePlugin from "./plugins/on-complete"
import RequestSnippetsPlugin from "./plugins/request-snippets"
-import SamplesPlugin from "./plugins/samples"
+import JSONSchema5SamplesPlugin from "./plugins/json-schema-5-samples"
import SpecPlugin from "./plugins/spec"
import SwaggerClientPlugin from "./plugins/swagger-client"
import UtilPlugin from "./plugins/util"
@@ -239,6 +240,8 @@ export default function SwaggerUI(opts) {
return system
}
+SwaggerUI.System = System
+
SwaggerUI.presets = {
base: BasePreset,
apis: ApisPreset,
@@ -251,14 +254,15 @@ SwaggerUI.plugins = {
Err: ErrPlugin,
Filter: FilterPlugin,
Icons: IconsPlugin,
+ JSONSchema5Samples: JSONSchema5SamplesPlugin,
JSONSchema202012: JSONSchema202012Plugin,
+ JSONSchema202012Samples: JSONSchema202012SamplesPlugin,
Layout: LayoutPlugin,
Logs: LogsPlugin,
OpenAPI30: OpenAPI30Plugin,
OpenAPI31: OpenAPI31Plugin,
OnComplete: OnCompletePlugin,
RequestSnippets: RequestSnippetsPlugin,
- Samples: SamplesPlugin,
Spec: SpecPlugin,
SwaggerClient: SwaggerClientPlugin,
Util: UtilPlugin,
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/api/encoderAPI.js b/src/core/plugins/json-schema-2020-12-samples/fn/api/encoderAPI.js
similarity index 78%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/api/encoderAPI.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/api/encoderAPI.js
index 4d4ee996..81e408da 100644
--- a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/api/encoderAPI.js
+++ b/src/core/plugins/json-schema-2020-12-samples/fn/api/encoderAPI.js
@@ -2,7 +2,7 @@
* @prettier
*/
-import EncoderRegistry from "core/plugins/json-schema-2020-12/samples-extensions/fn/class/EncoderRegistry"
+import EncoderRegistry from "../class/EncoderRegistry"
const registry = new EncoderRegistry()
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/api/formatAPI.js b/src/core/plugins/json-schema-2020-12-samples/fn/api/formatAPI.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/api/formatAPI.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/api/formatAPI.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/api/mediaTypeAPI.js b/src/core/plugins/json-schema-2020-12-samples/fn/api/mediaTypeAPI.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/api/mediaTypeAPI.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/api/mediaTypeAPI.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/class/EncoderRegistry.js b/src/core/plugins/json-schema-2020-12-samples/fn/class/EncoderRegistry.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/class/EncoderRegistry.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/class/EncoderRegistry.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/class/MediaTypeRegistry.js b/src/core/plugins/json-schema-2020-12-samples/fn/class/MediaTypeRegistry.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/class/MediaTypeRegistry.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/class/MediaTypeRegistry.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/class/Registry.js b/src/core/plugins/json-schema-2020-12-samples/fn/class/Registry.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/class/Registry.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/class/Registry.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/core/constants.js b/src/core/plugins/json-schema-2020-12-samples/fn/core/constants.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/core/constants.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/core/constants.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/core/example.js b/src/core/plugins/json-schema-2020-12-samples/fn/core/example.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/core/example.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/core/example.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/core/merge.js b/src/core/plugins/json-schema-2020-12-samples/fn/core/merge.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/core/merge.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/core/merge.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/core/predicates.js b/src/core/plugins/json-schema-2020-12-samples/fn/core/predicates.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/core/predicates.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/core/predicates.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/core/random.js b/src/core/plugins/json-schema-2020-12-samples/fn/core/random.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/core/random.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/core/random.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/core/type.js b/src/core/plugins/json-schema-2020-12-samples/fn/core/type.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/core/type.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/core/type.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/core/utils.js b/src/core/plugins/json-schema-2020-12-samples/fn/core/utils.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/core/utils.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/core/utils.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/encoders/7bit.js b/src/core/plugins/json-schema-2020-12-samples/fn/encoders/7bit.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/encoders/7bit.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/encoders/7bit.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/encoders/8bit.js b/src/core/plugins/json-schema-2020-12-samples/fn/encoders/8bit.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/encoders/8bit.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/encoders/8bit.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/encoders/base16.js b/src/core/plugins/json-schema-2020-12-samples/fn/encoders/base16.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/encoders/base16.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/encoders/base16.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/encoders/base32.js b/src/core/plugins/json-schema-2020-12-samples/fn/encoders/base32.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/encoders/base32.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/encoders/base32.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/encoders/base64.js b/src/core/plugins/json-schema-2020-12-samples/fn/encoders/base64.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/encoders/base64.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/encoders/base64.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/encoders/binary.js b/src/core/plugins/json-schema-2020-12-samples/fn/encoders/binary.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/encoders/binary.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/encoders/binary.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/encoders/quoted-printable.js b/src/core/plugins/json-schema-2020-12-samples/fn/encoders/quoted-printable.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/encoders/quoted-printable.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/encoders/quoted-printable.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/date-time.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/date-time.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/date-time.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/date-time.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/date.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/date.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/date.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/date.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/double.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/double.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/double.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/double.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/duration.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/duration.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/duration.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/duration.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/email.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/email.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/email.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/email.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/float.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/float.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/float.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/float.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/hostname.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/hostname.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/hostname.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/hostname.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/idn-email.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/idn-email.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/idn-email.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/idn-email.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/idn-hostname.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/idn-hostname.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/idn-hostname.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/idn-hostname.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/int32.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/int32.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/int32.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/int32.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/int64.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/int64.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/int64.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/int64.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/ipv4.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/ipv4.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/ipv4.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/ipv4.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/ipv6.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/ipv6.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/ipv6.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/ipv6.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/iri-reference.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/iri-reference.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/iri-reference.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/iri-reference.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/iri.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/iri.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/iri.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/iri.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/json-pointer.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/json-pointer.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/json-pointer.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/json-pointer.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/media-types/application.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/application.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/media-types/application.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/application.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/media-types/audio.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/audio.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/media-types/audio.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/audio.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/media-types/image.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/image.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/media-types/image.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/image.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/media-types/text.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/text.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/media-types/text.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/text.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/media-types/video.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/video.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/media-types/video.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/media-types/video.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/password.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/password.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/password.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/password.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/regex.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/regex.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/regex.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/regex.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/relative-json-pointer.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/relative-json-pointer.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/relative-json-pointer.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/relative-json-pointer.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/time.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/time.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/time.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/time.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/uri-reference.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/uri-reference.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/uri-reference.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/uri-reference.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/uri-template.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/uri-template.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/uri-template.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/uri-template.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/uri.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/uri.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/uri.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/uri.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/uuid.js b/src/core/plugins/json-schema-2020-12-samples/fn/generators/uuid.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/generators/uuid.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/generators/uuid.js
diff --git a/src/core/plugins/json-schema-2020-12-samples/fn/get-json-sample-schema.js b/src/core/plugins/json-schema-2020-12-samples/fn/get-json-sample-schema.js
new file mode 100644
index 00000000..84e09f59
--- /dev/null
+++ b/src/core/plugins/json-schema-2020-12-samples/fn/get-json-sample-schema.js
@@ -0,0 +1,36 @@
+/**
+ * @prettier
+ */
+import some from "lodash/some"
+
+const shouldStringifyTypesConfig = [
+ {
+ when: /json/,
+ shouldStringifyTypes: ["string"],
+ },
+]
+const defaultStringifyTypes = ["object"]
+const makeGetJsonSampleSchema =
+ (getSystem) => (schema, config, contentType, exampleOverride) => {
+ const { fn } = getSystem()
+ const res = fn.jsonSchema202012.memoizedSampleFromSchema(
+ schema,
+ config,
+ exampleOverride
+ )
+ const resType = typeof res
+
+ const typesToStringify = shouldStringifyTypesConfig.reduce(
+ (types, nextConfig) =>
+ nextConfig.when.test(contentType)
+ ? [...types, ...nextConfig.shouldStringifyTypes]
+ : types,
+ defaultStringifyTypes
+ )
+
+ return some(typesToStringify, (x) => x === resType)
+ ? JSON.stringify(res, null, 2)
+ : res
+ }
+
+export default makeGetJsonSampleSchema
diff --git a/src/core/plugins/json-schema-2020-12-samples/fn/get-sample-schema.js b/src/core/plugins/json-schema-2020-12-samples/fn/get-sample-schema.js
new file mode 100644
index 00000000..ea3063af
--- /dev/null
+++ b/src/core/plugins/json-schema-2020-12-samples/fn/get-sample-schema.js
@@ -0,0 +1,39 @@
+/**
+ * @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.jsonSchema202012.getXmlSampleSchema(
+ schema,
+ config,
+ exampleOverride
+ )
+ }
+ if (/(yaml|yml)/.test(contentType)) {
+ return fn.jsonSchema202012.getYamlSampleSchema(
+ schema,
+ config,
+ contentType,
+ exampleOverride
+ )
+ }
+ return fn.jsonSchema202012.getJsonSampleSchema(
+ schema,
+ config,
+ contentType,
+ exampleOverride
+ )
+ }
+
+export default makeGetSampleSchema
diff --git a/src/core/plugins/json-schema-2020-12-samples/fn/get-xml-sample-schema.js b/src/core/plugins/json-schema-2020-12-samples/fn/get-xml-sample-schema.js
new file mode 100644
index 00000000..d2c67a5c
--- /dev/null
+++ b/src/core/plugins/json-schema-2020-12-samples/fn/get-xml-sample-schema.js
@@ -0,0 +1,35 @@
+/**
+ * @prettier
+ */
+const makeGetXmlSampleSchema =
+ (getSystem) => (schema, config, exampleOverride) => {
+ const { fn } = getSystem()
+
+ if (schema && !schema.xml) {
+ schema.xml = {}
+ }
+ if (schema && !schema.xml.name) {
+ if (
+ !schema.$$ref &&
+ (schema.type ||
+ schema.items ||
+ schema.properties ||
+ schema.additionalProperties)
+ ) {
+ // eslint-disable-next-line quotes
+ return '\n'
+ }
+ if (schema.$$ref) {
+ let match = schema.$$ref.match(/\S*\/(\S+)$/)
+ schema.xml.name = match[1]
+ }
+ }
+
+ return fn.jsonSchema202012.memoizedCreateXMLExample(
+ schema,
+ config,
+ exampleOverride
+ )
+ }
+
+export default makeGetXmlSampleSchema
diff --git a/src/core/plugins/json-schema-2020-12-samples/fn/get-yaml-sample-schema.js b/src/core/plugins/json-schema-2020-12-samples/fn/get-yaml-sample-schema.js
new file mode 100644
index 00000000..2976c33c
--- /dev/null
+++ b/src/core/plugins/json-schema-2020-12-samples/fn/get-yaml-sample-schema.js
@@ -0,0 +1,34 @@
+/**
+ * @prettier
+ */
+import YAML, { JSON_SCHEMA } from "js-yaml"
+
+const makeGetYamlSampleSchema =
+ (getSystem) => (schema, config, contentType, exampleOverride) => {
+ const { fn } = getSystem()
+ const jsonExample = fn.jsonSchema202012.getJsonSampleSchema(
+ schema,
+ config,
+ contentType,
+ exampleOverride
+ )
+ let yamlString
+ try {
+ yamlString = YAML.dump(
+ YAML.load(jsonExample),
+ {
+ lineWidth: -1, // don't generate line folds
+ },
+ { schema: JSON_SCHEMA }
+ )
+ if (yamlString[yamlString.length - 1] === "\n") {
+ yamlString = yamlString.slice(0, yamlString.length - 1)
+ }
+ } catch (e) {
+ console.error(e)
+ return "error: could not generate yaml example"
+ }
+ return yamlString.replace(/\t/g, " ")
+ }
+
+export default makeGetYamlSampleSchema
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/index.js b/src/core/plugins/json-schema-2020-12-samples/fn/index.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/index.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/index.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/main.js b/src/core/plugins/json-schema-2020-12-samples/fn/main.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/main.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/main.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/types/array.js b/src/core/plugins/json-schema-2020-12-samples/fn/types/array.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/types/array.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/types/array.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/types/boolean.js b/src/core/plugins/json-schema-2020-12-samples/fn/types/boolean.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/types/boolean.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/types/boolean.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/types/index.js b/src/core/plugins/json-schema-2020-12-samples/fn/types/index.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/types/index.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/types/index.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/types/integer.js b/src/core/plugins/json-schema-2020-12-samples/fn/types/integer.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/types/integer.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/types/integer.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/types/null.js b/src/core/plugins/json-schema-2020-12-samples/fn/types/null.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/types/null.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/types/null.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/types/number.js b/src/core/plugins/json-schema-2020-12-samples/fn/types/number.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/types/number.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/types/number.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/types/object.js b/src/core/plugins/json-schema-2020-12-samples/fn/types/object.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/types/object.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/types/object.js
diff --git a/src/core/plugins/json-schema-2020-12/samples-extensions/fn/types/string.js b/src/core/plugins/json-schema-2020-12-samples/fn/types/string.js
similarity index 100%
rename from src/core/plugins/json-schema-2020-12/samples-extensions/fn/types/string.js
rename to src/core/plugins/json-schema-2020-12-samples/fn/types/string.js
diff --git a/src/core/plugins/json-schema-2020-12-samples/index.js b/src/core/plugins/json-schema-2020-12-samples/index.js
new file mode 100644
index 00000000..eb60b4ac
--- /dev/null
+++ b/src/core/plugins/json-schema-2020-12-samples/index.js
@@ -0,0 +1,45 @@
+/**
+ * @prettier
+ */
+import {
+ sampleFromSchema,
+ sampleFromSchemaGeneric,
+ createXMLExample,
+ memoizedSampleFromSchema,
+ memoizedCreateXMLExample,
+ encoderAPI,
+ mediaTypeAPI,
+ formatAPI,
+} from "./fn/index"
+import makeGetJsonSampleSchema from "./fn/get-json-sample-schema"
+import makeGetYamlSampleSchema from "./fn/get-yaml-sample-schema"
+import makeGetXmlSampleSchema from "./fn/get-xml-sample-schema"
+import makeGetSampleSchema from "./fn/get-sample-schema"
+
+const JSONSchema202012SamplesPlugin = ({ getSystem }) => {
+ const getJsonSampleSchema = makeGetJsonSampleSchema(getSystem)
+ const getYamlSampleSchema = makeGetYamlSampleSchema(getSystem)
+ const getXmlSampleSchema = makeGetXmlSampleSchema(getSystem)
+ const getSampleSchema = makeGetSampleSchema(getSystem)
+
+ return {
+ fn: {
+ jsonSchema202012: {
+ sampleFromSchema,
+ sampleFromSchemaGeneric,
+ sampleEncoderAPI: encoderAPI,
+ sampleFormatAPI: formatAPI,
+ sampleMediaTypeAPI: mediaTypeAPI,
+ createXMLExample,
+ memoizedSampleFromSchema,
+ memoizedCreateXMLExample,
+ getJsonSampleSchema,
+ getYamlSampleSchema,
+ getXmlSampleSchema,
+ getSampleSchema,
+ },
+ },
+ }
+}
+
+export default JSONSchema202012SamplesPlugin
diff --git a/src/core/plugins/json-schema-2020-12/index.js b/src/core/plugins/json-schema-2020-12/index.js
index aceee751..816357e3 100644
--- a/src/core/plugins/json-schema-2020-12/index.js
+++ b/src/core/plugins/json-schema-2020-12/index.js
@@ -44,16 +44,6 @@ import Accordion from "./components/Accordion/Accordion"
import ExpandDeepButton from "./components/ExpandDeepButton/ExpandDeepButton"
import ChevronRightIcon from "./components/icons/ChevronRight"
import { upperFirst, hasKeyword, isExpandable } from "./fn"
-import {
- sampleFromSchema,
- sampleFromSchemaGeneric,
- createXMLExample,
- memoizedSampleFromSchema,
- memoizedCreateXMLExample,
- encoderAPI,
- mediaTypeAPI,
- formatAPI,
-} from "./samples-extensions/fn/index"
import { JSONSchemaDeepExpansionContext } from "./context"
import { useFn, useConfig, useComponent, useIsExpandedDeeply } from "./hooks"
import { withJSONSchemaContext } from "./hoc"
@@ -114,14 +104,6 @@ const JSONSchema202012Plugin = () => ({
useConfig,
useComponent,
useIsExpandedDeeply,
- sampleFromSchema,
- sampleFromSchemaGeneric,
- sampleEncoderAPI: encoderAPI,
- sampleFormatAPI: formatAPI,
- sampleMediaTypeAPI: mediaTypeAPI,
- createXMLExample,
- memoizedSampleFromSchema,
- memoizedCreateXMLExample,
},
},
})
diff --git a/src/core/plugins/samples/fn/get-json-sample-schema.js b/src/core/plugins/json-schema-5-samples/fn/get-json-sample-schema.js
similarity index 100%
rename from src/core/plugins/samples/fn/get-json-sample-schema.js
rename to src/core/plugins/json-schema-5-samples/fn/get-json-sample-schema.js
diff --git a/src/core/plugins/samples/fn/get-sample-schema.js b/src/core/plugins/json-schema-5-samples/fn/get-sample-schema.js
similarity index 100%
rename from src/core/plugins/samples/fn/get-sample-schema.js
rename to src/core/plugins/json-schema-5-samples/fn/get-sample-schema.js
diff --git a/src/core/plugins/samples/fn/get-xml-sample-schema.js b/src/core/plugins/json-schema-5-samples/fn/get-xml-sample-schema.js
similarity index 100%
rename from src/core/plugins/samples/fn/get-xml-sample-schema.js
rename to src/core/plugins/json-schema-5-samples/fn/get-xml-sample-schema.js
diff --git a/src/core/plugins/samples/fn/get-yaml-sample-schema.js b/src/core/plugins/json-schema-5-samples/fn/get-yaml-sample-schema.js
similarity index 100%
rename from src/core/plugins/samples/fn/get-yaml-sample-schema.js
rename to src/core/plugins/json-schema-5-samples/fn/get-yaml-sample-schema.js
diff --git a/src/core/plugins/samples/fn/index.js b/src/core/plugins/json-schema-5-samples/fn/index.js
similarity index 100%
rename from src/core/plugins/samples/fn/index.js
rename to src/core/plugins/json-schema-5-samples/fn/index.js
diff --git a/src/core/plugins/json-schema-5-samples/index.js b/src/core/plugins/json-schema-5-samples/index.js
new file mode 100644
index 00000000..aaabf231
--- /dev/null
+++ b/src/core/plugins/json-schema-5-samples/index.js
@@ -0,0 +1,51 @@
+/**
+ * @prettier
+ */
+import {
+ sampleFromSchema,
+ inferSchema,
+ sampleFromSchemaGeneric,
+ createXMLExample,
+ memoizedCreateXMLExample,
+ memoizedSampleFromSchema,
+} from "./fn/index"
+import makeGetJsonSampleSchema from "./fn/get-json-sample-schema"
+import makeGetYamlSampleSchema from "./fn/get-yaml-sample-schema"
+import makeGetXmlSampleSchema from "./fn/get-xml-sample-schema"
+import makeGetSampleSchema from "./fn/get-sample-schema"
+
+const JSONSchema5SamplesPlugin = ({ getSystem }) => {
+ const getJsonSampleSchema = makeGetJsonSampleSchema(getSystem)
+ const getYamlSampleSchema = makeGetYamlSampleSchema(getSystem)
+ const getXmlSampleSchema = makeGetXmlSampleSchema(getSystem)
+ const getSampleSchema = makeGetSampleSchema(getSystem)
+
+ return {
+ fn: {
+ jsonSchema5: {
+ inferSchema,
+ sampleFromSchema,
+ sampleFromSchemaGeneric,
+ createXMLExample,
+ memoizedSampleFromSchema,
+ memoizedCreateXMLExample,
+ getJsonSampleSchema,
+ getYamlSampleSchema,
+ getXmlSampleSchema,
+ getSampleSchema,
+ },
+ inferSchema,
+ sampleFromSchema,
+ sampleFromSchemaGeneric,
+ createXMLExample,
+ memoizedSampleFromSchema,
+ memoizedCreateXMLExample,
+ getJsonSampleSchema,
+ getYamlSampleSchema,
+ getXmlSampleSchema,
+ getSampleSchema,
+ },
+ }
+}
+
+export default JSONSchema5SamplesPlugin
diff --git a/src/core/plugins/samples/index.js b/src/core/plugins/samples/index.js
deleted file mode 100644
index cb56c2db..00000000
--- a/src/core/plugins/samples/index.js
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * @prettier
- */
-import {
- sampleFromSchema,
- inferSchema,
- sampleFromSchemaGeneric,
- createXMLExample,
- memoizedCreateXMLExample,
- memoizedSampleFromSchema,
-} from "./fn/index"
-import makeGetJsonSampleSchema from "./fn/get-json-sample-schema"
-import makeGetYamlSampleSchema from "./fn/get-yaml-sample-schema"
-import makeGetXmlSampleSchema from "./fn/get-xml-sample-schema"
-import makeGetSampleSchema from "./fn/get-sample-schema"
-
-const SamplesPlugin = ({ getSystem }) => ({
- fn: {
- inferSchema,
- sampleFromSchema,
- sampleFromSchemaGeneric,
- createXMLExample,
- memoizedSampleFromSchema,
- memoizedCreateXMLExample,
- getJsonSampleSchema: makeGetJsonSampleSchema(getSystem),
- getYamlSampleSchema: makeGetYamlSampleSchema(getSystem),
- getXmlSampleSchema: makeGetXmlSampleSchema(getSystem),
- getSampleSchema: makeGetSampleSchema(getSystem),
- },
-})
-
-export default SamplesPlugin
diff --git a/src/core/presets/apis/index.js b/src/core/presets/apis/index.js
index a2966ba5..74d0e802 100644
--- a/src/core/presets/apis/index.js
+++ b/src/core/presets/apis/index.js
@@ -5,7 +5,14 @@ import BasePreset from "core/presets/base"
import OpenAPI30Plugin from "core/plugins/oas3"
import OpenAPI31Plugin from "core/plugins/oas31"
import JSONSchema202012Plugin from "core/plugins/json-schema-2020-12"
+import JSONSchema202012SamplesPlugin from "core/plugins/json-schema-2020-12-samples"
export default function PresetApis() {
- return [BasePreset, OpenAPI30Plugin, JSONSchema202012Plugin, OpenAPI31Plugin]
+ return [
+ BasePreset,
+ OpenAPI30Plugin,
+ JSONSchema202012Plugin,
+ JSONSchema202012SamplesPlugin,
+ OpenAPI31Plugin,
+ ]
}
diff --git a/src/core/presets/base/index.js b/src/core/presets/base/index.js
index 1fdc49c9..30843c30 100644
--- a/src/core/presets/base/index.js
+++ b/src/core/presets/base/index.js
@@ -11,7 +11,7 @@ import LayoutPlugin from "core/plugins/layout"
import LogsPlugin from "core/plugins/logs"
import OnCompletePlugin from "core/plugins/on-complete"
import RequestSnippetsPlugin from "core/plugins/request-snippets"
-import SamplesPlugin from "core/plugins/samples"
+import JSONSchema5SamplesPlugin from "core/plugins/json-schema-5-samples"
import SpecPlugin from "core/plugins/spec"
import SwaggerClientPlugin from "core/plugins/swagger-client"
import UtilPlugin from "core/plugins/util"
@@ -32,7 +32,7 @@ const BasePreset = () => [
ErrPlugin,
IconsPlugin,
LayoutPlugin,
- SamplesPlugin,
+ JSONSchema5SamplesPlugin,
CoreComponentsPlugin,
FormComponentsPlugin,
SwaggerClientPlugin,
diff --git a/test/unit/bugs/4557-default-parameter-values.jsx b/test/unit/bugs/4557-default-parameter-values.jsx
index 3cba3fb4..c2a65a37 100644
--- a/test/unit/bugs/4557-default-parameter-values.jsx
+++ b/test/unit/bugs/4557-default-parameter-values.jsx
@@ -9,11 +9,11 @@ import ParameterRow from "core/components/parameter-row"
import {
memoizedSampleFromSchema,
memoizedCreateXMLExample,
-} from "core/plugins/samples/fn/index"
-import makeGetSampleSchema from "core/plugins/samples/fn/get-sample-schema"
-import makeGetJsonSampleSchema from "core/plugins/samples/fn/get-json-sample-schema"
-import makeGetYamlSampleSchema from "core/plugins/samples/fn/get-yaml-sample-schema"
-import makeGetXmlSampleSchema from "core/plugins/samples/fn/get-xml-sample-schema"
+} from "core/plugins/json-schema-5-samples/fn/index"
+import makeGetSampleSchema from "core/plugins/json-schema-5-samples/fn/get-sample-schema"
+import makeGetJsonSampleSchema from "core/plugins/json-schema-5-samples/fn/get-json-sample-schema"
+import makeGetYamlSampleSchema from "core/plugins/json-schema-5-samples/fn/get-yaml-sample-schema"
+import makeGetXmlSampleSchema from "core/plugins/json-schema-5-samples/fn/get-xml-sample-schema"
describe("bug #4557: default parameter values", function () {
it("should apply a Swagger 2.0 default value", function () {
diff --git a/test/unit/components/parameter-row.jsx b/test/unit/components/parameter-row.jsx
index fca9b3a8..d266cb9b 100644
--- a/test/unit/components/parameter-row.jsx
+++ b/test/unit/components/parameter-row.jsx
@@ -9,11 +9,11 @@ import ParameterRow from "core/components/parameter-row"
import {
memoizedSampleFromSchema,
memoizedCreateXMLExample,
-} from "core/plugins/samples/fn/index"
-import makeGetSampleSchema from "core/plugins/samples/fn/get-sample-schema"
-import makeGetJsonSampleSchema from "core/plugins/samples/fn/get-json-sample-schema"
-import makeGetYamlSampleSchema from "core/plugins/samples/fn/get-yaml-sample-schema"
-import makeGetXmlSampleSchema from "core/plugins/samples/fn/get-xml-sample-schema"
+} from "core/plugins/json-schema-5-samples/fn/index"
+import makeGetSampleSchema from "core/plugins/json-schema-5-samples/fn/get-sample-schema"
+import makeGetJsonSampleSchema from "core/plugins/json-schema-5-samples/fn/get-json-sample-schema"
+import makeGetYamlSampleSchema from "core/plugins/json-schema-5-samples/fn/get-yaml-sample-schema"
+import makeGetXmlSampleSchema from "core/plugins/json-schema-5-samples/fn/get-xml-sample-schema"
describe("", () => {
const createProps = ({ param, isOAS3 }) => {
diff --git a/test/unit/components/response.jsx b/test/unit/components/response.jsx
index f82ab050..626b16ab 100644
--- a/test/unit/components/response.jsx
+++ b/test/unit/components/response.jsx
@@ -11,11 +11,11 @@ import {
inferSchema,
memoizedSampleFromSchema,
memoizedCreateXMLExample,
-} from "core/plugins/samples/fn/index"
-import makeGetSampleSchema from "core/plugins/samples/fn/get-sample-schema"
-import makeGetJsonSampleSchema from "core/plugins/samples/fn/get-json-sample-schema"
-import makeGetYamlSampleSchema from "core/plugins/samples/fn/get-yaml-sample-schema"
-import makeGetXmlSampleSchema from "core/plugins/samples/fn/get-xml-sample-schema"
+} from "core/plugins/json-schema-5-samples/fn/index"
+import makeGetSampleSchema from "core/plugins/json-schema-5-samples/fn/get-sample-schema"
+import makeGetJsonSampleSchema from "core/plugins/json-schema-5-samples/fn/get-json-sample-schema"
+import makeGetYamlSampleSchema from "core/plugins/json-schema-5-samples/fn/get-yaml-sample-schema"
+import makeGetXmlSampleSchema from "core/plugins/json-schema-5-samples/fn/get-xml-sample-schema"
describe("", function () {
const dummyComponent = () => null
diff --git a/test/unit/core/plugins/json-schema-2020-12/samples-extensions/fn.js b/test/unit/core/plugins/json-schema-2020-12-samples/fn.js
similarity index 99%
rename from test/unit/core/plugins/json-schema-2020-12/samples-extensions/fn.js
rename to test/unit/core/plugins/json-schema-2020-12-samples/fn.js
index 936e3f9d..5d49a061 100644
--- a/test/unit/core/plugins/json-schema-2020-12/samples-extensions/fn.js
+++ b/test/unit/core/plugins/json-schema-2020-12-samples/fn.js
@@ -8,7 +8,7 @@ import {
sampleFromSchema,
memoizedCreateXMLExample,
memoizedSampleFromSchema,
-} from "core/plugins/json-schema-2020-12/samples-extensions/fn"
+} from "core/plugins/json-schema-2020-12-samples/fn"
describe("sampleFromSchema", () => {
it("should return appropriate example for primitive types + format", function () {
diff --git a/test/unit/core/plugins/samples/fn/get-sample-schema.js b/test/unit/core/plugins/json-schema-2020-12-samples/get-sample-schema.js
similarity index 82%
rename from test/unit/core/plugins/samples/fn/get-sample-schema.js
rename to test/unit/core/plugins/json-schema-2020-12-samples/get-sample-schema.js
index 581dba0d..9a2f1dfc 100644
--- a/test/unit/core/plugins/samples/fn/get-sample-schema.js
+++ b/test/unit/core/plugins/json-schema-2020-12-samples/get-sample-schema.js
@@ -4,21 +4,23 @@
import {
memoizedSampleFromSchema,
memoizedCreateXMLExample,
-} from "core/plugins/samples/fn/index"
-import makeGetSampleSchema from "core/plugins/samples/fn/get-sample-schema"
-import makeGetJsonSampleSchema from "core/plugins/samples/fn/get-json-sample-schema"
-import makeGetYamlSampleSchema from "core/plugins/samples/fn/get-yaml-sample-schema"
-import makeGetXmlSampleSchema from "core/plugins/samples/fn/get-xml-sample-schema"
+} from "core/plugins/json-schema-2020-12-samples/fn/index"
+import makeGetSampleSchema from "core/plugins/json-schema-2020-12-samples/fn/get-sample-schema"
+import makeGetJsonSampleSchema from "core/plugins/json-schema-2020-12-samples/fn/get-json-sample-schema"
+import makeGetYamlSampleSchema from "core/plugins/json-schema-2020-12-samples/fn/get-yaml-sample-schema"
+import makeGetXmlSampleSchema from "core/plugins/json-schema-2020-12-samples/fn/get-xml-sample-schema"
describe("getSampleSchema", () => {
const oriDate = Date
const getSystem = () => ({
fn: {
- memoizedSampleFromSchema,
- memoizedCreateXMLExample,
- getJsonSampleSchema: makeGetJsonSampleSchema(getSystem),
- getYamlSampleSchema: makeGetYamlSampleSchema(getSystem),
- getXmlSampleSchema: makeGetXmlSampleSchema(getSystem),
+ jsonSchema202012: {
+ memoizedSampleFromSchema,
+ memoizedCreateXMLExample,
+ getJsonSampleSchema: makeGetJsonSampleSchema(getSystem),
+ getYamlSampleSchema: makeGetYamlSampleSchema(getSystem),
+ getXmlSampleSchema: makeGetXmlSampleSchema(getSystem),
+ },
},
})
const getSampleSchema = makeGetSampleSchema(getSystem)
diff --git a/test/unit/core/plugins/json-schema-2020-12/samples-extensions/get-sample-schema.js b/test/unit/core/plugins/json-schema-5-samples/fn/get-sample-schema.js
similarity index 89%
rename from test/unit/core/plugins/json-schema-2020-12/samples-extensions/get-sample-schema.js
rename to test/unit/core/plugins/json-schema-5-samples/fn/get-sample-schema.js
index dd4332d7..f08c4c0a 100644
--- a/test/unit/core/plugins/json-schema-2020-12/samples-extensions/get-sample-schema.js
+++ b/test/unit/core/plugins/json-schema-5-samples/fn/get-sample-schema.js
@@ -4,11 +4,11 @@
import {
memoizedSampleFromSchema,
memoizedCreateXMLExample,
-} from "core/plugins/json-schema-2020-12/samples-extensions/fn"
-import makeGetSampleSchema from "core/plugins/samples/fn/get-sample-schema"
-import makeGetJsonSampleSchema from "core/plugins/samples/fn/get-json-sample-schema"
-import makeGetYamlSampleSchema from "core/plugins/samples/fn/get-yaml-sample-schema"
-import makeGetXmlSampleSchema from "core/plugins/samples/fn/get-xml-sample-schema"
+} from "core/plugins/json-schema-5-samples/fn/index"
+import makeGetSampleSchema from "core/plugins/json-schema-5-samples/fn/get-sample-schema"
+import makeGetJsonSampleSchema from "core/plugins/json-schema-5-samples/fn/get-json-sample-schema"
+import makeGetYamlSampleSchema from "core/plugins/json-schema-5-samples/fn/get-yaml-sample-schema"
+import makeGetXmlSampleSchema from "core/plugins/json-schema-5-samples/fn/get-xml-sample-schema"
describe("getSampleSchema", () => {
const oriDate = Date
diff --git a/test/unit/core/plugins/samples/fn/index.js b/test/unit/core/plugins/json-schema-5-samples/fn/index.js
similarity index 99%
rename from test/unit/core/plugins/samples/fn/index.js
rename to test/unit/core/plugins/json-schema-5-samples/fn/index.js
index f4e0c686..1dfdb3d3 100644
--- a/test/unit/core/plugins/samples/fn/index.js
+++ b/test/unit/core/plugins/json-schema-5-samples/fn/index.js
@@ -1,5 +1,5 @@
import { fromJS } from "immutable"
-import { createXMLExample, sampleFromSchema, memoizedCreateXMLExample, memoizedSampleFromSchema } from "core/plugins/samples/fn/index"
+import { createXMLExample, sampleFromSchema, memoizedCreateXMLExample, memoizedSampleFromSchema } from "core/plugins/json-schema-5-samples/fn/index"
describe("sampleFromSchema", () => {
it("handles Immutable.js objects for nested schemas", function () {