@speclynx/apidom-ns-json-schema-draft-4 4.0.2 → 4.0.4
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 +13 -0
- package/dist/apidom-ns-json-schema-draft-4.browser.js +7 -7
- package/dist/apidom-ns-json-schema-draft-4.browser.min.js +1 -1
- package/package.json +5 -5
- package/src/elements/JSONReference.cjs +29 -0
- package/src/elements/JSONReference.mjs +25 -0
- package/src/elements/JSONSchema.cjs +296 -0
- package/src/elements/JSONSchema.mjs +292 -0
- package/src/elements/LinkDescription.cjs +65 -0
- package/src/elements/LinkDescription.mjs +61 -0
- package/src/elements/Media.cjs +29 -0
- package/src/elements/Media.mjs +25 -0
- package/src/index.cjs +69 -0
- package/src/index.mjs +23 -0
- package/src/media-types.cjs +34 -0
- package/src/media-types.mjs +30 -0
- package/src/namespace.cjs +25 -0
- package/src/namespace.mjs +20 -0
- package/src/predicates.cjs +32 -0
- package/src/predicates.mjs +23 -0
- package/src/refractor/index.cjs +96 -0
- package/src/refractor/index.mjs +85 -0
- package/src/refractor/inspect.cjs +55 -0
- package/src/refractor/inspect.mjs +47 -0
- package/src/refractor/plugins/replace-empty-element.cjs +208 -0
- package/src/refractor/plugins/replace-empty-element.mjs +202 -0
- package/src/refractor/predicates.cjs +16 -0
- package/src/refractor/predicates.mjs +12 -0
- package/src/refractor/specification.cjs +193 -0
- package/src/refractor/specification.mjs +188 -0
- package/src/refractor/toolbox.cjs +28 -0
- package/src/refractor/toolbox.mjs +21 -0
- package/src/refractor/visitors/FallbackVisitor.cjs +25 -0
- package/src/refractor/visitors/FallbackVisitor.mjs +19 -0
- package/src/refractor/visitors/SpecificationVisitor.cjs +75 -0
- package/src/refractor/visitors/SpecificationVisitor.mjs +69 -0
- package/src/refractor/visitors/Visitor.cjs +36 -0
- package/src/refractor/visitors/Visitor.mjs +33 -0
- package/src/refractor/visitors/generics/AlternatingVisitor.cjs +42 -0
- package/src/refractor/visitors/generics/AlternatingVisitor.mjs +35 -0
- package/src/refractor/visitors/generics/FixedFieldsVisitor.cjs +57 -0
- package/src/refractor/visitors/generics/FixedFieldsVisitor.mjs +50 -0
- package/src/refractor/visitors/generics/MapVisitor.cjs +21 -0
- package/src/refractor/visitors/generics/MapVisitor.mjs +15 -0
- package/src/refractor/visitors/generics/PatternedFieldsVisitor.cjs +58 -0
- package/src/refractor/visitors/generics/PatternedFieldsVisitor.mjs +52 -0
- package/src/refractor/visitors/json-schema/AllOfVisitor.cjs +32 -0
- package/src/refractor/visitors/json-schema/AllOfVisitor.mjs +27 -0
- package/src/refractor/visitors/json-schema/AnyOfVisitor.cjs +32 -0
- package/src/refractor/visitors/json-schema/AnyOfVisitor.mjs +27 -0
- package/src/refractor/visitors/json-schema/DefinitionsVisitor.cjs +23 -0
- package/src/refractor/visitors/json-schema/DefinitionsVisitor.mjs +18 -0
- package/src/refractor/visitors/json-schema/DependenciesVisitor.cjs +23 -0
- package/src/refractor/visitors/json-schema/DependenciesVisitor.mjs +18 -0
- package/src/refractor/visitors/json-schema/EnumVisitor.cjs +16 -0
- package/src/refractor/visitors/json-schema/EnumVisitor.mjs +11 -0
- package/src/refractor/visitors/json-schema/ItemsVisitor.cjs +35 -0
- package/src/refractor/visitors/json-schema/ItemsVisitor.mjs +30 -0
- package/src/refractor/visitors/json-schema/JSONSchemaOrJSONReferenceVisitor.cjs +24 -0
- package/src/refractor/visitors/json-schema/JSONSchemaOrJSONReferenceVisitor.mjs +19 -0
- package/src/refractor/visitors/json-schema/LinksVisitor.cjs +30 -0
- package/src/refractor/visitors/json-schema/LinksVisitor.mjs +25 -0
- package/src/refractor/visitors/json-schema/OneOfVisitor.cjs +32 -0
- package/src/refractor/visitors/json-schema/OneOfVisitor.mjs +27 -0
- package/src/refractor/visitors/json-schema/ParentSchemaAwareVisitor.cjs +20 -0
- package/src/refractor/visitors/json-schema/ParentSchemaAwareVisitor.mjs +16 -0
- package/src/refractor/visitors/json-schema/PatternPropertiesVisitor.cjs +23 -0
- package/src/refractor/visitors/json-schema/PatternPropertiesVisitor.mjs +18 -0
- package/src/refractor/visitors/json-schema/PropertiesVisitor.cjs +23 -0
- package/src/refractor/visitors/json-schema/PropertiesVisitor.mjs +18 -0
- package/src/refractor/visitors/json-schema/RequiredVisitor.cjs +16 -0
- package/src/refractor/visitors/json-schema/RequiredVisitor.mjs +11 -0
- package/src/refractor/visitors/json-schema/TypeVisitor.cjs +20 -0
- package/src/refractor/visitors/json-schema/TypeVisitor.mjs +15 -0
- package/src/refractor/visitors/json-schema/bases.cjs +45 -0
- package/src/refractor/visitors/json-schema/bases.mjs +39 -0
- package/src/refractor/visitors/json-schema/index.cjs +65 -0
- package/src/refractor/visitors/json-schema/index.mjs +59 -0
- package/src/refractor/visitors/json-schema/json-reference/$RefVisitor.cjs +16 -0
- package/src/refractor/visitors/json-schema/json-reference/$RefVisitor.mjs +11 -0
- package/src/refractor/visitors/json-schema/json-reference/index.cjs +33 -0
- package/src/refractor/visitors/json-schema/json-reference/index.mjs +27 -0
- package/src/refractor/visitors/json-schema/link-description/index.cjs +23 -0
- package/src/refractor/visitors/json-schema/link-description/index.mjs +17 -0
- package/src/refractor/visitors/json-schema/media/index.cjs +23 -0
- package/src/refractor/visitors/json-schema/media/index.mjs +17 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
6
|
+
/**
|
|
7
|
+
* URI: https://datatracker.ietf.org/doc/html/draft-wright-json-schema-hyperschema-00#section-5
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
class LinkDescription extends _apidomDatamodel.ObjectElement {
|
|
12
|
+
constructor(content, meta, attributes) {
|
|
13
|
+
super(content, meta, attributes);
|
|
14
|
+
this.element = 'linkDescription';
|
|
15
|
+
}
|
|
16
|
+
get href() {
|
|
17
|
+
return this.get('href');
|
|
18
|
+
}
|
|
19
|
+
set href(href) {
|
|
20
|
+
this.set('href', href);
|
|
21
|
+
}
|
|
22
|
+
get rel() {
|
|
23
|
+
return this.get('rel');
|
|
24
|
+
}
|
|
25
|
+
set rel(rel) {
|
|
26
|
+
this.set('rel', rel);
|
|
27
|
+
}
|
|
28
|
+
get title() {
|
|
29
|
+
return this.get('title');
|
|
30
|
+
}
|
|
31
|
+
set title(title) {
|
|
32
|
+
this.set('title', title);
|
|
33
|
+
}
|
|
34
|
+
get targetSchema() {
|
|
35
|
+
return this.get('targetSchema');
|
|
36
|
+
}
|
|
37
|
+
set targetSchema(targetSchema) {
|
|
38
|
+
this.set('targetSchema', targetSchema);
|
|
39
|
+
}
|
|
40
|
+
get mediaType() {
|
|
41
|
+
return this.get('mediaType');
|
|
42
|
+
}
|
|
43
|
+
set mediaType(mediaType) {
|
|
44
|
+
this.set('mediaType', mediaType);
|
|
45
|
+
}
|
|
46
|
+
get method() {
|
|
47
|
+
return this.get('method');
|
|
48
|
+
}
|
|
49
|
+
set method(method) {
|
|
50
|
+
this.set('method', method);
|
|
51
|
+
}
|
|
52
|
+
get encType() {
|
|
53
|
+
return this.get('encType');
|
|
54
|
+
}
|
|
55
|
+
set encType(encType) {
|
|
56
|
+
this.set('encType', encType);
|
|
57
|
+
}
|
|
58
|
+
get schema() {
|
|
59
|
+
return this.get('schema');
|
|
60
|
+
}
|
|
61
|
+
set schema(schema) {
|
|
62
|
+
this.set('schema', schema);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
var _default = exports.default = LinkDescription;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { ObjectElement } from '@speclynx/apidom-datamodel';
|
|
2
|
+
/**
|
|
3
|
+
* URI: https://datatracker.ietf.org/doc/html/draft-wright-json-schema-hyperschema-00#section-5
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
class LinkDescription extends ObjectElement {
|
|
8
|
+
constructor(content, meta, attributes) {
|
|
9
|
+
super(content, meta, attributes);
|
|
10
|
+
this.element = 'linkDescription';
|
|
11
|
+
}
|
|
12
|
+
get href() {
|
|
13
|
+
return this.get('href');
|
|
14
|
+
}
|
|
15
|
+
set href(href) {
|
|
16
|
+
this.set('href', href);
|
|
17
|
+
}
|
|
18
|
+
get rel() {
|
|
19
|
+
return this.get('rel');
|
|
20
|
+
}
|
|
21
|
+
set rel(rel) {
|
|
22
|
+
this.set('rel', rel);
|
|
23
|
+
}
|
|
24
|
+
get title() {
|
|
25
|
+
return this.get('title');
|
|
26
|
+
}
|
|
27
|
+
set title(title) {
|
|
28
|
+
this.set('title', title);
|
|
29
|
+
}
|
|
30
|
+
get targetSchema() {
|
|
31
|
+
return this.get('targetSchema');
|
|
32
|
+
}
|
|
33
|
+
set targetSchema(targetSchema) {
|
|
34
|
+
this.set('targetSchema', targetSchema);
|
|
35
|
+
}
|
|
36
|
+
get mediaType() {
|
|
37
|
+
return this.get('mediaType');
|
|
38
|
+
}
|
|
39
|
+
set mediaType(mediaType) {
|
|
40
|
+
this.set('mediaType', mediaType);
|
|
41
|
+
}
|
|
42
|
+
get method() {
|
|
43
|
+
return this.get('method');
|
|
44
|
+
}
|
|
45
|
+
set method(method) {
|
|
46
|
+
this.set('method', method);
|
|
47
|
+
}
|
|
48
|
+
get encType() {
|
|
49
|
+
return this.get('encType');
|
|
50
|
+
}
|
|
51
|
+
set encType(encType) {
|
|
52
|
+
this.set('encType', encType);
|
|
53
|
+
}
|
|
54
|
+
get schema() {
|
|
55
|
+
return this.get('schema');
|
|
56
|
+
}
|
|
57
|
+
set schema(schema) {
|
|
58
|
+
this.set('schema', schema);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
export default LinkDescription;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
6
|
+
/**
|
|
7
|
+
* URI: https://datatracker.ietf.org/doc/html/draft-wright-json-schema-hyperschema-00#section-4.3
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
class Media extends _apidomDatamodel.ObjectElement {
|
|
12
|
+
constructor(content, meta, attributes) {
|
|
13
|
+
super(content, meta, attributes);
|
|
14
|
+
this.element = 'media';
|
|
15
|
+
}
|
|
16
|
+
get binaryEncoding() {
|
|
17
|
+
return this.get('binaryEncoding');
|
|
18
|
+
}
|
|
19
|
+
set binaryEncoding(binaryEncoding) {
|
|
20
|
+
this.set('binaryEncoding', binaryEncoding);
|
|
21
|
+
}
|
|
22
|
+
get type() {
|
|
23
|
+
return this.get('type');
|
|
24
|
+
}
|
|
25
|
+
set type(type) {
|
|
26
|
+
this.set('type', type);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
var _default = exports.default = Media;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ObjectElement } from '@speclynx/apidom-datamodel';
|
|
2
|
+
/**
|
|
3
|
+
* URI: https://datatracker.ietf.org/doc/html/draft-wright-json-schema-hyperschema-00#section-4.3
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
class Media extends ObjectElement {
|
|
8
|
+
constructor(content, meta, attributes) {
|
|
9
|
+
super(content, meta, attributes);
|
|
10
|
+
this.element = 'media';
|
|
11
|
+
}
|
|
12
|
+
get binaryEncoding() {
|
|
13
|
+
return this.get('binaryEncoding');
|
|
14
|
+
}
|
|
15
|
+
set binaryEncoding(binaryEncoding) {
|
|
16
|
+
this.set('binaryEncoding', binaryEncoding);
|
|
17
|
+
}
|
|
18
|
+
get type() {
|
|
19
|
+
return this.get('type');
|
|
20
|
+
}
|
|
21
|
+
set type(type) {
|
|
22
|
+
this.set('type', type);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export default Media;
|
package/src/index.cjs
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard").default;
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports.specificationObj = exports.refractorPluginReplaceEmptyElement = exports.refractMedia = exports.refractLinkDescription = exports.refractJSONSchema = exports.refractJSONReference = exports.refract = exports.mediaTypes = exports.isMediaElement = exports.isLinkDescriptionElement = exports.isJSONSchemaElement = exports.isJSONReferenceLikeElement = exports.isJSONReferenceElement = exports.default = exports.Visitor = exports.SpecificationVisitor = exports.PropertiesVisitorBase = exports.PatternedFieldsVisitor = exports.PatternPropertiesVisitorBase = exports.ParentSchemaAwareVisitor = exports.OneOfVisitorBase = exports.MediaVisitorBase = exports.MediaElement = exports.MapVisitor = exports.LinksVisitorBase = exports.LinkDescriptionVisitorBase = exports.LinkDescriptionVisitor = exports.LinkDescriptionElement = exports.JSONSchemaVisitorBase = exports.JSONSchemaVisitor = exports.JSONSchemaElement = exports.JSONSchemaDraft4MediaTypes = exports.JSONReferenceVisitorBase = exports.JSONReferenceElement = exports.ItemsVisitorBase = exports.ItemsVisitor = exports.FixedFieldsVisitor = exports.FallbackVisitor = exports.DependenciesVisitorBase = exports.DefinitionsVisitorBase = exports.AnyOfVisitorBase = exports.AlternatingVisitor = exports.AllOfVisitorBase = void 0;
|
|
7
|
+
var _mediaTypes = _interopRequireWildcard(require("./media-types.cjs"));
|
|
8
|
+
exports.mediaTypes = _mediaTypes.default;
|
|
9
|
+
exports.JSONSchemaDraft4MediaTypes = _mediaTypes.JSONSchemaDraft4MediaTypes;
|
|
10
|
+
var _namespace = _interopRequireDefault(require("./namespace.cjs"));
|
|
11
|
+
exports.default = _namespace.default;
|
|
12
|
+
var _replaceEmptyElement = _interopRequireDefault(require("./refractor/plugins/replace-empty-element.cjs"));
|
|
13
|
+
exports.refractorPluginReplaceEmptyElement = _replaceEmptyElement.default;
|
|
14
|
+
var _index = _interopRequireWildcard(require("./refractor/index.cjs"));
|
|
15
|
+
exports.refract = _index.default;
|
|
16
|
+
exports.refractJSONSchema = _index.refractJSONSchema;
|
|
17
|
+
exports.refractJSONReference = _index.refractJSONReference;
|
|
18
|
+
exports.refractMedia = _index.refractMedia;
|
|
19
|
+
exports.refractLinkDescription = _index.refractLinkDescription;
|
|
20
|
+
var _specification = _interopRequireDefault(require("./refractor/specification.cjs"));
|
|
21
|
+
exports.specificationObj = _specification.default;
|
|
22
|
+
var _predicates = require("./predicates.cjs");
|
|
23
|
+
exports.isJSONReferenceElement = _predicates.isJSONReferenceElement;
|
|
24
|
+
exports.isJSONSchemaElement = _predicates.isJSONSchemaElement;
|
|
25
|
+
exports.isLinkDescriptionElement = _predicates.isLinkDescriptionElement;
|
|
26
|
+
exports.isMediaElement = _predicates.isMediaElement;
|
|
27
|
+
var _predicates2 = require("./refractor/predicates.cjs");
|
|
28
|
+
exports.isJSONReferenceLikeElement = _predicates2.isJSONReferenceLikeElement;
|
|
29
|
+
var _Visitor = _interopRequireDefault(require("./refractor/visitors/Visitor.cjs"));
|
|
30
|
+
exports.Visitor = _Visitor.default;
|
|
31
|
+
var _SpecificationVisitor = _interopRequireDefault(require("./refractor/visitors/SpecificationVisitor.cjs"));
|
|
32
|
+
exports.SpecificationVisitor = _SpecificationVisitor.default;
|
|
33
|
+
var _FallbackVisitor = _interopRequireDefault(require("./refractor/visitors/FallbackVisitor.cjs"));
|
|
34
|
+
exports.FallbackVisitor = _FallbackVisitor.default;
|
|
35
|
+
var _FixedFieldsVisitor = _interopRequireDefault(require("./refractor/visitors/generics/FixedFieldsVisitor.cjs"));
|
|
36
|
+
exports.FixedFieldsVisitor = _FixedFieldsVisitor.default;
|
|
37
|
+
var _PatternedFieldsVisitor = _interopRequireDefault(require("./refractor/visitors/generics/PatternedFieldsVisitor.cjs"));
|
|
38
|
+
exports.PatternedFieldsVisitor = _PatternedFieldsVisitor.default;
|
|
39
|
+
var _MapVisitor = _interopRequireDefault(require("./refractor/visitors/generics/MapVisitor.cjs"));
|
|
40
|
+
exports.MapVisitor = _MapVisitor.default;
|
|
41
|
+
var _AlternatingVisitor = _interopRequireDefault(require("./refractor/visitors/generics/AlternatingVisitor.cjs"));
|
|
42
|
+
exports.AlternatingVisitor = _AlternatingVisitor.default;
|
|
43
|
+
var _ParentSchemaAwareVisitor = _interopRequireDefault(require("./refractor/visitors/json-schema/ParentSchemaAwareVisitor.cjs"));
|
|
44
|
+
exports.ParentSchemaAwareVisitor = _ParentSchemaAwareVisitor.default;
|
|
45
|
+
var _bases = require("./refractor/visitors/json-schema/bases.cjs");
|
|
46
|
+
exports.JSONSchemaVisitorBase = _bases.JSONSchemaVisitorBase;
|
|
47
|
+
exports.JSONReferenceVisitorBase = _bases.JSONReferenceVisitorBase;
|
|
48
|
+
exports.LinkDescriptionVisitorBase = _bases.LinkDescriptionVisitorBase;
|
|
49
|
+
exports.MediaVisitorBase = _bases.MediaVisitorBase;
|
|
50
|
+
exports.AllOfVisitorBase = _bases.AllOfVisitorBase;
|
|
51
|
+
exports.AnyOfVisitorBase = _bases.AnyOfVisitorBase;
|
|
52
|
+
exports.OneOfVisitorBase = _bases.OneOfVisitorBase;
|
|
53
|
+
exports.ItemsVisitorBase = _bases.ItemsVisitorBase;
|
|
54
|
+
exports.LinksVisitorBase = _bases.LinksVisitorBase;
|
|
55
|
+
exports.DefinitionsVisitorBase = _bases.DefinitionsVisitorBase;
|
|
56
|
+
exports.DependenciesVisitorBase = _bases.DependenciesVisitorBase;
|
|
57
|
+
exports.PatternPropertiesVisitorBase = _bases.PatternPropertiesVisitorBase;
|
|
58
|
+
exports.PropertiesVisitorBase = _bases.PropertiesVisitorBase;
|
|
59
|
+
var _index2 = _interopRequireDefault(require("./refractor/visitors/json-schema/link-description/index.cjs"));
|
|
60
|
+
exports.LinkDescriptionVisitor = _index2.default;
|
|
61
|
+
var _index3 = _interopRequireDefault(require("./refractor/visitors/json-schema/index.cjs"));
|
|
62
|
+
exports.JSONSchemaVisitor = _index3.default;
|
|
63
|
+
var _ItemsVisitor = _interopRequireDefault(require("./refractor/visitors/json-schema/ItemsVisitor.cjs"));
|
|
64
|
+
exports.ItemsVisitor = _ItemsVisitor.default;
|
|
65
|
+
var _inspect = require("./refractor/inspect.cjs");
|
|
66
|
+
exports.JSONSchemaElement = _inspect.JSONSchemaElement;
|
|
67
|
+
exports.JSONReferenceElement = _inspect.JSONReferenceElement;
|
|
68
|
+
exports.MediaElement = _inspect.MediaElement;
|
|
69
|
+
exports.LinkDescriptionElement = _inspect.LinkDescriptionElement;
|
package/src/index.mjs
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export { default as mediaTypes, JSONSchemaDraft4MediaTypes } from "./media-types.mjs";
|
|
2
|
+
export { default } from "./namespace.mjs";
|
|
3
|
+
export { default as refractorPluginReplaceEmptyElement } from "./refractor/plugins/replace-empty-element.mjs";
|
|
4
|
+
export { default as refract, refractJSONSchema, refractJSONReference, refractMedia, refractLinkDescription } from "./refractor/index.mjs";
|
|
5
|
+
export { default as specificationObj } from "./refractor/specification.mjs";
|
|
6
|
+
export { isJSONReferenceElement, isJSONSchemaElement, isLinkDescriptionElement, isMediaElement } from "./predicates.mjs";
|
|
7
|
+
export { isJSONReferenceLikeElement } from "./refractor/predicates.mjs";
|
|
8
|
+
export { default as Visitor } from "./refractor/visitors/Visitor.mjs";
|
|
9
|
+
export { default as SpecificationVisitor } from "./refractor/visitors/SpecificationVisitor.mjs";
|
|
10
|
+
export { default as FallbackVisitor } from "./refractor/visitors/FallbackVisitor.mjs";
|
|
11
|
+
export { default as FixedFieldsVisitor } from "./refractor/visitors/generics/FixedFieldsVisitor.mjs";
|
|
12
|
+
export { default as PatternedFieldsVisitor } from "./refractor/visitors/generics/PatternedFieldsVisitor.mjs";
|
|
13
|
+
export { default as MapVisitor } from "./refractor/visitors/generics/MapVisitor.mjs";
|
|
14
|
+
export { default as AlternatingVisitor } from "./refractor/visitors/generics/AlternatingVisitor.mjs";
|
|
15
|
+
export { default as ParentSchemaAwareVisitor } from "./refractor/visitors/json-schema/ParentSchemaAwareVisitor.mjs";
|
|
16
|
+
export { JSONSchemaVisitorBase, JSONReferenceVisitorBase, LinkDescriptionVisitorBase, MediaVisitorBase, AllOfVisitorBase, AnyOfVisitorBase, OneOfVisitorBase, ItemsVisitorBase, LinksVisitorBase, DefinitionsVisitorBase, DependenciesVisitorBase, PatternPropertiesVisitorBase, PropertiesVisitorBase } from "./refractor/visitors/json-schema/bases.mjs";
|
|
17
|
+
export { default as LinkDescriptionVisitor } from "./refractor/visitors/json-schema/link-description/index.mjs";
|
|
18
|
+
export { default as JSONSchemaVisitor } from "./refractor/visitors/json-schema/index.mjs";
|
|
19
|
+
export { default as ItemsVisitor } from "./refractor/visitors/json-schema/ItemsVisitor.mjs";
|
|
20
|
+
/**
|
|
21
|
+
* JSON Schema Draft 4 specification elements.
|
|
22
|
+
*/
|
|
23
|
+
export { JSONSchemaElement, JSONReferenceElement, MediaElement, LinkDescriptionElement } from "./refractor/inspect.mjs";
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = exports.JSONSchemaDraft4MediaTypes = void 0;
|
|
5
|
+
var _ramda = require("ramda");
|
|
6
|
+
var _apidomCore = require("@speclynx/apidom-core");
|
|
7
|
+
/**
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @public
|
|
13
|
+
*/
|
|
14
|
+
class JSONSchemaDraft4MediaTypes extends _apidomCore.MediaTypes {
|
|
15
|
+
filterByFormat(format = 'generic') {
|
|
16
|
+
const effectiveFormat = format === 'generic' ? 'schema;version' : format;
|
|
17
|
+
return this.filter(mediaType => mediaType.includes(effectiveFormat));
|
|
18
|
+
}
|
|
19
|
+
findBy(version = 'draft-04', format = 'generic') {
|
|
20
|
+
const search = format === 'generic' ? `schema;version=${version}` : `schema+${format};version=${version}`;
|
|
21
|
+
const found = this.find(mediaType => mediaType.includes(search));
|
|
22
|
+
return found || this.unknownMediaType;
|
|
23
|
+
}
|
|
24
|
+
latest(format = 'generic') {
|
|
25
|
+
return (0, _ramda.last)(this.filterByFormat(format));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @public
|
|
31
|
+
*/
|
|
32
|
+
exports.JSONSchemaDraft4MediaTypes = JSONSchemaDraft4MediaTypes;
|
|
33
|
+
const mediaTypes = new JSONSchemaDraft4MediaTypes('application/schema;version=draft-04', 'application/schema+json;version=draft-04', 'application/schema+yaml;version=draft-04');
|
|
34
|
+
var _default = exports.default = mediaTypes;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { last } from 'ramda';
|
|
2
|
+
import { MediaTypes } from '@speclynx/apidom-core';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @public
|
|
10
|
+
*/
|
|
11
|
+
export class JSONSchemaDraft4MediaTypes extends MediaTypes {
|
|
12
|
+
filterByFormat(format = 'generic') {
|
|
13
|
+
const effectiveFormat = format === 'generic' ? 'schema;version' : format;
|
|
14
|
+
return this.filter(mediaType => mediaType.includes(effectiveFormat));
|
|
15
|
+
}
|
|
16
|
+
findBy(version = 'draft-04', format = 'generic') {
|
|
17
|
+
const search = format === 'generic' ? `schema;version=${version}` : `schema+${format};version=${version}`;
|
|
18
|
+
const found = this.find(mediaType => mediaType.includes(search));
|
|
19
|
+
return found || this.unknownMediaType;
|
|
20
|
+
}
|
|
21
|
+
latest(format = 'generic') {
|
|
22
|
+
return last(this.filterByFormat(format));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* @public
|
|
28
|
+
*/
|
|
29
|
+
const mediaTypes = new JSONSchemaDraft4MediaTypes('application/schema;version=draft-04', 'application/schema+json;version=draft-04', 'application/schema+yaml;version=draft-04');
|
|
30
|
+
export default mediaTypes;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.default = void 0;
|
|
6
|
+
var _JSONSchema = _interopRequireDefault(require("./elements/JSONSchema.cjs"));
|
|
7
|
+
var _JSONReference = _interopRequireDefault(require("./elements/JSONReference.cjs"));
|
|
8
|
+
var _Media = _interopRequireDefault(require("./elements/Media.cjs"));
|
|
9
|
+
var _LinkDescription = _interopRequireDefault(require("./elements/LinkDescription.cjs"));
|
|
10
|
+
/**
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
const jsonSchemaDraft4 = {
|
|
14
|
+
namespace: options => {
|
|
15
|
+
const {
|
|
16
|
+
base
|
|
17
|
+
} = options;
|
|
18
|
+
base.register('JSONSchemaDraft4', _JSONSchema.default);
|
|
19
|
+
base.register('JSONReference', _JSONReference.default);
|
|
20
|
+
base.register('media', _Media.default);
|
|
21
|
+
base.register('linkDescription', _LinkDescription.default);
|
|
22
|
+
return base;
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
var _default = exports.default = jsonSchemaDraft4;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import JSONSchemaElement from "./elements/JSONSchema.mjs";
|
|
2
|
+
import JSONReferenceElement from "./elements/JSONReference.mjs";
|
|
3
|
+
import MediaElement from "./elements/Media.mjs";
|
|
4
|
+
import LinkDescriptionElement from "./elements/LinkDescription.mjs";
|
|
5
|
+
/**
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
const jsonSchemaDraft4 = {
|
|
9
|
+
namespace: options => {
|
|
10
|
+
const {
|
|
11
|
+
base
|
|
12
|
+
} = options;
|
|
13
|
+
base.register('JSONSchemaDraft4', JSONSchemaElement);
|
|
14
|
+
base.register('JSONReference', JSONReferenceElement);
|
|
15
|
+
base.register('media', MediaElement);
|
|
16
|
+
base.register('linkDescription', LinkDescriptionElement);
|
|
17
|
+
return base;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
export default jsonSchemaDraft4;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.isMediaElement = exports.isLinkDescriptionElement = exports.isJSONSchemaElement = exports.isJSONReferenceElement = void 0;
|
|
6
|
+
var _JSONSchema = _interopRequireDefault(require("./elements/JSONSchema.cjs"));
|
|
7
|
+
var _JSONReference = _interopRequireDefault(require("./elements/JSONReference.cjs"));
|
|
8
|
+
var _Media = _interopRequireDefault(require("./elements/Media.cjs"));
|
|
9
|
+
var _LinkDescription = _interopRequireDefault(require("./elements/LinkDescription.cjs"));
|
|
10
|
+
/**
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
const isJSONSchemaElement = element => element instanceof _JSONSchema.default;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
exports.isJSONSchemaElement = isJSONSchemaElement;
|
|
19
|
+
const isJSONReferenceElement = element => element instanceof _JSONReference.default;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* @public
|
|
23
|
+
*/
|
|
24
|
+
exports.isJSONReferenceElement = isJSONReferenceElement;
|
|
25
|
+
const isMediaElement = element => element instanceof _Media.default;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* @public
|
|
29
|
+
*/
|
|
30
|
+
exports.isMediaElement = isMediaElement;
|
|
31
|
+
const isLinkDescriptionElement = element => element instanceof _LinkDescription.default;
|
|
32
|
+
exports.isLinkDescriptionElement = isLinkDescriptionElement;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import JSONSchemaElement from "./elements/JSONSchema.mjs";
|
|
2
|
+
import JSONReferenceElement from "./elements/JSONReference.mjs";
|
|
3
|
+
import MediaElement from "./elements/Media.mjs";
|
|
4
|
+
import LinkDescriptionElement from "./elements/LinkDescription.mjs";
|
|
5
|
+
/**
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
export const isJSONSchemaElement = element => element instanceof JSONSchemaElement;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
export const isJSONReferenceElement = element => element instanceof JSONReferenceElement;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
export const isMediaElement = element => element instanceof MediaElement;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @public
|
|
22
|
+
*/
|
|
23
|
+
export const isLinkDescriptionElement = element => element instanceof LinkDescriptionElement;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.refractMedia = exports.refractLinkDescription = exports.refractJSONSchema = exports.refractJSONReference = exports.default = void 0;
|
|
6
|
+
var _apidomCore = require("@speclynx/apidom-core");
|
|
7
|
+
var _apidomTraverse = require("@speclynx/apidom-traverse");
|
|
8
|
+
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
9
|
+
var _ramda = require("ramda");
|
|
10
|
+
var _specification = _interopRequireDefault(require("./specification.cjs"));
|
|
11
|
+
var _toolbox = _interopRequireDefault(require("./toolbox.cjs"));
|
|
12
|
+
/**
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @public
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @public
|
|
22
|
+
*/
|
|
23
|
+
const refract = (value, {
|
|
24
|
+
element = 'JSONSchemaDraft4',
|
|
25
|
+
plugins = [],
|
|
26
|
+
specificationObj = _specification.default,
|
|
27
|
+
consume = false
|
|
28
|
+
} = {}) => {
|
|
29
|
+
const genericElement = (0, _apidomDatamodel.refract)(value);
|
|
30
|
+
const resolvedSpec = (0, _apidomCore.resolveSpecification)(specificationObj);
|
|
31
|
+
const elementMap = resolvedSpec.elementMap;
|
|
32
|
+
const specPath = elementMap[element];
|
|
33
|
+
if (!specPath) {
|
|
34
|
+
throw new Error(`Unknown element type: "${element}"`);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* This is where generic ApiDOM becomes semantic (namespace applied).
|
|
39
|
+
* We don't allow consumers to hook into this translation.
|
|
40
|
+
* Though we allow consumers to define their own plugins on already transformed ApiDOM.
|
|
41
|
+
*/
|
|
42
|
+
const RootVisitorClass = (0, _ramda.path)(specPath, resolvedSpec);
|
|
43
|
+
const rootVisitor = new RootVisitorClass({
|
|
44
|
+
specObj: resolvedSpec,
|
|
45
|
+
consume
|
|
46
|
+
});
|
|
47
|
+
(0, _apidomTraverse.traverse)(genericElement, rootVisitor);
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Running plugins visitors means extra single traversal === performance hit.
|
|
51
|
+
*/
|
|
52
|
+
return (0, _apidomCore.dispatchRefractorPlugins)(rootVisitor.element, plugins, {
|
|
53
|
+
toolboxCreator: _toolbox.default
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Refracts a value into a JSONSchemaElement.
|
|
59
|
+
* @public
|
|
60
|
+
*/
|
|
61
|
+
const refractJSONSchema = (value, options = {}) => refract(value, {
|
|
62
|
+
...options,
|
|
63
|
+
element: 'JSONSchemaDraft4'
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Refracts a value into a JSONReferenceElement.
|
|
68
|
+
* @public
|
|
69
|
+
*/
|
|
70
|
+
exports.refractJSONSchema = refractJSONSchema;
|
|
71
|
+
const refractJSONReference = (value, options = {}) => refract(value, {
|
|
72
|
+
...options,
|
|
73
|
+
element: 'JSONReference'
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Refracts a value into a MediaElement.
|
|
78
|
+
* @public
|
|
79
|
+
*/
|
|
80
|
+
exports.refractJSONReference = refractJSONReference;
|
|
81
|
+
const refractMedia = (value, options = {}) => refract(value, {
|
|
82
|
+
...options,
|
|
83
|
+
element: 'media'
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Refracts a value into a LinkDescriptionElement.
|
|
88
|
+
* @public
|
|
89
|
+
*/
|
|
90
|
+
exports.refractMedia = refractMedia;
|
|
91
|
+
const refractLinkDescription = (value, options = {}) => refract(value, {
|
|
92
|
+
...options,
|
|
93
|
+
element: 'linkDescription'
|
|
94
|
+
});
|
|
95
|
+
exports.refractLinkDescription = refractLinkDescription;
|
|
96
|
+
var _default = exports.default = refract;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { resolveSpecification, dispatchRefractorPlugins } from '@speclynx/apidom-core';
|
|
2
|
+
import { traverse } from '@speclynx/apidom-traverse';
|
|
3
|
+
import { refract as baseRefract } from '@speclynx/apidom-datamodel';
|
|
4
|
+
import { path } from 'ramda';
|
|
5
|
+
import specification from "./specification.mjs";
|
|
6
|
+
import createToolbox from "./toolbox.mjs";
|
|
7
|
+
/**
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
const refract = (value, {
|
|
17
|
+
element = 'JSONSchemaDraft4',
|
|
18
|
+
plugins = [],
|
|
19
|
+
specificationObj = specification,
|
|
20
|
+
consume = false
|
|
21
|
+
} = {}) => {
|
|
22
|
+
const genericElement = baseRefract(value);
|
|
23
|
+
const resolvedSpec = resolveSpecification(specificationObj);
|
|
24
|
+
const elementMap = resolvedSpec.elementMap;
|
|
25
|
+
const specPath = elementMap[element];
|
|
26
|
+
if (!specPath) {
|
|
27
|
+
throw new Error(`Unknown element type: "${element}"`);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* This is where generic ApiDOM becomes semantic (namespace applied).
|
|
32
|
+
* We don't allow consumers to hook into this translation.
|
|
33
|
+
* Though we allow consumers to define their own plugins on already transformed ApiDOM.
|
|
34
|
+
*/
|
|
35
|
+
const RootVisitorClass = path(specPath, resolvedSpec);
|
|
36
|
+
const rootVisitor = new RootVisitorClass({
|
|
37
|
+
specObj: resolvedSpec,
|
|
38
|
+
consume
|
|
39
|
+
});
|
|
40
|
+
traverse(genericElement, rootVisitor);
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Running plugins visitors means extra single traversal === performance hit.
|
|
44
|
+
*/
|
|
45
|
+
return dispatchRefractorPlugins(rootVisitor.element, plugins, {
|
|
46
|
+
toolboxCreator: createToolbox
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Refracts a value into a JSONSchemaElement.
|
|
52
|
+
* @public
|
|
53
|
+
*/
|
|
54
|
+
export const refractJSONSchema = (value, options = {}) => refract(value, {
|
|
55
|
+
...options,
|
|
56
|
+
element: 'JSONSchemaDraft4'
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Refracts a value into a JSONReferenceElement.
|
|
61
|
+
* @public
|
|
62
|
+
*/
|
|
63
|
+
export const refractJSONReference = (value, options = {}) => refract(value, {
|
|
64
|
+
...options,
|
|
65
|
+
element: 'JSONReference'
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Refracts a value into a MediaElement.
|
|
70
|
+
* @public
|
|
71
|
+
*/
|
|
72
|
+
export const refractMedia = (value, options = {}) => refract(value, {
|
|
73
|
+
...options,
|
|
74
|
+
element: 'media'
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Refracts a value into a LinkDescriptionElement.
|
|
79
|
+
* @public
|
|
80
|
+
*/
|
|
81
|
+
export const refractLinkDescription = (value, options = {}) => refract(value, {
|
|
82
|
+
...options,
|
|
83
|
+
element: 'linkDescription'
|
|
84
|
+
});
|
|
85
|
+
export default refract;
|