@speclynx/apidom-ns-json-schema-2020-12 1.12.1 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -0
- package/NOTICE +16 -7
- package/README.md +25 -27
- package/dist/apidom-ns-json-schema-2020-12.browser.js +1 -1
- package/package.json +10 -9
- package/src/elements/JSONSchema.mjs +0 -1
- package/src/index.cjs +8 -16
- package/src/index.mjs +3 -3
- package/src/predicates.cjs +4 -15
- package/src/predicates.mjs +2 -15
- package/src/refractor/index.cjs +38 -18
- package/src/refractor/index.mjs +33 -16
- package/src/refractor/inspect.cjs +43 -0
- package/src/refractor/inspect.mjs +37 -0
- package/src/refractor/plugins/replace-empty-element.cjs +35 -29
- package/src/refractor/plugins/replace-empty-element.mjs +14 -8
- package/src/refractor/specification.cjs +2 -2
- package/src/refractor/specification.mjs +2 -2
- package/src/refractor/toolbox.cjs +8 -3
- package/src/refractor/toolbox.mjs +6 -2
- package/src/refractor/visitors/json-schema/PrefixItemsVisitor.cjs +6 -6
- package/src/refractor/visitors/json-schema/PrefixItemsVisitor.mjs +6 -6
- package/types/apidom-ns-json-schema-2020-12.d.ts +81 -221
- package/src/refractor/registration.cjs +0 -13
- package/src/refractor/registration.mjs +0 -6
- package/src/traversal/visitor.cjs +0 -15
- package/src/traversal/visitor.mjs +0 -10
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { ArrayElement, ObjectElement,
|
|
1
|
+
import { ArrayElement, ObjectElement, isArrayElement, isElement, isMemberElement, isStringElement, includesClasses, cloneDeep, SourceMapElement } from '@speclynx/apidom-datamodel';
|
|
2
|
+
import { toValue } from '@speclynx/apidom-core';
|
|
3
|
+
import { getNodeType } from '@speclynx/apidom-traverse';
|
|
2
4
|
/**
|
|
3
5
|
* JSON Schema 2020-12 specification elements.
|
|
4
6
|
*/
|
|
5
7
|
import JSONSchemaElement from "../../elements/JSONSchema.mjs";
|
|
6
8
|
import LinkDescriptionElement from "../../elements/LinkDescription.mjs";
|
|
7
|
-
import { getNodeType } from "../../traversal/visitor.mjs";
|
|
8
9
|
/**
|
|
9
10
|
* This plugin is specific to YAML 1.2 format, which allows defining key-value pairs
|
|
10
11
|
* with empty key, empty value, or both. If the value is not provided in YAML format,
|
|
@@ -38,7 +39,7 @@ import { getNodeType } from "../../traversal/visitor.mjs";
|
|
|
38
39
|
* (StringElement)
|
|
39
40
|
* (JSONSchemaElement))
|
|
40
41
|
*/
|
|
41
|
-
const isEmptyElement = element => isStringElement(element) && includesClasses(['yaml-e-node', 'yaml-e-scalar']
|
|
42
|
+
const isEmptyElement = element => isStringElement(element) && includesClasses(element, ['yaml-e-node', 'yaml-e-scalar']);
|
|
42
43
|
const schema = {
|
|
43
44
|
JSONSchema202012Element: {
|
|
44
45
|
prefixItems(...args) {
|
|
@@ -231,9 +232,12 @@ const findElementFactory = (ancestor, keyName) => {
|
|
|
231
232
|
const plugin = () => () => {
|
|
232
233
|
return {
|
|
233
234
|
visitor: {
|
|
234
|
-
StringElement(
|
|
235
|
-
|
|
236
|
-
|
|
235
|
+
StringElement(path) {
|
|
236
|
+
const element = path.node;
|
|
237
|
+
if (!isEmptyElement(element)) return;
|
|
238
|
+
|
|
239
|
+
// getAncestorNodes() returns [parent, grandparent, ..., root], so reverse to get [root, ..., parent]
|
|
240
|
+
const lineage = path.getAncestorNodes().reverse().filter(isElement);
|
|
237
241
|
const parentElement = lineage.at(-1);
|
|
238
242
|
let elementFactory;
|
|
239
243
|
let context;
|
|
@@ -246,10 +250,12 @@ const plugin = () => () => {
|
|
|
246
250
|
}
|
|
247
251
|
|
|
248
252
|
// no element factory found
|
|
249
|
-
if (typeof elementFactory !== 'function') return
|
|
250
|
-
|
|
253
|
+
if (typeof elementFactory !== 'function') return;
|
|
254
|
+
const replacement = elementFactory.call({
|
|
251
255
|
context
|
|
252
256
|
}, undefined, cloneDeep(element.meta), cloneDeep(element.attributes));
|
|
257
|
+
SourceMapElement.transfer(element, replacement);
|
|
258
|
+
path.replaceWith(replacement);
|
|
253
259
|
}
|
|
254
260
|
}
|
|
255
261
|
};
|
|
@@ -10,7 +10,7 @@ var _PrefixItemsVisitor = _interopRequireDefault(require("./visitors/json-schema
|
|
|
10
10
|
var _index2 = _interopRequireDefault(require("./visitors/json-schema/link-description/index.cjs"));
|
|
11
11
|
const specification = (0, _ramda.pipe)(
|
|
12
12
|
// JSON Schema object modifications
|
|
13
|
-
(0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', '$visitor'], _index.default), (0, _ramda.dissocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', '$recursiveAnchor']), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', '$dynamicAnchor'], _apidomNsJsonSchema.specificationObj.visitors.value), (0, _ramda.dissocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', '$recursiveRef']), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', '$dynamicRef'], _apidomNsJsonSchema.specificationObj.visitors.value), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'not'], _index.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'if'], _index.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'then'], _index.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'else'], _index.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'prefixItems'], _PrefixItemsVisitor.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'items'], _index.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'contains'], _index.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'additionalProperties'], _index.default), (0, _ramda.dissocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'additionalItems']), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'propertyNames'], _index.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'unevaluatedItems'], _index.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'unevaluatedProperties'], _index.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'contentSchema'], _index.default),
|
|
13
|
+
(0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'element'], 'jSONSchema202012'), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', '$visitor'], _index.default), (0, _ramda.dissocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', '$recursiveAnchor']), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', '$dynamicAnchor'], _apidomNsJsonSchema.specificationObj.visitors.value), (0, _ramda.dissocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', '$recursiveRef']), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', '$dynamicRef'], _apidomNsJsonSchema.specificationObj.visitors.value), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'not'], _index.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'if'], _index.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'then'], _index.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'else'], _index.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'prefixItems'], _PrefixItemsVisitor.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'items'], _index.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'contains'], _index.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'additionalProperties'], _index.default), (0, _ramda.dissocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'additionalItems']), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'propertyNames'], _index.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'unevaluatedItems'], _index.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'unevaluatedProperties'], _index.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'contentSchema'], _index.default),
|
|
14
14
|
// Link Description object modifications
|
|
15
|
-
(0, _ramda.assocPath)(['visitors', 'document', 'objects', 'LinkDescription', '$visitor'], _index2.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'LinkDescription', 'fixedFields', 'targetSchema'], _index.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'LinkDescription', 'fixedFields', 'hrefSchema'], _index.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'LinkDescription', 'fixedFields', 'headerSchema'], _index.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'LinkDescription', 'fixedFields', 'submissionSchema'], _index.default))(_apidomNsJsonSchema.specificationObj);
|
|
15
|
+
(0, _ramda.assocPath)(['visitors', 'document', 'objects', 'LinkDescription', 'element'], 'linkDescription'), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'LinkDescription', '$visitor'], _index2.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'LinkDescription', 'fixedFields', 'targetSchema'], _index.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'LinkDescription', 'fixedFields', 'hrefSchema'], _index.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'LinkDescription', 'fixedFields', 'headerSchema'], _index.default), (0, _ramda.assocPath)(['visitors', 'document', 'objects', 'LinkDescription', 'fixedFields', 'submissionSchema'], _index.default))(_apidomNsJsonSchema.specificationObj);
|
|
16
16
|
var _default = exports.default = specification;
|
|
@@ -5,7 +5,7 @@ import JSONSchemaPrefixItemsVisitor from "./visitors/json-schema/PrefixItemsVisi
|
|
|
5
5
|
import JSONSchemaLinkDescriptionVisitor from "./visitors/json-schema/link-description/index.mjs";
|
|
6
6
|
const specification = pipe(
|
|
7
7
|
// JSON Schema object modifications
|
|
8
|
-
assocPath(['visitors', 'document', 'objects', 'JSONSchema', '$visitor'], JSONSchemaVisitor), dissocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', '$recursiveAnchor']), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', '$dynamicAnchor'], specificationObj.visitors.value), dissocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', '$recursiveRef']), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', '$dynamicRef'], specificationObj.visitors.value), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'not'], JSONSchemaVisitor), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'if'], JSONSchemaVisitor), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'then'], JSONSchemaVisitor), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'else'], JSONSchemaVisitor), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'prefixItems'], JSONSchemaPrefixItemsVisitor), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'items'], JSONSchemaVisitor), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'contains'], JSONSchemaVisitor), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'additionalProperties'], JSONSchemaVisitor), dissocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'additionalItems']), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'propertyNames'], JSONSchemaVisitor), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'unevaluatedItems'], JSONSchemaVisitor), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'unevaluatedProperties'], JSONSchemaVisitor), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'contentSchema'], JSONSchemaVisitor),
|
|
8
|
+
assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'element'], 'jSONSchema202012'), assocPath(['visitors', 'document', 'objects', 'JSONSchema', '$visitor'], JSONSchemaVisitor), dissocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', '$recursiveAnchor']), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', '$dynamicAnchor'], specificationObj.visitors.value), dissocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', '$recursiveRef']), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', '$dynamicRef'], specificationObj.visitors.value), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'not'], JSONSchemaVisitor), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'if'], JSONSchemaVisitor), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'then'], JSONSchemaVisitor), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'else'], JSONSchemaVisitor), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'prefixItems'], JSONSchemaPrefixItemsVisitor), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'items'], JSONSchemaVisitor), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'contains'], JSONSchemaVisitor), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'additionalProperties'], JSONSchemaVisitor), dissocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'additionalItems']), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'propertyNames'], JSONSchemaVisitor), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'unevaluatedItems'], JSONSchemaVisitor), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'unevaluatedProperties'], JSONSchemaVisitor), assocPath(['visitors', 'document', 'objects', 'JSONSchema', 'fixedFields', 'contentSchema'], JSONSchemaVisitor),
|
|
9
9
|
// Link Description object modifications
|
|
10
|
-
assocPath(['visitors', 'document', 'objects', 'LinkDescription', '$visitor'], JSONSchemaLinkDescriptionVisitor), assocPath(['visitors', 'document', 'objects', 'LinkDescription', 'fixedFields', 'targetSchema'], JSONSchemaVisitor), assocPath(['visitors', 'document', 'objects', 'LinkDescription', 'fixedFields', 'hrefSchema'], JSONSchemaVisitor), assocPath(['visitors', 'document', 'objects', 'LinkDescription', 'fixedFields', 'headerSchema'], JSONSchemaVisitor), assocPath(['visitors', 'document', 'objects', 'LinkDescription', 'fixedFields', 'submissionSchema'], JSONSchemaVisitor))(specificationObj);
|
|
10
|
+
assocPath(['visitors', 'document', 'objects', 'LinkDescription', 'element'], 'linkDescription'), assocPath(['visitors', 'document', 'objects', 'LinkDescription', '$visitor'], JSONSchemaLinkDescriptionVisitor), assocPath(['visitors', 'document', 'objects', 'LinkDescription', 'fixedFields', 'targetSchema'], JSONSchemaVisitor), assocPath(['visitors', 'document', 'objects', 'LinkDescription', 'fixedFields', 'hrefSchema'], JSONSchemaVisitor), assocPath(['visitors', 'document', 'objects', 'LinkDescription', 'fixedFields', 'headerSchema'], JSONSchemaVisitor), assocPath(['visitors', 'document', 'objects', 'LinkDescription', 'fixedFields', 'submissionSchema'], JSONSchemaVisitor))(specificationObj);
|
|
11
11
|
export default specification;
|
|
@@ -4,15 +4,20 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
|
|
|
4
4
|
var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard").default;
|
|
5
5
|
exports.__esModule = true;
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var
|
|
7
|
+
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
8
8
|
var jsonSchema202012Predicates = _interopRequireWildcard(require("../predicates.cjs"));
|
|
9
9
|
var _namespace = _interopRequireDefault(require("../namespace.cjs"));
|
|
10
|
+
/**
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
|
|
10
14
|
const createToolbox = () => {
|
|
11
|
-
const namespace =
|
|
15
|
+
const namespace = new _apidomDatamodel.Namespace();
|
|
12
16
|
const predicates = {
|
|
13
17
|
...jsonSchema202012Predicates,
|
|
14
|
-
isStringElement:
|
|
18
|
+
isStringElement: _apidomDatamodel.isStringElement
|
|
15
19
|
};
|
|
20
|
+
namespace.use(_namespace.default);
|
|
16
21
|
return {
|
|
17
22
|
predicates,
|
|
18
23
|
namespace
|
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isStringElement, Namespace } from '@speclynx/apidom-datamodel';
|
|
2
2
|
import * as jsonSchema202012Predicates from "../predicates.mjs";
|
|
3
3
|
import jsonSchema202012Namespace from "../namespace.mjs";
|
|
4
|
+
/**
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
4
7
|
const createToolbox = () => {
|
|
5
|
-
const namespace =
|
|
8
|
+
const namespace = new Namespace();
|
|
6
9
|
const predicates = {
|
|
7
10
|
...jsonSchema202012Predicates,
|
|
8
11
|
isStringElement
|
|
9
12
|
};
|
|
13
|
+
namespace.use(jsonSchema202012Namespace);
|
|
10
14
|
return {
|
|
11
15
|
predicates,
|
|
12
16
|
namespace
|
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.default = void 0;
|
|
5
|
-
var
|
|
6
|
-
var _apidomCore = require("@speclynx/apidom-core");
|
|
5
|
+
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
7
6
|
var _apidomNsJsonSchema = require("@speclynx/apidom-ns-json-schema-2019-09");
|
|
8
7
|
/**
|
|
9
8
|
* @public
|
|
@@ -12,19 +11,20 @@ var _apidomNsJsonSchema = require("@speclynx/apidom-ns-json-schema-2019-09");
|
|
|
12
11
|
/**
|
|
13
12
|
* @public
|
|
14
13
|
*/
|
|
15
|
-
class PrefixItemsVisitor extends
|
|
14
|
+
class PrefixItemsVisitor extends _apidomNsJsonSchema.BaseSchemaArrayVisitor {
|
|
16
15
|
constructor(options) {
|
|
17
16
|
super(options);
|
|
18
|
-
this.element = new
|
|
17
|
+
this.element = new _apidomDatamodel.ArrayElement();
|
|
19
18
|
this.element.classes.push('json-schema-prefixItems');
|
|
20
19
|
}
|
|
21
|
-
ArrayElement(
|
|
20
|
+
ArrayElement(path) {
|
|
21
|
+
const arrayElement = path.node;
|
|
22
22
|
arrayElement.forEach(item => {
|
|
23
23
|
const element = this.toRefractedElement(['document', 'objects', 'JSONSchema'], item);
|
|
24
24
|
this.element.push(element);
|
|
25
25
|
});
|
|
26
26
|
this.copyMetaAndAttributes(arrayElement, this.element);
|
|
27
|
-
|
|
27
|
+
path.stop();
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
var _default = exports.default = PrefixItemsVisitor;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { SpecificationVisitor, FallbackVisitor, ParentSchemaAwareVisitor } from '@speclynx/apidom-ns-json-schema-2019-09';
|
|
1
|
+
import { ArrayElement } from '@speclynx/apidom-datamodel';
|
|
2
|
+
import { BaseSchemaArrayVisitor } from '@speclynx/apidom-ns-json-schema-2019-09';
|
|
4
3
|
|
|
5
4
|
/**
|
|
6
5
|
* @public
|
|
@@ -9,19 +8,20 @@ import { SpecificationVisitor, FallbackVisitor, ParentSchemaAwareVisitor } from
|
|
|
9
8
|
/**
|
|
10
9
|
* @public
|
|
11
10
|
*/
|
|
12
|
-
class PrefixItemsVisitor extends
|
|
11
|
+
class PrefixItemsVisitor extends BaseSchemaArrayVisitor {
|
|
13
12
|
constructor(options) {
|
|
14
13
|
super(options);
|
|
15
14
|
this.element = new ArrayElement();
|
|
16
15
|
this.element.classes.push('json-schema-prefixItems');
|
|
17
16
|
}
|
|
18
|
-
ArrayElement(
|
|
17
|
+
ArrayElement(path) {
|
|
18
|
+
const arrayElement = path.node;
|
|
19
19
|
arrayElement.forEach(item => {
|
|
20
20
|
const element = this.toRefractedElement(['document', 'objects', 'JSONSchema'], item);
|
|
21
21
|
this.element.push(element);
|
|
22
22
|
});
|
|
23
23
|
this.copyMetaAndAttributes(arrayElement, this.element);
|
|
24
|
-
|
|
24
|
+
path.stop();
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
export default PrefixItemsVisitor;
|