source: node_modules/@swagger-api/apidom-ns-json-schema-draft-4/es/refractor/specification.mjs

main
Last change on this file was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago

Initial commit

  • Property mode set to 100644
File size: 7.8 KB
Line 
1import FallbackVisitor from "./visitors/FallbackVisitor.mjs";
2import JSONSchemaVisitor from "./visitors/json-schema/index.mjs";
3import JSONSchemaIdVisitor from "./visitors/json-schema/IdVisitor.mjs";
4import JSONSchema$schemaVisitor from "./visitors/json-schema/$schemaVisitor.mjs";
5import JSONSchemaMultipleOfVisitor from "./visitors/json-schema/MultipleOfVisitor.mjs";
6import JSONSchemaMaximumVisitor from "./visitors/json-schema/MaximumVisitor.mjs";
7import JSONSchemaExclusiveMaximumVisitor from "./visitors/json-schema/ExclusiveMaximumVisitor.mjs";
8import JSONSchemaMinimumVisitor from "./visitors/json-schema/MinimumVisitor.mjs";
9import JSONSchemaExclusiveMinimumVisitor from "./visitors/json-schema/ExclusiveMinimumVisitor.mjs";
10import JSONSchemaMaxLengthVisitor from "./visitors/json-schema/MaxLengthVisitor.mjs";
11import JSONSchemaMinLengthVisitor from "./visitors/json-schema/MinLengthVisitor.mjs";
12import JSONSchemaPatternVisitor from "./visitors/json-schema/PatternVisitor.mjs";
13import JSONSchemaItemsVisitor from "./visitors/json-schema/ItemsVisitor.mjs";
14import JSONSchemaMaxItemsVisitor from "./visitors/json-schema/MaxItemsVisitor.mjs";
15import JSONSchemaMinItemsVisitor from "./visitors/json-schema/MinItemsVisitor.mjs";
16import JSONSchemaUniqueItemsVisitor from "./visitors/json-schema/UniqueItemsVisitor.mjs";
17import JSONSchemaMaxPropertiesVisitor from "./visitors/json-schema/MaxPropertiesVisitor.mjs";
18import JSONSchemaMinPropertiesVisitor from "./visitors/json-schema/MinPropertiesVisitor.mjs";
19import JSONSchemaRequiredVisitor from "./visitors/json-schema/RequiredVisitor.mjs";
20import JSONSchemaPropertiesVisitor from "./visitors/json-schema/PropertiesVisitor.mjs";
21import JSONSchemaPatternPropertiesVisitor from "./visitors/json-schema/PatternPropertiesVisitor.mjs";
22import JSONSchemaDependenciesVisitor from "./visitors/json-schema/DependenciesVisitor.mjs";
23import JSONSchemaEnumVisitor from "./visitors/json-schema/EnumVisitor.mjs";
24import JSONSchemaTypeVisitor from "./visitors/json-schema/TypeVisitor.mjs";
25import JSONSchemaAllOfVisitor from "./visitors/json-schema/AllOfVisitor.mjs";
26import JSONSchemaAnyOfVisitor from "./visitors/json-schema/AnyOfVisitor.mjs";
27import JSONSchemaOneOfVisitor from "./visitors/json-schema/OneOfVisitor.mjs";
28import JSONSchemaDefinitionsVisitor from "./visitors/json-schema/DefinitionsVisitor.mjs";
29import JSONSchemaTitleVisitor from "./visitors/json-schema/TitleVisitor.mjs";
30import JSONSchemaDescriptionVisitor from "./visitors/json-schema/DescriptionVisitor.mjs";
31import JSONSchemaDefaultVisitor from "./visitors/json-schema/DefaultVisitor.mjs";
32import JSONSchemaFormatVisitor from "./visitors/json-schema/FormatVisitor.mjs";
33import JSONSchemaBaseVisitor from "./visitors/json-schema/BaseVisitor.mjs";
34import JSONSchemaLinksVisitor from "./visitors/json-schema/LinksVisitor.mjs";
35import JSONSchemaReadOnlyVisitor from "./visitors/json-schema/ReadOnlyVisitor.mjs";
36import JSONReferenceVisitor from "./visitors/json-schema/json-reference/index.mjs";
37import JSONReference$RefVisitor from "./visitors/json-schema/json-reference/$RefVisitor.mjs";
38import JSONSchemaOrJSONReferenceVisitor from "./visitors/json-schema/JSONSchemaOrJSONReferenceVisitor.mjs";
39import MediaVisitor from "./visitors/json-schema/media/index.mjs";
40import MediaBinaryEncodingVisitor from "./visitors/json-schema/media/BinaryEncodingVisitor.mjs";
41import MediaTypeVisitor from "./visitors/json-schema/media/TypeVisitor.mjs";
42import LinkDescriptionVisitor from "./visitors/json-schema/link-description/index.mjs";
43import LinkDescriptionHrefVisitor from "./visitors/json-schema/link-description/HrefVisitor.mjs";
44import LinkDescriptionRelVisitor from "./visitors/json-schema/link-description/RelVisitor.mjs";
45import LinkDescriptionTitleVisitor from "./visitors/json-schema/link-description/TitleVisitor.mjs";
46import LinkDescriptionMediaTypeVisitor from "./visitors/json-schema/link-description/MediaTypeVisitor.mjs";
47import LinkDescriptionMethodVisitor from "./visitors/json-schema/link-description/MethodVisitor.mjs";
48import LinkDescriptionEncTypeVisitor from "./visitors/json-schema/link-description/EncTypeVisitor.mjs";
49/**
50 * Specification object allows us to have complete control over visitors
51 * when traversing the ApiDOM.
52 * Specification also allows us to create amended refractors from
53 * existing ones by manipulating it.
54 *
55 * Note: Specification object allows to use absolute internal JSON pointers.
56 */
57const specification = {
58 visitors: {
59 value: FallbackVisitor,
60 JSONSchemaOrJSONReferenceVisitor,
61 document: {
62 objects: {
63 JSONSchema: {
64 $visitor: JSONSchemaVisitor,
65 fixedFields: {
66 // core vocabulary
67 id: JSONSchemaIdVisitor,
68 $schema: JSONSchema$schemaVisitor,
69 // validation vocabulary
70 // validation keywords for numeric instances (number and integer)
71 multipleOf: JSONSchemaMultipleOfVisitor,
72 maximum: JSONSchemaMaximumVisitor,
73 exclusiveMaximum: JSONSchemaExclusiveMaximumVisitor,
74 minimum: JSONSchemaMinimumVisitor,
75 exclusiveMinimum: JSONSchemaExclusiveMinimumVisitor,
76 // validation keywords for strings
77 maxLength: JSONSchemaMaxLengthVisitor,
78 minLength: JSONSchemaMinLengthVisitor,
79 pattern: JSONSchemaPatternVisitor,
80 // validation keywords for arrays
81 additionalItems: JSONSchemaOrJSONReferenceVisitor,
82 items: JSONSchemaItemsVisitor,
83 maxItems: JSONSchemaMaxItemsVisitor,
84 minItems: JSONSchemaMinItemsVisitor,
85 uniqueItems: JSONSchemaUniqueItemsVisitor,
86 // validation keywords for objects
87 maxProperties: JSONSchemaMaxPropertiesVisitor,
88 minProperties: JSONSchemaMinPropertiesVisitor,
89 required: JSONSchemaRequiredVisitor,
90 properties: JSONSchemaPropertiesVisitor,
91 additionalProperties: JSONSchemaOrJSONReferenceVisitor,
92 patternProperties: JSONSchemaPatternPropertiesVisitor,
93 dependencies: JSONSchemaDependenciesVisitor,
94 // validation keywords for any instance type
95 enum: JSONSchemaEnumVisitor,
96 type: JSONSchemaTypeVisitor,
97 allOf: JSONSchemaAllOfVisitor,
98 anyOf: JSONSchemaAnyOfVisitor,
99 oneOf: JSONSchemaOneOfVisitor,
100 not: JSONSchemaOrJSONReferenceVisitor,
101 definitions: JSONSchemaDefinitionsVisitor,
102 // metadata keywords
103 title: JSONSchemaTitleVisitor,
104 description: JSONSchemaDescriptionVisitor,
105 default: JSONSchemaDefaultVisitor,
106 // semantic validation with "format"
107 format: JSONSchemaFormatVisitor,
108 // JSON Hyper-Schema
109 base: JSONSchemaBaseVisitor,
110 links: JSONSchemaLinksVisitor,
111 media: {
112 $ref: '#/visitors/document/objects/Media'
113 },
114 readOnly: JSONSchemaReadOnlyVisitor
115 }
116 },
117 JSONReference: {
118 $visitor: JSONReferenceVisitor,
119 fixedFields: {
120 $ref: JSONReference$RefVisitor
121 }
122 },
123 Media: {
124 $visitor: MediaVisitor,
125 fixedFields: {
126 binaryEncoding: MediaBinaryEncodingVisitor,
127 type: MediaTypeVisitor
128 }
129 },
130 LinkDescription: {
131 $visitor: LinkDescriptionVisitor,
132 fixedFields: {
133 href: LinkDescriptionHrefVisitor,
134 rel: LinkDescriptionRelVisitor,
135 title: LinkDescriptionTitleVisitor,
136 targetSchema: JSONSchemaOrJSONReferenceVisitor,
137 mediaType: LinkDescriptionMediaTypeVisitor,
138 method: LinkDescriptionMethodVisitor,
139 encType: LinkDescriptionEncTypeVisitor,
140 schema: JSONSchemaOrJSONReferenceVisitor
141 }
142 }
143 }
144 }
145 }
146};
147export default specification;
Note: See TracBrowser for help on using the repository browser.