@speclynx/apidom-ns-openapi-2 1.12.2 → 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 +19 -0
- package/NOTICE +16 -7
- package/README.md +18 -13
- package/dist/apidom-ns-openapi-2.browser.js +9354 -13260
- package/dist/apidom-ns-openapi-2.browser.min.js +1 -1
- package/package.json +10 -9
- package/src/elements/Contact.cjs +2 -2
- package/src/elements/Contact.mjs +1 -1
- package/src/elements/Definitions.cjs +2 -2
- package/src/elements/Definitions.mjs +1 -1
- package/src/elements/Example.cjs +2 -2
- package/src/elements/Example.mjs +1 -1
- package/src/elements/ExternalDocumentation.cjs +2 -2
- package/src/elements/ExternalDocumentation.mjs +1 -1
- package/src/elements/Header.cjs +10 -10
- package/src/elements/Header.mjs +10 -10
- package/src/elements/Headers.cjs +2 -2
- package/src/elements/Headers.mjs +1 -1
- package/src/elements/Info.cjs +2 -2
- package/src/elements/Info.mjs +1 -1
- package/src/elements/Items.cjs +10 -10
- package/src/elements/Items.mjs +10 -10
- package/src/elements/License.cjs +2 -2
- package/src/elements/License.mjs +1 -1
- package/src/elements/Operation.cjs +3 -3
- package/src/elements/Operation.mjs +1 -1
- package/src/elements/Parameter.cjs +11 -11
- package/src/elements/Parameter.mjs +11 -11
- package/src/elements/ParametersDefinitions.cjs +2 -2
- package/src/elements/ParametersDefinitions.mjs +1 -1
- package/src/elements/PathItem.cjs +23 -23
- package/src/elements/PathItem.mjs +22 -22
- package/src/elements/Paths.cjs +2 -2
- package/src/elements/Paths.mjs +1 -1
- package/src/elements/Reference.cjs +2 -2
- package/src/elements/Reference.mjs +1 -1
- package/src/elements/Response.cjs +2 -2
- package/src/elements/Response.mjs +1 -1
- package/src/elements/Responses.cjs +2 -2
- package/src/elements/Responses.mjs +1 -1
- package/src/elements/ResponsesDefinitions.cjs +2 -2
- package/src/elements/ResponsesDefinitions.mjs +1 -1
- package/src/elements/Schema.cjs +43 -8
- package/src/elements/Schema.mjs +43 -9
- package/src/elements/Scopes.cjs +2 -2
- package/src/elements/Scopes.mjs +1 -1
- package/src/elements/SecurityDefinitions.cjs +2 -2
- package/src/elements/SecurityDefinitions.mjs +1 -1
- package/src/elements/SecurityRequirement.cjs +2 -2
- package/src/elements/SecurityRequirement.mjs +1 -1
- package/src/elements/SecurityScheme.cjs +2 -2
- package/src/elements/SecurityScheme.mjs +1 -1
- package/src/elements/Swagger.cjs +2 -2
- package/src/elements/Swagger.mjs +1 -1
- package/src/elements/SwaggerVersion.cjs +2 -2
- package/src/elements/SwaggerVersion.mjs +1 -1
- package/src/elements/Tag.cjs +2 -2
- package/src/elements/Tag.mjs +1 -1
- package/src/elements/Xml.cjs +2 -2
- package/src/elements/Xml.mjs +1 -1
- package/src/elements/nces/OperationConsumes.cjs +2 -2
- package/src/elements/nces/OperationConsumes.mjs +1 -1
- package/src/elements/nces/OperationParameters.cjs +2 -2
- package/src/elements/nces/OperationParameters.mjs +1 -1
- package/src/elements/nces/OperationProduces.cjs +2 -2
- package/src/elements/nces/OperationProduces.mjs +1 -1
- package/src/elements/nces/OperationSchemes.cjs +2 -2
- package/src/elements/nces/OperationSchemes.mjs +1 -1
- package/src/elements/nces/OperationSecurity.cjs +2 -2
- package/src/elements/nces/OperationSecurity.mjs +1 -1
- package/src/elements/nces/OperationTags.cjs +2 -2
- package/src/elements/nces/OperationTags.mjs +1 -1
- package/src/elements/nces/PathItemParameters.cjs +2 -2
- package/src/elements/nces/PathItemParameters.mjs +1 -1
- package/src/elements/nces/SwaggerConsumes.cjs +2 -2
- package/src/elements/nces/SwaggerConsumes.mjs +1 -1
- package/src/elements/nces/SwaggerProduces.cjs +2 -2
- package/src/elements/nces/SwaggerProduces.mjs +1 -1
- package/src/elements/nces/SwaggerSchemes.cjs +2 -2
- package/src/elements/nces/SwaggerSchemes.mjs +1 -1
- package/src/elements/nces/SwaggerSecurity.cjs +2 -2
- package/src/elements/nces/SwaggerSecurity.mjs +1 -1
- package/src/elements/nces/SwaggerTags.cjs +2 -2
- package/src/elements/nces/SwaggerTags.mjs +1 -1
- package/src/index.cjs +65 -45
- package/src/index.mjs +6 -5
- package/src/namespace.mjs +2 -2
- package/src/predicates.cjs +54 -190
- package/src/predicates.mjs +27 -190
- package/src/refractor/index.cjs +279 -17
- package/src/refractor/index.mjs +251 -16
- package/src/refractor/inspect.cjs +157 -0
- package/src/refractor/inspect.mjs +126 -0
- package/src/refractor/plugins/replace-empty-element.cjs +20 -14
- package/src/refractor/plugins/replace-empty-element.mjs +14 -8
- package/src/refractor/predicates.cjs +3 -2
- package/src/refractor/predicates.mjs +2 -1
- package/src/refractor/specification.cjs +41 -12
- package/src/refractor/specification.mjs +41 -12
- package/src/refractor/toolbox.cjs +8 -3
- package/src/refractor/toolbox.mjs +6 -2
- package/src/refractor/visitors/FallbackVisitor.cjs +4 -4
- package/src/refractor/visitors/FallbackVisitor.mjs +4 -4
- package/src/refractor/visitors/SpecificationExtensionVisitor.cjs +4 -4
- package/src/refractor/visitors/SpecificationExtensionVisitor.mjs +4 -4
- package/src/refractor/visitors/SpecificationVisitor.cjs +4 -3
- package/src/refractor/visitors/SpecificationVisitor.mjs +3 -2
- package/src/refractor/visitors/Visitor.cjs +10 -8
- package/src/refractor/visitors/Visitor.mjs +11 -9
- package/src/refractor/visitors/generics/AlternatingVisitor.cjs +3 -3
- package/src/refractor/visitors/generics/AlternatingVisitor.mjs +3 -3
- package/src/refractor/visitors/generics/FixedFieldsVisitor.cjs +10 -7
- package/src/refractor/visitors/generics/FixedFieldsVisitor.mjs +9 -6
- package/src/refractor/visitors/generics/MixedFieldsVisitor.cjs +13 -6
- package/src/refractor/visitors/generics/MixedFieldsVisitor.mjs +13 -6
- package/src/refractor/visitors/generics/PatternedFieldsVisitor.cjs +9 -6
- package/src/refractor/visitors/generics/PatternedFieldsVisitor.mjs +8 -5
- package/src/refractor/visitors/open-api-2/BasePathVisitor.cjs +2 -3
- package/src/refractor/visitors/open-api-2/BasePathVisitor.mjs +2 -3
- package/src/refractor/visitors/open-api-2/ConsumesVisitor.cjs +5 -4
- package/src/refractor/visitors/open-api-2/ConsumesVisitor.mjs +4 -3
- package/src/refractor/visitors/open-api-2/HostVisitor.cjs +2 -3
- package/src/refractor/visitors/open-api-2/HostVisitor.mjs +2 -3
- package/src/refractor/visitors/open-api-2/ProducesVisitor.cjs +5 -4
- package/src/refractor/visitors/open-api-2/ProducesVisitor.mjs +4 -3
- package/src/refractor/visitors/open-api-2/SchemesVisitor.cjs +5 -4
- package/src/refractor/visitors/open-api-2/SchemesVisitor.mjs +4 -3
- package/src/refractor/visitors/open-api-2/SecurityVisitor.cjs +5 -11
- package/src/refractor/visitors/open-api-2/SecurityVisitor.mjs +5 -10
- package/src/refractor/visitors/open-api-2/SwaggerVisitor.cjs +5 -10
- package/src/refractor/visitors/open-api-2/SwaggerVisitor.mjs +6 -10
- package/src/refractor/visitors/open-api-2/TagsVisitor.cjs +5 -11
- package/src/refractor/visitors/open-api-2/TagsVisitor.mjs +5 -10
- package/src/refractor/visitors/open-api-2/bases.cjs +72 -0
- package/src/refractor/visitors/open-api-2/bases.mjs +67 -0
- package/src/refractor/visitors/open-api-2/contact/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/contact/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/definitions/index.cjs +5 -12
- package/src/refractor/visitors/open-api-2/definitions/index.mjs +5 -11
- package/src/refractor/visitors/open-api-2/example/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/example/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/external-documentation/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/external-documentation/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/header/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/header/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/headers/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/headers/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/info/VersionVisitor.cjs +2 -3
- package/src/refractor/visitors/open-api-2/info/VersionVisitor.mjs +2 -3
- package/src/refractor/visitors/open-api-2/info/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/info/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/items/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/items/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/license/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/license/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/operation/ConsumesVisitor.cjs +5 -4
- package/src/refractor/visitors/open-api-2/operation/ConsumesVisitor.mjs +4 -3
- package/src/refractor/visitors/open-api-2/operation/ParametersVisitor.cjs +6 -12
- package/src/refractor/visitors/open-api-2/operation/ParametersVisitor.mjs +6 -11
- package/src/refractor/visitors/open-api-2/operation/ProducesVisitor.cjs +5 -4
- package/src/refractor/visitors/open-api-2/operation/ProducesVisitor.mjs +4 -3
- package/src/refractor/visitors/open-api-2/operation/SchemesVisitor.cjs +5 -4
- package/src/refractor/visitors/open-api-2/operation/SchemesVisitor.mjs +4 -3
- package/src/refractor/visitors/open-api-2/operation/SecurityVisitor.cjs +5 -11
- package/src/refractor/visitors/open-api-2/operation/SecurityVisitor.mjs +5 -10
- package/src/refractor/visitors/open-api-2/operation/TagsVisitor.cjs +5 -4
- package/src/refractor/visitors/open-api-2/operation/TagsVisitor.mjs +4 -3
- package/src/refractor/visitors/open-api-2/operation/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/operation/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/parameter/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/parameter/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/parameters-definitions/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/parameters-definitions/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/path-item/$RefVisitor.cjs +2 -3
- package/src/refractor/visitors/open-api-2/path-item/$RefVisitor.mjs +2 -3
- package/src/refractor/visitors/open-api-2/path-item/ParametersVisitor.cjs +6 -12
- package/src/refractor/visitors/open-api-2/path-item/ParametersVisitor.mjs +6 -11
- package/src/refractor/visitors/open-api-2/path-item/index.cjs +8 -14
- package/src/refractor/visitors/open-api-2/path-item/index.mjs +7 -12
- package/src/refractor/visitors/open-api-2/paths/index.cjs +6 -13
- package/src/refractor/visitors/open-api-2/paths/index.mjs +6 -12
- package/src/refractor/visitors/open-api-2/reference/$RefVisitor.cjs +2 -3
- package/src/refractor/visitors/open-api-2/reference/$RefVisitor.mjs +2 -3
- package/src/refractor/visitors/open-api-2/reference/index.cjs +6 -13
- package/src/refractor/visitors/open-api-2/reference/index.mjs +5 -11
- package/src/refractor/visitors/open-api-2/response/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/response/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/responses/DefaultVisitor.cjs +6 -12
- package/src/refractor/visitors/open-api-2/responses/DefaultVisitor.mjs +6 -11
- package/src/refractor/visitors/open-api-2/responses/index.cjs +8 -14
- package/src/refractor/visitors/open-api-2/responses/index.mjs +8 -13
- package/src/refractor/visitors/open-api-2/responses-definitions/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/responses-definitions/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/schema/AllOfVisitor.cjs +3 -4
- package/src/refractor/visitors/open-api-2/schema/AllOfVisitor.mjs +3 -4
- package/src/refractor/visitors/open-api-2/schema/ItemsVisitor.cjs +9 -15
- package/src/refractor/visitors/open-api-2/schema/ItemsVisitor.mjs +8 -13
- package/src/refractor/visitors/open-api-2/schema/PropertiesVisitor.cjs +3 -4
- package/src/refractor/visitors/open-api-2/schema/PropertiesVisitor.mjs +3 -4
- package/src/refractor/visitors/open-api-2/schema/SchemaOrJSONReferenceVisitor.cjs +3 -4
- package/src/refractor/visitors/open-api-2/schema/SchemaOrJSONReferenceVisitor.mjs +3 -4
- package/src/refractor/visitors/open-api-2/schema/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/schema/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/scopes/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/scopes/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/security-definitions/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/security-definitions/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/security-requirement/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/security-requirement/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/security-scheme/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/security-scheme/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/tag/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/tag/index.mjs +2 -7
- package/src/refractor/visitors/open-api-2/xml/index.cjs +2 -8
- package/src/refractor/visitors/open-api-2/xml/index.mjs +2 -7
- package/types/apidom-ns-openapi-2.d.ts +541 -565
- package/src/refractor/registration.cjs +0 -87
- package/src/refractor/registration.mjs +0 -56
- package/src/traversal/visitor.cjs +0 -56
- package/src/traversal/visitor.mjs +0 -53
package/src/predicates.mjs
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { createPredicate } from '@speclynx/apidom-core';
|
|
2
1
|
import SwaggerElement from "./elements/Swagger.mjs";
|
|
3
2
|
import SwaggerVersionElement from "./elements/SwaggerVersion.mjs";
|
|
4
3
|
import InfoElement from "./elements/Info.mjs";
|
|
@@ -29,296 +28,134 @@ import ScopesElement from "./elements/Scopes.mjs";
|
|
|
29
28
|
/**
|
|
30
29
|
* @public
|
|
31
30
|
*/
|
|
32
|
-
export const isSwaggerElement =
|
|
33
|
-
hasBasicElementProps,
|
|
34
|
-
isElementType,
|
|
35
|
-
primitiveEq
|
|
36
|
-
}) => {
|
|
37
|
-
return element => element instanceof SwaggerElement || hasBasicElementProps(element) && isElementType('swagger', element) && primitiveEq('object', element);
|
|
38
|
-
});
|
|
31
|
+
export const isSwaggerElement = element => element instanceof SwaggerElement;
|
|
39
32
|
|
|
40
33
|
/**
|
|
41
34
|
* @public
|
|
42
35
|
*/
|
|
43
|
-
export const isSwaggerVersionElement =
|
|
44
|
-
hasBasicElementProps,
|
|
45
|
-
isElementType,
|
|
46
|
-
primitiveEq
|
|
47
|
-
}) => {
|
|
48
|
-
return element => element instanceof SwaggerVersionElement || hasBasicElementProps(element) && isElementType('swaggerVersion', element) && primitiveEq('string', element);
|
|
49
|
-
});
|
|
36
|
+
export const isSwaggerVersionElement = element => element instanceof SwaggerVersionElement;
|
|
50
37
|
|
|
51
38
|
/**
|
|
52
39
|
* @public
|
|
53
40
|
*/
|
|
54
|
-
export const isInfoElement =
|
|
55
|
-
hasBasicElementProps,
|
|
56
|
-
isElementType,
|
|
57
|
-
primitiveEq
|
|
58
|
-
}) => {
|
|
59
|
-
return element => element instanceof InfoElement || hasBasicElementProps(element) && isElementType('info', element) && primitiveEq('object', element);
|
|
60
|
-
});
|
|
41
|
+
export const isInfoElement = element => element instanceof InfoElement;
|
|
61
42
|
|
|
62
43
|
/**
|
|
63
44
|
* @public
|
|
64
45
|
*/
|
|
65
|
-
export const isLicenseElement =
|
|
66
|
-
hasBasicElementProps,
|
|
67
|
-
isElementType,
|
|
68
|
-
primitiveEq
|
|
69
|
-
}) => {
|
|
70
|
-
return element => element instanceof LicenseElement || hasBasicElementProps(element) && isElementType('license', element) && primitiveEq('object', element);
|
|
71
|
-
});
|
|
46
|
+
export const isLicenseElement = element => element instanceof LicenseElement;
|
|
72
47
|
|
|
73
48
|
/**
|
|
74
49
|
* @public
|
|
75
50
|
*/
|
|
76
|
-
export const isContactElement =
|
|
77
|
-
hasBasicElementProps,
|
|
78
|
-
isElementType,
|
|
79
|
-
primitiveEq
|
|
80
|
-
}) => {
|
|
81
|
-
return element => element instanceof ContactElement || hasBasicElementProps(element) && isElementType('contact', element) && primitiveEq('object', element);
|
|
82
|
-
});
|
|
51
|
+
export const isContactElement = element => element instanceof ContactElement;
|
|
83
52
|
|
|
84
53
|
/**
|
|
85
54
|
* @public
|
|
86
55
|
*/
|
|
87
|
-
export const isPathsElement =
|
|
88
|
-
hasBasicElementProps,
|
|
89
|
-
isElementType,
|
|
90
|
-
primitiveEq
|
|
91
|
-
}) => {
|
|
92
|
-
return element => element instanceof PathsElement || hasBasicElementProps(element) && isElementType('paths', element) && primitiveEq('object', element);
|
|
93
|
-
});
|
|
56
|
+
export const isPathsElement = element => element instanceof PathsElement;
|
|
94
57
|
|
|
95
58
|
/**
|
|
96
59
|
* @public
|
|
97
60
|
*/
|
|
98
|
-
export const isPathItemElement =
|
|
99
|
-
hasBasicElementProps,
|
|
100
|
-
isElementType,
|
|
101
|
-
primitiveEq
|
|
102
|
-
}) => {
|
|
103
|
-
return element => element instanceof PathItemElement || hasBasicElementProps(element) && isElementType('pathItem', element) && primitiveEq('object', element);
|
|
104
|
-
});
|
|
61
|
+
export const isPathItemElement = element => element instanceof PathItemElement;
|
|
105
62
|
|
|
106
63
|
/**
|
|
107
64
|
* @public
|
|
108
65
|
*/
|
|
109
|
-
export const isOperationElement =
|
|
110
|
-
hasBasicElementProps,
|
|
111
|
-
isElementType,
|
|
112
|
-
primitiveEq
|
|
113
|
-
}) => {
|
|
114
|
-
return element => element instanceof OperationElement || hasBasicElementProps(element) && isElementType('operation', element) && primitiveEq('object', element);
|
|
115
|
-
});
|
|
66
|
+
export const isOperationElement = element => element instanceof OperationElement;
|
|
116
67
|
|
|
117
68
|
/**
|
|
118
69
|
* @public
|
|
119
70
|
*/
|
|
120
|
-
export const isExternalDocumentationElement =
|
|
121
|
-
hasBasicElementProps,
|
|
122
|
-
isElementType,
|
|
123
|
-
primitiveEq
|
|
124
|
-
}) => {
|
|
125
|
-
return element => element instanceof ExternalDocumentationElement || hasBasicElementProps(element) && isElementType('externalDocumentation', element) && primitiveEq('object', element);
|
|
126
|
-
});
|
|
71
|
+
export const isExternalDocumentationElement = element => element instanceof ExternalDocumentationElement;
|
|
127
72
|
|
|
128
73
|
/**
|
|
129
74
|
* @public
|
|
130
75
|
*/
|
|
131
|
-
export const isParameterElement =
|
|
132
|
-
hasBasicElementProps,
|
|
133
|
-
isElementType,
|
|
134
|
-
primitiveEq
|
|
135
|
-
}) => {
|
|
136
|
-
return element => element instanceof ParameterElement || hasBasicElementProps(element) && isElementType('parameter', element) && primitiveEq('object', element);
|
|
137
|
-
});
|
|
76
|
+
export const isParameterElement = element => element instanceof ParameterElement;
|
|
138
77
|
|
|
139
78
|
/**
|
|
140
79
|
* @public
|
|
141
80
|
*/
|
|
142
|
-
export const isItemsElement =
|
|
143
|
-
hasBasicElementProps,
|
|
144
|
-
isElementType,
|
|
145
|
-
primitiveEq
|
|
146
|
-
}) => {
|
|
147
|
-
return element => element instanceof ItemsElement || hasBasicElementProps(element) && isElementType('items', element) && primitiveEq('object', element);
|
|
148
|
-
});
|
|
81
|
+
export const isItemsElement = element => element instanceof ItemsElement;
|
|
149
82
|
|
|
150
83
|
/**
|
|
151
84
|
* @public
|
|
152
85
|
*/
|
|
153
|
-
export const isResponsesElement =
|
|
154
|
-
hasBasicElementProps,
|
|
155
|
-
isElementType,
|
|
156
|
-
primitiveEq
|
|
157
|
-
}) => {
|
|
158
|
-
return element => element instanceof ResponsesElement || hasBasicElementProps(element) && isElementType('responses', element) && primitiveEq('object', element);
|
|
159
|
-
});
|
|
86
|
+
export const isResponsesElement = element => element instanceof ResponsesElement;
|
|
160
87
|
|
|
161
88
|
/**
|
|
162
89
|
* @public
|
|
163
90
|
*/
|
|
164
|
-
export const isResponseElement =
|
|
165
|
-
hasBasicElementProps,
|
|
166
|
-
isElementType,
|
|
167
|
-
primitiveEq
|
|
168
|
-
}) => {
|
|
169
|
-
return element => element instanceof ResponseElement || hasBasicElementProps(element) && isElementType('response', element) && primitiveEq('object', element);
|
|
170
|
-
});
|
|
91
|
+
export const isResponseElement = element => element instanceof ResponseElement;
|
|
171
92
|
|
|
172
93
|
/**
|
|
173
94
|
* @public
|
|
174
95
|
*/
|
|
175
|
-
export const isHeadersElement =
|
|
176
|
-
hasBasicElementProps,
|
|
177
|
-
isElementType,
|
|
178
|
-
primitiveEq
|
|
179
|
-
}) => {
|
|
180
|
-
return element => element instanceof HeadersElement || hasBasicElementProps(element) && isElementType('headers', element) && primitiveEq('object', element);
|
|
181
|
-
});
|
|
96
|
+
export const isHeadersElement = element => element instanceof HeadersElement;
|
|
182
97
|
|
|
183
98
|
/**
|
|
184
99
|
* @public
|
|
185
100
|
*/
|
|
186
|
-
export const isExampleElement =
|
|
187
|
-
hasBasicElementProps,
|
|
188
|
-
isElementType,
|
|
189
|
-
primitiveEq
|
|
190
|
-
}) => {
|
|
191
|
-
return element => element instanceof ExampleElement || hasBasicElementProps(element) && isElementType('example', element) && primitiveEq('object', element);
|
|
192
|
-
});
|
|
101
|
+
export const isExampleElement = element => element instanceof ExampleElement;
|
|
193
102
|
|
|
194
103
|
/**
|
|
195
104
|
* @public
|
|
196
105
|
*/
|
|
197
|
-
export const isHeaderElement =
|
|
198
|
-
hasBasicElementProps,
|
|
199
|
-
isElementType,
|
|
200
|
-
primitiveEq
|
|
201
|
-
}) => {
|
|
202
|
-
return element => element instanceof HeaderElement || hasBasicElementProps(element) && isElementType('header', element) && primitiveEq('object', element);
|
|
203
|
-
});
|
|
106
|
+
export const isHeaderElement = element => element instanceof HeaderElement;
|
|
204
107
|
|
|
205
108
|
/**
|
|
206
109
|
* @public
|
|
207
110
|
*/
|
|
208
|
-
export const isTagElement =
|
|
209
|
-
hasBasicElementProps,
|
|
210
|
-
isElementType,
|
|
211
|
-
primitiveEq
|
|
212
|
-
}) => {
|
|
213
|
-
return element => element instanceof TagElement || hasBasicElementProps(element) && isElementType('tag', element) && primitiveEq('object', element);
|
|
214
|
-
});
|
|
111
|
+
export const isTagElement = element => element instanceof TagElement;
|
|
215
112
|
|
|
216
113
|
/**
|
|
217
114
|
* @public
|
|
218
115
|
*/
|
|
219
|
-
export const isReferenceElement =
|
|
220
|
-
hasBasicElementProps,
|
|
221
|
-
isElementType,
|
|
222
|
-
primitiveEq
|
|
223
|
-
}) => {
|
|
224
|
-
return element => element instanceof ReferenceElement || hasBasicElementProps(element) && isElementType('reference', element) && primitiveEq('object', element);
|
|
225
|
-
});
|
|
116
|
+
export const isReferenceElement = element => element instanceof ReferenceElement;
|
|
226
117
|
|
|
227
118
|
/**
|
|
228
119
|
* @public
|
|
229
120
|
*/
|
|
230
|
-
export const isSchemaElement =
|
|
231
|
-
hasBasicElementProps,
|
|
232
|
-
isElementType,
|
|
233
|
-
primitiveEq
|
|
234
|
-
}) => {
|
|
235
|
-
return element => element instanceof SchemaElement || hasBasicElementProps(element) && isElementType('schema', element) && primitiveEq('object', element);
|
|
236
|
-
});
|
|
121
|
+
export const isSchemaElement = element => element instanceof SchemaElement;
|
|
237
122
|
|
|
238
123
|
/**
|
|
239
124
|
* @public
|
|
240
125
|
*/
|
|
241
|
-
export const isXmlElement =
|
|
242
|
-
hasBasicElementProps,
|
|
243
|
-
isElementType,
|
|
244
|
-
primitiveEq
|
|
245
|
-
}) => {
|
|
246
|
-
return element => element instanceof XmlElement || hasBasicElementProps(element) && isElementType('xml', element) && primitiveEq('object', element);
|
|
247
|
-
});
|
|
126
|
+
export const isXmlElement = element => element instanceof XmlElement;
|
|
248
127
|
|
|
249
128
|
/**
|
|
250
129
|
* @public
|
|
251
130
|
*/
|
|
252
|
-
export const isResponsesDefinitionsElement =
|
|
253
|
-
hasBasicElementProps,
|
|
254
|
-
isElementType,
|
|
255
|
-
primitiveEq
|
|
256
|
-
}) => {
|
|
257
|
-
return element => element instanceof ResponsesDefinitionsElement || hasBasicElementProps(element) && isElementType('responsesDefinitions', element) && primitiveEq('object', element);
|
|
258
|
-
});
|
|
131
|
+
export const isResponsesDefinitionsElement = element => element instanceof ResponsesDefinitionsElement;
|
|
259
132
|
|
|
260
133
|
/**
|
|
261
134
|
* @public
|
|
262
135
|
*/
|
|
263
|
-
export const isSecurityDefinitionsElement =
|
|
264
|
-
hasBasicElementProps,
|
|
265
|
-
isElementType,
|
|
266
|
-
primitiveEq
|
|
267
|
-
}) => {
|
|
268
|
-
return element => element instanceof SecurityDefinitionsElement || hasBasicElementProps(element) && isElementType('securityDefinitions', element) && primitiveEq('object', element);
|
|
269
|
-
});
|
|
136
|
+
export const isSecurityDefinitionsElement = element => element instanceof SecurityDefinitionsElement;
|
|
270
137
|
|
|
271
138
|
/**
|
|
272
139
|
* @public
|
|
273
140
|
*/
|
|
274
|
-
export const isDefinitionsElement =
|
|
275
|
-
hasBasicElementProps,
|
|
276
|
-
isElementType,
|
|
277
|
-
primitiveEq
|
|
278
|
-
}) => {
|
|
279
|
-
return element => element instanceof DefinitionsElement || hasBasicElementProps(element) && isElementType('definitions', element) && primitiveEq('object', element);
|
|
280
|
-
});
|
|
141
|
+
export const isDefinitionsElement = element => element instanceof DefinitionsElement;
|
|
281
142
|
|
|
282
143
|
/**
|
|
283
144
|
* @public
|
|
284
145
|
*/
|
|
285
|
-
export const isParametersDefinitionsElement =
|
|
286
|
-
hasBasicElementProps,
|
|
287
|
-
isElementType,
|
|
288
|
-
primitiveEq
|
|
289
|
-
}) => {
|
|
290
|
-
return element => element instanceof ParametersDefinitionsElement || hasBasicElementProps(element) && isElementType('parametersDefinitions', element) && primitiveEq('object', element);
|
|
291
|
-
});
|
|
146
|
+
export const isParametersDefinitionsElement = element => element instanceof ParametersDefinitionsElement;
|
|
292
147
|
|
|
293
148
|
/**
|
|
294
149
|
* @public
|
|
295
150
|
*/
|
|
296
|
-
export const isSecuritySchemeElement =
|
|
297
|
-
hasBasicElementProps,
|
|
298
|
-
isElementType,
|
|
299
|
-
primitiveEq
|
|
300
|
-
}) => {
|
|
301
|
-
return element => element instanceof SecuritySchemeElement || hasBasicElementProps(element) && isElementType('securityScheme', element) && primitiveEq('object', element);
|
|
302
|
-
});
|
|
151
|
+
export const isSecuritySchemeElement = element => element instanceof SecuritySchemeElement;
|
|
303
152
|
|
|
304
153
|
/**
|
|
305
154
|
* @public
|
|
306
155
|
*/
|
|
307
|
-
export const isScopesElement =
|
|
308
|
-
hasBasicElementProps,
|
|
309
|
-
isElementType,
|
|
310
|
-
primitiveEq
|
|
311
|
-
}) => {
|
|
312
|
-
return element => element instanceof ScopesElement || hasBasicElementProps(element) && isElementType('scopes', element) && primitiveEq('object', element);
|
|
313
|
-
});
|
|
156
|
+
export const isScopesElement = element => element instanceof ScopesElement;
|
|
314
157
|
|
|
315
158
|
/**
|
|
316
159
|
* @public
|
|
317
160
|
*/
|
|
318
|
-
export const isSecurityRequirementElement =
|
|
319
|
-
hasBasicElementProps,
|
|
320
|
-
isElementType,
|
|
321
|
-
primitiveEq
|
|
322
|
-
}) => {
|
|
323
|
-
return element => element instanceof SecurityRequirementElement || hasBasicElementProps(element) && isElementType('securityRequirement', element) && primitiveEq('object', element);
|
|
324
|
-
});
|
|
161
|
+
export const isSecurityRequirementElement = element => element instanceof SecurityRequirementElement;
|
package/src/refractor/index.cjs
CHANGED
|
@@ -2,51 +2,313 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
4
|
exports.__esModule = true;
|
|
5
|
-
exports.
|
|
5
|
+
exports.refractXml = exports.refractTag = exports.refractSwagger = exports.refractSecurityScheme = exports.refractSecurityRequirement = exports.refractSecurityDefinitions = exports.refractScopes = exports.refractSchema = exports.refractResponsesDefinitions = exports.refractResponses = exports.refractResponse = exports.refractReference = exports.refractPaths = exports.refractPathItem = exports.refractParametersDefinitions = exports.refractParameter = exports.refractOperation = exports.refractLicense = exports.refractItems = exports.refractInfo = exports.refractHeaders = exports.refractHeader = exports.refractExternalDocumentation = exports.refractExample = exports.refractDefinitions = exports.refractContact = exports.default = void 0;
|
|
6
6
|
var _apidomCore = require("@speclynx/apidom-core");
|
|
7
|
+
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
8
|
+
var _apidomTraverse = require("@speclynx/apidom-traverse");
|
|
7
9
|
var _ramda = require("ramda");
|
|
8
10
|
var _specification = _interopRequireDefault(require("./specification.cjs"));
|
|
9
|
-
var _visitor = require("../traversal/visitor.cjs");
|
|
10
11
|
var _toolbox = _interopRequireDefault(require("./toolbox.cjs"));
|
|
12
|
+
/**
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @public
|
|
18
|
+
*/
|
|
19
|
+
|
|
11
20
|
/**
|
|
12
21
|
* @public
|
|
13
22
|
*/
|
|
14
23
|
const refract = (value, {
|
|
15
|
-
|
|
16
|
-
plugins = []
|
|
24
|
+
element = 'swagger',
|
|
25
|
+
plugins = [],
|
|
26
|
+
specificationObj = _specification.default
|
|
17
27
|
} = {}) => {
|
|
18
|
-
const
|
|
19
|
-
const resolvedSpec = (0, _apidomCore.
|
|
28
|
+
const genericElement = (0, _apidomDatamodel.refract)(value);
|
|
29
|
+
const resolvedSpec = (0, _apidomCore.resolveSpecification)(specificationObj);
|
|
30
|
+
const elementMap = resolvedSpec.elementMap;
|
|
31
|
+
const specPath = elementMap[element];
|
|
32
|
+
if (!specPath) {
|
|
33
|
+
throw new Error(`Unknown element type: "${element}"`);
|
|
34
|
+
}
|
|
20
35
|
|
|
21
36
|
/**
|
|
22
37
|
* This is where generic ApiDOM becomes semantic (namespace applied).
|
|
23
38
|
* We don't allow consumers to hook into this translation.
|
|
24
|
-
* Though we allow consumers to define their
|
|
39
|
+
* Though we allow consumers to define their own plugins on already transformed ApiDOM.
|
|
25
40
|
*/
|
|
26
41
|
const RootVisitorClass = (0, _ramda.path)(specPath, resolvedSpec);
|
|
27
42
|
const rootVisitor = new RootVisitorClass({
|
|
28
43
|
specObj: resolvedSpec
|
|
29
44
|
});
|
|
30
|
-
(0,
|
|
45
|
+
(0, _apidomTraverse.traverse)(genericElement, rootVisitor);
|
|
31
46
|
|
|
32
47
|
/**
|
|
33
48
|
* Running plugins visitors means extra single traversal === performance hit.
|
|
34
49
|
*/
|
|
35
50
|
return (0, _apidomCore.dispatchRefractorPlugins)(rootVisitor.element, plugins, {
|
|
36
|
-
toolboxCreator: _toolbox.default
|
|
37
|
-
visitorOptions: {
|
|
38
|
-
keyMap: _visitor.keyMap,
|
|
39
|
-
nodeTypeGetter: _visitor.getNodeType
|
|
40
|
-
}
|
|
51
|
+
toolboxCreator: _toolbox.default
|
|
41
52
|
});
|
|
42
53
|
};
|
|
43
54
|
|
|
44
55
|
/**
|
|
56
|
+
* Refracts a value into a SwaggerElement.
|
|
57
|
+
* @public
|
|
58
|
+
*/
|
|
59
|
+
const refractSwagger = (value, options = {}) => refract(value, {
|
|
60
|
+
...options,
|
|
61
|
+
element: 'swagger'
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Refracts a value into an InfoElement.
|
|
66
|
+
* @public
|
|
67
|
+
*/
|
|
68
|
+
exports.refractSwagger = refractSwagger;
|
|
69
|
+
const refractInfo = (value, options = {}) => refract(value, {
|
|
70
|
+
...options,
|
|
71
|
+
element: 'info'
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Refracts a value into a ContactElement.
|
|
76
|
+
* @public
|
|
77
|
+
*/
|
|
78
|
+
exports.refractInfo = refractInfo;
|
|
79
|
+
const refractContact = (value, options = {}) => refract(value, {
|
|
80
|
+
...options,
|
|
81
|
+
element: 'contact'
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Refracts a value into a LicenseElement.
|
|
86
|
+
* @public
|
|
87
|
+
*/
|
|
88
|
+
exports.refractContact = refractContact;
|
|
89
|
+
const refractLicense = (value, options = {}) => refract(value, {
|
|
90
|
+
...options,
|
|
91
|
+
element: 'license'
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Refracts a value into a PathsElement.
|
|
96
|
+
* @public
|
|
97
|
+
*/
|
|
98
|
+
exports.refractLicense = refractLicense;
|
|
99
|
+
const refractPaths = (value, options = {}) => refract(value, {
|
|
100
|
+
...options,
|
|
101
|
+
element: 'paths'
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Refracts a value into a PathItemElement.
|
|
106
|
+
* @public
|
|
107
|
+
*/
|
|
108
|
+
exports.refractPaths = refractPaths;
|
|
109
|
+
const refractPathItem = (value, options = {}) => refract(value, {
|
|
110
|
+
...options,
|
|
111
|
+
element: 'pathItem'
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Refracts a value into an OperationElement.
|
|
116
|
+
* @public
|
|
117
|
+
*/
|
|
118
|
+
exports.refractPathItem = refractPathItem;
|
|
119
|
+
const refractOperation = (value, options = {}) => refract(value, {
|
|
120
|
+
...options,
|
|
121
|
+
element: 'operation'
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Refracts a value into an ExternalDocumentationElement.
|
|
126
|
+
* @public
|
|
127
|
+
*/
|
|
128
|
+
exports.refractOperation = refractOperation;
|
|
129
|
+
const refractExternalDocumentation = (value, options = {}) => refract(value, {
|
|
130
|
+
...options,
|
|
131
|
+
element: 'externalDocumentation'
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Refracts a value into a ParameterElement.
|
|
136
|
+
* @public
|
|
137
|
+
*/
|
|
138
|
+
exports.refractExternalDocumentation = refractExternalDocumentation;
|
|
139
|
+
const refractParameter = (value, options = {}) => refract(value, {
|
|
140
|
+
...options,
|
|
141
|
+
element: 'parameter'
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Refracts a value into an ItemsElement.
|
|
146
|
+
* @public
|
|
147
|
+
*/
|
|
148
|
+
exports.refractParameter = refractParameter;
|
|
149
|
+
const refractItems = (value, options = {}) => refract(value, {
|
|
150
|
+
...options,
|
|
151
|
+
element: 'items'
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Refracts a value into a ResponsesElement.
|
|
156
|
+
* @public
|
|
157
|
+
*/
|
|
158
|
+
exports.refractItems = refractItems;
|
|
159
|
+
const refractResponses = (value, options = {}) => refract(value, {
|
|
160
|
+
...options,
|
|
161
|
+
element: 'responses'
|
|
162
|
+
});
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Refracts a value into a ResponseElement.
|
|
166
|
+
* @public
|
|
167
|
+
*/
|
|
168
|
+
exports.refractResponses = refractResponses;
|
|
169
|
+
const refractResponse = (value, options = {}) => refract(value, {
|
|
170
|
+
...options,
|
|
171
|
+
element: 'response'
|
|
172
|
+
});
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Refracts a value into a HeadersElement.
|
|
176
|
+
* @public
|
|
177
|
+
*/
|
|
178
|
+
exports.refractResponse = refractResponse;
|
|
179
|
+
const refractHeaders = (value, options = {}) => refract(value, {
|
|
180
|
+
...options,
|
|
181
|
+
element: 'headers'
|
|
182
|
+
});
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Refracts a value into an ExampleElement.
|
|
186
|
+
* @public
|
|
187
|
+
*/
|
|
188
|
+
exports.refractHeaders = refractHeaders;
|
|
189
|
+
const refractExample = (value, options = {}) => refract(value, {
|
|
190
|
+
...options,
|
|
191
|
+
element: 'example'
|
|
192
|
+
});
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* Refracts a value into a HeaderElement.
|
|
196
|
+
* @public
|
|
197
|
+
*/
|
|
198
|
+
exports.refractExample = refractExample;
|
|
199
|
+
const refractHeader = (value, options = {}) => refract(value, {
|
|
200
|
+
...options,
|
|
201
|
+
element: 'header'
|
|
202
|
+
});
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Refracts a value into a TagElement.
|
|
206
|
+
* @public
|
|
207
|
+
*/
|
|
208
|
+
exports.refractHeader = refractHeader;
|
|
209
|
+
const refractTag = (value, options = {}) => refract(value, {
|
|
210
|
+
...options,
|
|
211
|
+
element: 'tag'
|
|
212
|
+
});
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* Refracts a value into a ReferenceElement.
|
|
216
|
+
* @public
|
|
217
|
+
*/
|
|
218
|
+
exports.refractTag = refractTag;
|
|
219
|
+
const refractReference = (value, options = {}) => refract(value, {
|
|
220
|
+
...options,
|
|
221
|
+
element: 'reference'
|
|
222
|
+
});
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* Refracts a value into a SchemaElement.
|
|
226
|
+
* @public
|
|
227
|
+
*/
|
|
228
|
+
exports.refractReference = refractReference;
|
|
229
|
+
const refractSchema = (value, options = {}) => refract(value, {
|
|
230
|
+
...options,
|
|
231
|
+
element: 'schema'
|
|
232
|
+
});
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Refracts a value into an XmlElement.
|
|
236
|
+
* @public
|
|
237
|
+
*/
|
|
238
|
+
exports.refractSchema = refractSchema;
|
|
239
|
+
const refractXml = (value, options = {}) => refract(value, {
|
|
240
|
+
...options,
|
|
241
|
+
element: 'xml'
|
|
242
|
+
});
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* Refracts a value into a DefinitionsElement.
|
|
246
|
+
* @public
|
|
247
|
+
*/
|
|
248
|
+
exports.refractXml = refractXml;
|
|
249
|
+
const refractDefinitions = (value, options = {}) => refract(value, {
|
|
250
|
+
...options,
|
|
251
|
+
element: 'definitions'
|
|
252
|
+
});
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* Refracts a value into a ParametersDefinitionsElement.
|
|
256
|
+
* @public
|
|
257
|
+
*/
|
|
258
|
+
exports.refractDefinitions = refractDefinitions;
|
|
259
|
+
const refractParametersDefinitions = (value, options = {}) => refract(value, {
|
|
260
|
+
...options,
|
|
261
|
+
element: 'parametersDefinitions'
|
|
262
|
+
});
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* Refracts a value into a ResponsesDefinitionsElement.
|
|
266
|
+
* @public
|
|
267
|
+
*/
|
|
268
|
+
exports.refractParametersDefinitions = refractParametersDefinitions;
|
|
269
|
+
const refractResponsesDefinitions = (value, options = {}) => refract(value, {
|
|
270
|
+
...options,
|
|
271
|
+
element: 'responsesDefinitions'
|
|
272
|
+
});
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* Refracts a value into a SecurityDefinitionsElement.
|
|
276
|
+
* @public
|
|
277
|
+
*/
|
|
278
|
+
exports.refractResponsesDefinitions = refractResponsesDefinitions;
|
|
279
|
+
const refractSecurityDefinitions = (value, options = {}) => refract(value, {
|
|
280
|
+
...options,
|
|
281
|
+
element: 'securityDefinitions'
|
|
282
|
+
});
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* Refracts a value into a SecuritySchemeElement.
|
|
286
|
+
* @public
|
|
287
|
+
*/
|
|
288
|
+
exports.refractSecurityDefinitions = refractSecurityDefinitions;
|
|
289
|
+
const refractSecurityScheme = (value, options = {}) => refract(value, {
|
|
290
|
+
...options,
|
|
291
|
+
element: 'securityScheme'
|
|
292
|
+
});
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* Refracts a value into a ScopesElement.
|
|
296
|
+
* @public
|
|
297
|
+
*/
|
|
298
|
+
exports.refractSecurityScheme = refractSecurityScheme;
|
|
299
|
+
const refractScopes = (value, options = {}) => refract(value, {
|
|
300
|
+
...options,
|
|
301
|
+
element: 'scopes'
|
|
302
|
+
});
|
|
303
|
+
|
|
304
|
+
/**
|
|
305
|
+
* Refracts a value into a SecurityRequirementElement.
|
|
45
306
|
* @public
|
|
46
307
|
*/
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
...options
|
|
308
|
+
exports.refractScopes = refractScopes;
|
|
309
|
+
const refractSecurityRequirement = (value, options = {}) => refract(value, {
|
|
310
|
+
...options,
|
|
311
|
+
element: 'securityRequirement'
|
|
50
312
|
});
|
|
51
|
-
exports.
|
|
313
|
+
exports.refractSecurityRequirement = refractSecurityRequirement;
|
|
52
314
|
var _default = exports.default = refract;
|