@speclynx/apidom-ns-openapi-2 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 +12 -0
- package/dist/apidom-ns-openapi-2.browser.js +7 -7
- package/dist/apidom-ns-openapi-2.browser.min.js +1 -1
- package/package.json +7 -7
- package/src/elements/Contact.cjs +33 -0
- package/src/elements/Contact.mjs +30 -0
- package/src/elements/Definitions.cjs +15 -0
- package/src/elements/Definitions.mjs +12 -0
- package/src/elements/Example.cjs +15 -0
- package/src/elements/Example.mjs +12 -0
- package/src/elements/ExternalDocumentation.cjs +27 -0
- package/src/elements/ExternalDocumentation.mjs +24 -0
- package/src/elements/Header.cjs +185 -0
- package/src/elements/Header.mjs +182 -0
- package/src/elements/Headers.cjs +15 -0
- package/src/elements/Headers.mjs +12 -0
- package/src/elements/Info.cjs +52 -0
- package/src/elements/Info.mjs +48 -0
- package/src/elements/Items.cjs +190 -0
- package/src/elements/Items.mjs +187 -0
- package/src/elements/License.cjs +27 -0
- package/src/elements/License.mjs +24 -0
- package/src/elements/Operation.cjs +78 -0
- package/src/elements/Operation.mjs +74 -0
- package/src/elements/Parameter.cjs +230 -0
- package/src/elements/Parameter.mjs +226 -0
- package/src/elements/ParametersDefinitions.cjs +15 -0
- package/src/elements/ParametersDefinitions.mjs +12 -0
- package/src/elements/PathItem.cjs +69 -0
- package/src/elements/PathItem.mjs +65 -0
- package/src/elements/Paths.cjs +15 -0
- package/src/elements/Paths.mjs +12 -0
- package/src/elements/Reference.cjs +22 -0
- package/src/elements/Reference.mjs +19 -0
- package/src/elements/Response.cjs +39 -0
- package/src/elements/Response.mjs +35 -0
- package/src/elements/Responses.cjs +21 -0
- package/src/elements/Responses.mjs +17 -0
- package/src/elements/ResponsesDefinitions.cjs +15 -0
- package/src/elements/ResponsesDefinitions.mjs +12 -0
- package/src/elements/Schema.cjs +151 -0
- package/src/elements/Schema.mjs +147 -0
- package/src/elements/Scopes.cjs +15 -0
- package/src/elements/Scopes.mjs +12 -0
- package/src/elements/SecurityDefinitions.cjs +15 -0
- package/src/elements/SecurityDefinitions.mjs +12 -0
- package/src/elements/SecurityRequirement.cjs +15 -0
- package/src/elements/SecurityRequirement.mjs +12 -0
- package/src/elements/SecurityScheme.cjs +63 -0
- package/src/elements/SecurityScheme.mjs +60 -0
- package/src/elements/Swagger.cjs +106 -0
- package/src/elements/Swagger.mjs +102 -0
- package/src/elements/SwaggerVersion.cjs +17 -0
- package/src/elements/SwaggerVersion.mjs +14 -0
- package/src/elements/Tag.cjs +33 -0
- package/src/elements/Tag.mjs +29 -0
- package/src/elements/Xml.cjs +45 -0
- package/src/elements/Xml.mjs +42 -0
- package/src/elements/nces/OperationConsumes.cjs +16 -0
- package/src/elements/nces/OperationConsumes.mjs +13 -0
- package/src/elements/nces/OperationParameters.cjs +17 -0
- package/src/elements/nces/OperationParameters.mjs +14 -0
- package/src/elements/nces/OperationProduces.cjs +16 -0
- package/src/elements/nces/OperationProduces.mjs +13 -0
- package/src/elements/nces/OperationSchemes.cjs +16 -0
- package/src/elements/nces/OperationSchemes.mjs +13 -0
- package/src/elements/nces/OperationSecurity.cjs +17 -0
- package/src/elements/nces/OperationSecurity.mjs +14 -0
- package/src/elements/nces/OperationTags.cjs +17 -0
- package/src/elements/nces/OperationTags.mjs +14 -0
- package/src/elements/nces/PathItemParameters.cjs +17 -0
- package/src/elements/nces/PathItemParameters.mjs +14 -0
- package/src/elements/nces/SwaggerConsumes.cjs +16 -0
- package/src/elements/nces/SwaggerConsumes.mjs +13 -0
- package/src/elements/nces/SwaggerProduces.cjs +16 -0
- package/src/elements/nces/SwaggerProduces.mjs +13 -0
- package/src/elements/nces/SwaggerSchemes.cjs +16 -0
- package/src/elements/nces/SwaggerSchemes.mjs +13 -0
- package/src/elements/nces/SwaggerSecurity.cjs +17 -0
- package/src/elements/nces/SwaggerSecurity.mjs +14 -0
- package/src/elements/nces/SwaggerTags.cjs +16 -0
- package/src/elements/nces/SwaggerTags.mjs +13 -0
- package/src/index.cjs +156 -0
- package/src/index.mjs +32 -0
- package/src/media-types.cjs +34 -0
- package/src/media-types.mjs +30 -0
- package/src/namespace.cjs +71 -0
- package/src/namespace.mjs +66 -0
- package/src/predicates.cjs +193 -0
- package/src/predicates.mjs +161 -0
- package/src/refractor/index.cjs +316 -0
- package/src/refractor/index.mjs +283 -0
- package/src/refractor/inspect.cjs +157 -0
- package/src/refractor/inspect.mjs +126 -0
- package/src/refractor/plugins/replace-empty-element.cjs +366 -0
- package/src/refractor/plugins/replace-empty-element.mjs +358 -0
- package/src/refractor/predicates.cjs +26 -0
- package/src/refractor/predicates.mjs +21 -0
- package/src/refractor/specification.cjs +519 -0
- package/src/refractor/specification.mjs +513 -0
- package/src/refractor/toolbox.cjs +28 -0
- package/src/refractor/toolbox.mjs +21 -0
- package/src/refractor/visitors/FallbackVisitor.cjs +24 -0
- package/src/refractor/visitors/FallbackVisitor.mjs +18 -0
- package/src/refractor/visitors/SpecificationExtensionVisitor.cjs +18 -0
- package/src/refractor/visitors/SpecificationExtensionVisitor.mjs +13 -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 +73 -0
- package/src/refractor/visitors/generics/FixedFieldsVisitor.mjs +66 -0
- package/src/refractor/visitors/generics/MapVisitor.cjs +21 -0
- package/src/refractor/visitors/generics/MapVisitor.mjs +15 -0
- package/src/refractor/visitors/generics/MixedFieldsVisitor.cjs +67 -0
- package/src/refractor/visitors/generics/MixedFieldsVisitor.mjs +61 -0
- package/src/refractor/visitors/generics/PatternedFieldsVisitor.cjs +72 -0
- package/src/refractor/visitors/generics/PatternedFieldsVisitor.mjs +66 -0
- package/src/refractor/visitors/open-api-2/BasePathVisitor.cjs +16 -0
- package/src/refractor/visitors/open-api-2/BasePathVisitor.mjs +11 -0
- package/src/refractor/visitors/open-api-2/ConsumesVisitor.cjs +23 -0
- package/src/refractor/visitors/open-api-2/ConsumesVisitor.mjs +18 -0
- package/src/refractor/visitors/open-api-2/HostVisitor.cjs +16 -0
- package/src/refractor/visitors/open-api-2/HostVisitor.mjs +11 -0
- package/src/refractor/visitors/open-api-2/ProducesVisitor.cjs +23 -0
- package/src/refractor/visitors/open-api-2/ProducesVisitor.mjs +18 -0
- package/src/refractor/visitors/open-api-2/SchemesVisitor.cjs +23 -0
- package/src/refractor/visitors/open-api-2/SchemesVisitor.mjs +18 -0
- package/src/refractor/visitors/open-api-2/SecurityVisitor.cjs +27 -0
- package/src/refractor/visitors/open-api-2/SecurityVisitor.mjs +22 -0
- package/src/refractor/visitors/open-api-2/SwaggerVisitor.cjs +21 -0
- package/src/refractor/visitors/open-api-2/SwaggerVisitor.mjs +16 -0
- package/src/refractor/visitors/open-api-2/TagsVisitor.cjs +27 -0
- package/src/refractor/visitors/open-api-2/TagsVisitor.mjs +22 -0
- 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 +20 -0
- package/src/refractor/visitors/open-api-2/contact/index.mjs +15 -0
- package/src/refractor/visitors/open-api-2/definitions/index.cjs +31 -0
- package/src/refractor/visitors/open-api-2/definitions/index.mjs +26 -0
- package/src/refractor/visitors/open-api-2/example/index.cjs +20 -0
- package/src/refractor/visitors/open-api-2/example/index.mjs +15 -0
- package/src/refractor/visitors/open-api-2/external-documentation/index.cjs +20 -0
- package/src/refractor/visitors/open-api-2/external-documentation/index.mjs +15 -0
- package/src/refractor/visitors/open-api-2/header/index.cjs +20 -0
- package/src/refractor/visitors/open-api-2/header/index.mjs +15 -0
- package/src/refractor/visitors/open-api-2/headers/index.cjs +20 -0
- package/src/refractor/visitors/open-api-2/headers/index.mjs +15 -0
- package/src/refractor/visitors/open-api-2/index.cjs +21 -0
- package/src/refractor/visitors/open-api-2/index.mjs +16 -0
- package/src/refractor/visitors/open-api-2/info/VersionVisitor.cjs +17 -0
- package/src/refractor/visitors/open-api-2/info/VersionVisitor.mjs +12 -0
- package/src/refractor/visitors/open-api-2/info/index.cjs +20 -0
- package/src/refractor/visitors/open-api-2/info/index.mjs +15 -0
- package/src/refractor/visitors/open-api-2/items/index.cjs +22 -0
- package/src/refractor/visitors/open-api-2/items/index.mjs +17 -0
- package/src/refractor/visitors/open-api-2/license/index.cjs +20 -0
- package/src/refractor/visitors/open-api-2/license/index.mjs +15 -0
- package/src/refractor/visitors/open-api-2/operation/ConsumesVisitor.cjs +23 -0
- package/src/refractor/visitors/open-api-2/operation/ConsumesVisitor.mjs +18 -0
- package/src/refractor/visitors/open-api-2/operation/ParametersVisitor.cjs +32 -0
- package/src/refractor/visitors/open-api-2/operation/ParametersVisitor.mjs +27 -0
- package/src/refractor/visitors/open-api-2/operation/ProducesVisitor.cjs +23 -0
- package/src/refractor/visitors/open-api-2/operation/ProducesVisitor.mjs +18 -0
- package/src/refractor/visitors/open-api-2/operation/SchemesVisitor.cjs +23 -0
- package/src/refractor/visitors/open-api-2/operation/SchemesVisitor.mjs +18 -0
- package/src/refractor/visitors/open-api-2/operation/SecurityVisitor.cjs +27 -0
- package/src/refractor/visitors/open-api-2/operation/SecurityVisitor.mjs +22 -0
- package/src/refractor/visitors/open-api-2/operation/TagsVisitor.cjs +23 -0
- package/src/refractor/visitors/open-api-2/operation/TagsVisitor.mjs +18 -0
- package/src/refractor/visitors/open-api-2/operation/index.cjs +19 -0
- package/src/refractor/visitors/open-api-2/operation/index.mjs +14 -0
- package/src/refractor/visitors/open-api-2/parameter/index.cjs +20 -0
- package/src/refractor/visitors/open-api-2/parameter/index.mjs +15 -0
- package/src/refractor/visitors/open-api-2/parameters-definitions/index.cjs +19 -0
- package/src/refractor/visitors/open-api-2/parameters-definitions/index.mjs +14 -0
- package/src/refractor/visitors/open-api-2/path-item/$RefVisitor.cjs +16 -0
- package/src/refractor/visitors/open-api-2/path-item/$RefVisitor.mjs +11 -0
- package/src/refractor/visitors/open-api-2/path-item/ParametersVisitor.cjs +32 -0
- package/src/refractor/visitors/open-api-2/path-item/ParametersVisitor.mjs +27 -0
- package/src/refractor/visitors/open-api-2/path-item/index.cjs +39 -0
- package/src/refractor/visitors/open-api-2/path-item/index.mjs +34 -0
- package/src/refractor/visitors/open-api-2/paths/index.cjs +37 -0
- package/src/refractor/visitors/open-api-2/paths/index.mjs +32 -0
- package/src/refractor/visitors/open-api-2/reference/$RefVisitor.cjs +16 -0
- package/src/refractor/visitors/open-api-2/reference/$RefVisitor.mjs +11 -0
- package/src/refractor/visitors/open-api-2/reference/index.cjs +29 -0
- package/src/refractor/visitors/open-api-2/reference/index.mjs +24 -0
- package/src/refractor/visitors/open-api-2/response/index.cjs +20 -0
- package/src/refractor/visitors/open-api-2/response/index.mjs +15 -0
- package/src/refractor/visitors/open-api-2/responses/DefaultVisitor.cjs +36 -0
- package/src/refractor/visitors/open-api-2/responses/DefaultVisitor.mjs +31 -0
- package/src/refractor/visitors/open-api-2/responses/index.cjs +45 -0
- package/src/refractor/visitors/open-api-2/responses/index.mjs +40 -0
- package/src/refractor/visitors/open-api-2/responses-definitions/index.cjs +19 -0
- package/src/refractor/visitors/open-api-2/responses-definitions/index.mjs +14 -0
- package/src/refractor/visitors/open-api-2/schema/AllOfVisitor.cjs +24 -0
- package/src/refractor/visitors/open-api-2/schema/AllOfVisitor.mjs +20 -0
- package/src/refractor/visitors/open-api-2/schema/ItemsVisitor.cjs +26 -0
- package/src/refractor/visitors/open-api-2/schema/ItemsVisitor.mjs +23 -0
- package/src/refractor/visitors/open-api-2/schema/PropertiesVisitor.cjs +24 -0
- package/src/refractor/visitors/open-api-2/schema/PropertiesVisitor.mjs +20 -0
- package/src/refractor/visitors/open-api-2/schema/SchemaOrJSONReferenceVisitor.cjs +23 -0
- package/src/refractor/visitors/open-api-2/schema/SchemaOrJSONReferenceVisitor.mjs +19 -0
- package/src/refractor/visitors/open-api-2/schema/index.cjs +20 -0
- package/src/refractor/visitors/open-api-2/schema/index.mjs +15 -0
- package/src/refractor/visitors/open-api-2/scopes/index.cjs +20 -0
- package/src/refractor/visitors/open-api-2/scopes/index.mjs +15 -0
- package/src/refractor/visitors/open-api-2/security-definitions/index.cjs +20 -0
- package/src/refractor/visitors/open-api-2/security-definitions/index.mjs +15 -0
- package/src/refractor/visitors/open-api-2/security-requirement/index.cjs +19 -0
- package/src/refractor/visitors/open-api-2/security-requirement/index.mjs +14 -0
- package/src/refractor/visitors/open-api-2/security-scheme/index.cjs +20 -0
- package/src/refractor/visitors/open-api-2/security-scheme/index.mjs +15 -0
- package/src/refractor/visitors/open-api-2/tag/index.cjs +20 -0
- package/src/refractor/visitors/open-api-2/tag/index.mjs +15 -0
- package/src/refractor/visitors/open-api-2/xml/index.cjs +20 -0
- package/src/refractor/visitors/open-api-2/xml/index.mjs +15 -0
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
import { resolveSpecification, dispatchRefractorPlugins } from '@speclynx/apidom-core';
|
|
2
|
+
import { refract as baseRefract } from '@speclynx/apidom-datamodel';
|
|
3
|
+
import { traverse } from '@speclynx/apidom-traverse';
|
|
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 = 'swagger',
|
|
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 SwaggerElement.
|
|
52
|
+
* @public
|
|
53
|
+
*/
|
|
54
|
+
export const refractSwagger = (value, options = {}) => refract(value, {
|
|
55
|
+
...options,
|
|
56
|
+
element: 'swagger'
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Refracts a value into an InfoElement.
|
|
61
|
+
* @public
|
|
62
|
+
*/
|
|
63
|
+
export const refractInfo = (value, options = {}) => refract(value, {
|
|
64
|
+
...options,
|
|
65
|
+
element: 'info'
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Refracts a value into a ContactElement.
|
|
70
|
+
* @public
|
|
71
|
+
*/
|
|
72
|
+
export const refractContact = (value, options = {}) => refract(value, {
|
|
73
|
+
...options,
|
|
74
|
+
element: 'contact'
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Refracts a value into a LicenseElement.
|
|
79
|
+
* @public
|
|
80
|
+
*/
|
|
81
|
+
export const refractLicense = (value, options = {}) => refract(value, {
|
|
82
|
+
...options,
|
|
83
|
+
element: 'license'
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Refracts a value into a PathsElement.
|
|
88
|
+
* @public
|
|
89
|
+
*/
|
|
90
|
+
export const refractPaths = (value, options = {}) => refract(value, {
|
|
91
|
+
...options,
|
|
92
|
+
element: 'paths'
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Refracts a value into a PathItemElement.
|
|
97
|
+
* @public
|
|
98
|
+
*/
|
|
99
|
+
export const refractPathItem = (value, options = {}) => refract(value, {
|
|
100
|
+
...options,
|
|
101
|
+
element: 'pathItem'
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Refracts a value into an OperationElement.
|
|
106
|
+
* @public
|
|
107
|
+
*/
|
|
108
|
+
export const refractOperation = (value, options = {}) => refract(value, {
|
|
109
|
+
...options,
|
|
110
|
+
element: 'operation'
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Refracts a value into an ExternalDocumentationElement.
|
|
115
|
+
* @public
|
|
116
|
+
*/
|
|
117
|
+
export const refractExternalDocumentation = (value, options = {}) => refract(value, {
|
|
118
|
+
...options,
|
|
119
|
+
element: 'externalDocumentation'
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Refracts a value into a ParameterElement.
|
|
124
|
+
* @public
|
|
125
|
+
*/
|
|
126
|
+
export const refractParameter = (value, options = {}) => refract(value, {
|
|
127
|
+
...options,
|
|
128
|
+
element: 'parameter'
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Refracts a value into an ItemsElement.
|
|
133
|
+
* @public
|
|
134
|
+
*/
|
|
135
|
+
export const refractItems = (value, options = {}) => refract(value, {
|
|
136
|
+
...options,
|
|
137
|
+
element: 'items'
|
|
138
|
+
});
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Refracts a value into a ResponsesElement.
|
|
142
|
+
* @public
|
|
143
|
+
*/
|
|
144
|
+
export const refractResponses = (value, options = {}) => refract(value, {
|
|
145
|
+
...options,
|
|
146
|
+
element: 'responses'
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Refracts a value into a ResponseElement.
|
|
151
|
+
* @public
|
|
152
|
+
*/
|
|
153
|
+
export const refractResponse = (value, options = {}) => refract(value, {
|
|
154
|
+
...options,
|
|
155
|
+
element: 'response'
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Refracts a value into a HeadersElement.
|
|
160
|
+
* @public
|
|
161
|
+
*/
|
|
162
|
+
export const refractHeaders = (value, options = {}) => refract(value, {
|
|
163
|
+
...options,
|
|
164
|
+
element: 'headers'
|
|
165
|
+
});
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* Refracts a value into an ExampleElement.
|
|
169
|
+
* @public
|
|
170
|
+
*/
|
|
171
|
+
export const refractExample = (value, options = {}) => refract(value, {
|
|
172
|
+
...options,
|
|
173
|
+
element: 'example'
|
|
174
|
+
});
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Refracts a value into a HeaderElement.
|
|
178
|
+
* @public
|
|
179
|
+
*/
|
|
180
|
+
export const refractHeader = (value, options = {}) => refract(value, {
|
|
181
|
+
...options,
|
|
182
|
+
element: 'header'
|
|
183
|
+
});
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Refracts a value into a TagElement.
|
|
187
|
+
* @public
|
|
188
|
+
*/
|
|
189
|
+
export const refractTag = (value, options = {}) => refract(value, {
|
|
190
|
+
...options,
|
|
191
|
+
element: 'tag'
|
|
192
|
+
});
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* Refracts a value into a ReferenceElement.
|
|
196
|
+
* @public
|
|
197
|
+
*/
|
|
198
|
+
export const refractReference = (value, options = {}) => refract(value, {
|
|
199
|
+
...options,
|
|
200
|
+
element: 'reference'
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* Refracts a value into a SchemaElement.
|
|
205
|
+
* @public
|
|
206
|
+
*/
|
|
207
|
+
export const refractSchema = (value, options = {}) => refract(value, {
|
|
208
|
+
...options,
|
|
209
|
+
element: 'schema'
|
|
210
|
+
});
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Refracts a value into an XmlElement.
|
|
214
|
+
* @public
|
|
215
|
+
*/
|
|
216
|
+
export const refractXml = (value, options = {}) => refract(value, {
|
|
217
|
+
...options,
|
|
218
|
+
element: 'xml'
|
|
219
|
+
});
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* Refracts a value into a DefinitionsElement.
|
|
223
|
+
* @public
|
|
224
|
+
*/
|
|
225
|
+
export const refractDefinitions = (value, options = {}) => refract(value, {
|
|
226
|
+
...options,
|
|
227
|
+
element: 'definitions'
|
|
228
|
+
});
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* Refracts a value into a ParametersDefinitionsElement.
|
|
232
|
+
* @public
|
|
233
|
+
*/
|
|
234
|
+
export const refractParametersDefinitions = (value, options = {}) => refract(value, {
|
|
235
|
+
...options,
|
|
236
|
+
element: 'parametersDefinitions'
|
|
237
|
+
});
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* Refracts a value into a ResponsesDefinitionsElement.
|
|
241
|
+
* @public
|
|
242
|
+
*/
|
|
243
|
+
export const refractResponsesDefinitions = (value, options = {}) => refract(value, {
|
|
244
|
+
...options,
|
|
245
|
+
element: 'responsesDefinitions'
|
|
246
|
+
});
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Refracts a value into a SecurityDefinitionsElement.
|
|
250
|
+
* @public
|
|
251
|
+
*/
|
|
252
|
+
export const refractSecurityDefinitions = (value, options = {}) => refract(value, {
|
|
253
|
+
...options,
|
|
254
|
+
element: 'securityDefinitions'
|
|
255
|
+
});
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* Refracts a value into a SecuritySchemeElement.
|
|
259
|
+
* @public
|
|
260
|
+
*/
|
|
261
|
+
export const refractSecurityScheme = (value, options = {}) => refract(value, {
|
|
262
|
+
...options,
|
|
263
|
+
element: 'securityScheme'
|
|
264
|
+
});
|
|
265
|
+
|
|
266
|
+
/**
|
|
267
|
+
* Refracts a value into a ScopesElement.
|
|
268
|
+
* @public
|
|
269
|
+
*/
|
|
270
|
+
export const refractScopes = (value, options = {}) => refract(value, {
|
|
271
|
+
...options,
|
|
272
|
+
element: 'scopes'
|
|
273
|
+
});
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* Refracts a value into a SecurityRequirementElement.
|
|
277
|
+
* @public
|
|
278
|
+
*/
|
|
279
|
+
export const refractSecurityRequirement = (value, options = {}) => refract(value, {
|
|
280
|
+
...options,
|
|
281
|
+
element: 'securityRequirement'
|
|
282
|
+
});
|
|
283
|
+
export default refract;
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
var _apidomCore = require("@speclynx/apidom-core");
|
|
6
|
+
var _ramdaAdjunct = require("ramda-adjunct");
|
|
7
|
+
var _Swagger = _interopRequireDefault(require("../elements/Swagger.cjs"));
|
|
8
|
+
exports.SwaggerElement = _Swagger.default;
|
|
9
|
+
var _SwaggerVersion = _interopRequireDefault(require("../elements/SwaggerVersion.cjs"));
|
|
10
|
+
exports.SwaggerVersionElement = _SwaggerVersion.default;
|
|
11
|
+
var _Info = _interopRequireDefault(require("../elements/Info.cjs"));
|
|
12
|
+
exports.InfoElement = _Info.default;
|
|
13
|
+
var _Contact = _interopRequireDefault(require("../elements/Contact.cjs"));
|
|
14
|
+
exports.ContactElement = _Contact.default;
|
|
15
|
+
var _License = _interopRequireDefault(require("../elements/License.cjs"));
|
|
16
|
+
exports.LicenseElement = _License.default;
|
|
17
|
+
var _Paths = _interopRequireDefault(require("../elements/Paths.cjs"));
|
|
18
|
+
exports.PathsElement = _Paths.default;
|
|
19
|
+
var _PathItem = _interopRequireDefault(require("../elements/PathItem.cjs"));
|
|
20
|
+
exports.PathItemElement = _PathItem.default;
|
|
21
|
+
var _Operation = _interopRequireDefault(require("../elements/Operation.cjs"));
|
|
22
|
+
exports.OperationElement = _Operation.default;
|
|
23
|
+
var _ExternalDocumentation = _interopRequireDefault(require("../elements/ExternalDocumentation.cjs"));
|
|
24
|
+
exports.ExternalDocumentationElement = _ExternalDocumentation.default;
|
|
25
|
+
var _Parameter = _interopRequireDefault(require("../elements/Parameter.cjs"));
|
|
26
|
+
exports.ParameterElement = _Parameter.default;
|
|
27
|
+
var _Items = _interopRequireDefault(require("../elements/Items.cjs"));
|
|
28
|
+
exports.ItemsElement = _Items.default;
|
|
29
|
+
var _Responses = _interopRequireDefault(require("../elements/Responses.cjs"));
|
|
30
|
+
exports.ResponsesElement = _Responses.default;
|
|
31
|
+
var _Response = _interopRequireDefault(require("../elements/Response.cjs"));
|
|
32
|
+
exports.ResponseElement = _Response.default;
|
|
33
|
+
var _Headers = _interopRequireDefault(require("../elements/Headers.cjs"));
|
|
34
|
+
exports.HeadersElement = _Headers.default;
|
|
35
|
+
var _Example = _interopRequireDefault(require("../elements/Example.cjs"));
|
|
36
|
+
exports.ExampleElement = _Example.default;
|
|
37
|
+
var _Header = _interopRequireDefault(require("../elements/Header.cjs"));
|
|
38
|
+
exports.HeaderElement = _Header.default;
|
|
39
|
+
var _Tag = _interopRequireDefault(require("../elements/Tag.cjs"));
|
|
40
|
+
exports.TagElement = _Tag.default;
|
|
41
|
+
var _Reference = _interopRequireDefault(require("../elements/Reference.cjs"));
|
|
42
|
+
exports.ReferenceElement = _Reference.default;
|
|
43
|
+
var _Schema = _interopRequireDefault(require("../elements/Schema.cjs"));
|
|
44
|
+
exports.SchemaElement = _Schema.default;
|
|
45
|
+
var _Xml = _interopRequireDefault(require("../elements/Xml.cjs"));
|
|
46
|
+
exports.XmlElement = _Xml.default;
|
|
47
|
+
var _Definitions = _interopRequireDefault(require("../elements/Definitions.cjs"));
|
|
48
|
+
exports.DefinitionsElement = _Definitions.default;
|
|
49
|
+
var _ParametersDefinitions = _interopRequireDefault(require("../elements/ParametersDefinitions.cjs"));
|
|
50
|
+
exports.ParametersDefinitionsElement = _ParametersDefinitions.default;
|
|
51
|
+
var _ResponsesDefinitions = _interopRequireDefault(require("../elements/ResponsesDefinitions.cjs"));
|
|
52
|
+
exports.ResponsesDefinitionsElement = _ResponsesDefinitions.default;
|
|
53
|
+
var _SecurityDefinitions = _interopRequireDefault(require("../elements/SecurityDefinitions.cjs"));
|
|
54
|
+
exports.SecurityDefinitionsElement = _SecurityDefinitions.default;
|
|
55
|
+
var _SecurityScheme = _interopRequireDefault(require("../elements/SecurityScheme.cjs"));
|
|
56
|
+
exports.SecuritySchemeElement = _SecurityScheme.default;
|
|
57
|
+
var _Scopes = _interopRequireDefault(require("../elements/Scopes.cjs"));
|
|
58
|
+
exports.ScopesElement = _Scopes.default;
|
|
59
|
+
var _SecurityRequirement = _interopRequireDefault(require("../elements/SecurityRequirement.cjs"));
|
|
60
|
+
exports.SecurityRequirementElement = _SecurityRequirement.default;
|
|
61
|
+
var _specification = _interopRequireDefault(require("./specification.cjs"));
|
|
62
|
+
/**
|
|
63
|
+
* OpenAPI 2.0 specification elements.
|
|
64
|
+
*/
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* @public
|
|
68
|
+
*/
|
|
69
|
+
|
|
70
|
+
// Resolve specification to dereference $ref pointers
|
|
71
|
+
const resolvedSpec = (0, _apidomCore.resolveSpecification)(_specification.default);
|
|
72
|
+
|
|
73
|
+
// Extract fixed fields as list of { name, alias?, $visitor }
|
|
74
|
+
const getFixedFields = fixedFieldsSpec => {
|
|
75
|
+
return Object.entries(fixedFieldsSpec).map(([name, fieldSpec]) => {
|
|
76
|
+
if ((0, _ramdaAdjunct.isPlainObject)(fieldSpec)) {
|
|
77
|
+
return {
|
|
78
|
+
name,
|
|
79
|
+
...fieldSpec
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
return {
|
|
83
|
+
name,
|
|
84
|
+
$visitor: fieldSpec
|
|
85
|
+
};
|
|
86
|
+
});
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
// OpenAPI 2.0 specification elements
|
|
90
|
+
Object.defineProperty(_Swagger.default, 'fixedFields', {
|
|
91
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Swagger.fixedFields),
|
|
92
|
+
enumerable: true
|
|
93
|
+
});
|
|
94
|
+
Object.defineProperty(_Info.default, 'fixedFields', {
|
|
95
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Info.fixedFields),
|
|
96
|
+
enumerable: true
|
|
97
|
+
});
|
|
98
|
+
Object.defineProperty(_Contact.default, 'fixedFields', {
|
|
99
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Contact.fixedFields),
|
|
100
|
+
enumerable: true
|
|
101
|
+
});
|
|
102
|
+
Object.defineProperty(_License.default, 'fixedFields', {
|
|
103
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.License.fixedFields),
|
|
104
|
+
enumerable: true
|
|
105
|
+
});
|
|
106
|
+
Object.defineProperty(_PathItem.default, 'fixedFields', {
|
|
107
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.PathItem.fixedFields),
|
|
108
|
+
enumerable: true
|
|
109
|
+
});
|
|
110
|
+
Object.defineProperty(_Operation.default, 'fixedFields', {
|
|
111
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Operation.fixedFields),
|
|
112
|
+
enumerable: true
|
|
113
|
+
});
|
|
114
|
+
Object.defineProperty(_ExternalDocumentation.default, 'fixedFields', {
|
|
115
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.ExternalDocumentation.fixedFields),
|
|
116
|
+
enumerable: true
|
|
117
|
+
});
|
|
118
|
+
Object.defineProperty(_Parameter.default, 'fixedFields', {
|
|
119
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Parameter.fixedFields),
|
|
120
|
+
enumerable: true
|
|
121
|
+
});
|
|
122
|
+
Object.defineProperty(_Items.default, 'fixedFields', {
|
|
123
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Items.fixedFields),
|
|
124
|
+
enumerable: true
|
|
125
|
+
});
|
|
126
|
+
Object.defineProperty(_Responses.default, 'fixedFields', {
|
|
127
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Responses.fixedFields),
|
|
128
|
+
enumerable: true
|
|
129
|
+
});
|
|
130
|
+
Object.defineProperty(_Response.default, 'fixedFields', {
|
|
131
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Response.fixedFields),
|
|
132
|
+
enumerable: true
|
|
133
|
+
});
|
|
134
|
+
Object.defineProperty(_Header.default, 'fixedFields', {
|
|
135
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Header.fixedFields),
|
|
136
|
+
enumerable: true
|
|
137
|
+
});
|
|
138
|
+
Object.defineProperty(_Tag.default, 'fixedFields', {
|
|
139
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Tag.fixedFields),
|
|
140
|
+
enumerable: true
|
|
141
|
+
});
|
|
142
|
+
Object.defineProperty(_Reference.default, 'fixedFields', {
|
|
143
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Reference.fixedFields),
|
|
144
|
+
enumerable: true
|
|
145
|
+
});
|
|
146
|
+
Object.defineProperty(_Schema.default, 'fixedFields', {
|
|
147
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Schema.fixedFields),
|
|
148
|
+
enumerable: true
|
|
149
|
+
});
|
|
150
|
+
Object.defineProperty(_Xml.default, 'fixedFields', {
|
|
151
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.XML.fixedFields),
|
|
152
|
+
enumerable: true
|
|
153
|
+
});
|
|
154
|
+
Object.defineProperty(_SecurityScheme.default, 'fixedFields', {
|
|
155
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.SecurityScheme.fixedFields),
|
|
156
|
+
enumerable: true
|
|
157
|
+
});
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { resolveSpecification } from '@speclynx/apidom-core';
|
|
2
|
+
import { isPlainObject } from 'ramda-adjunct';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* OpenAPI 2.0 specification elements.
|
|
6
|
+
*/
|
|
7
|
+
import SwaggerElement from "../elements/Swagger.mjs";
|
|
8
|
+
import SwaggerVersionElement from "../elements/SwaggerVersion.mjs";
|
|
9
|
+
import InfoElement from "../elements/Info.mjs";
|
|
10
|
+
import ContactElement from "../elements/Contact.mjs";
|
|
11
|
+
import LicenseElement from "../elements/License.mjs";
|
|
12
|
+
import PathsElement from "../elements/Paths.mjs";
|
|
13
|
+
import PathItemElement from "../elements/PathItem.mjs";
|
|
14
|
+
import OperationElement from "../elements/Operation.mjs";
|
|
15
|
+
import ExternalDocumentationElement from "../elements/ExternalDocumentation.mjs";
|
|
16
|
+
import ParameterElement from "../elements/Parameter.mjs";
|
|
17
|
+
import ItemsElement from "../elements/Items.mjs";
|
|
18
|
+
import ResponsesElement from "../elements/Responses.mjs";
|
|
19
|
+
import ResponseElement from "../elements/Response.mjs";
|
|
20
|
+
import HeadersElement from "../elements/Headers.mjs";
|
|
21
|
+
import ExampleElement from "../elements/Example.mjs";
|
|
22
|
+
import HeaderElement from "../elements/Header.mjs";
|
|
23
|
+
import TagElement from "../elements/Tag.mjs";
|
|
24
|
+
import ReferenceElement from "../elements/Reference.mjs";
|
|
25
|
+
import SchemaElement from "../elements/Schema.mjs";
|
|
26
|
+
import XmlElement from "../elements/Xml.mjs";
|
|
27
|
+
import DefinitionsElement from "../elements/Definitions.mjs";
|
|
28
|
+
import ParametersDefinitionsElement from "../elements/ParametersDefinitions.mjs";
|
|
29
|
+
import ResponsesDefinitionsElement from "../elements/ResponsesDefinitions.mjs";
|
|
30
|
+
import SecurityDefinitionsElement from "../elements/SecurityDefinitions.mjs";
|
|
31
|
+
import SecuritySchemeElement from "../elements/SecurityScheme.mjs";
|
|
32
|
+
import ScopesElement from "../elements/Scopes.mjs";
|
|
33
|
+
import SecurityRequirementElement from "../elements/SecurityRequirement.mjs";
|
|
34
|
+
import specification from "./specification.mjs";
|
|
35
|
+
/**
|
|
36
|
+
* @public
|
|
37
|
+
*/
|
|
38
|
+
// Resolve specification to dereference $ref pointers
|
|
39
|
+
const resolvedSpec = resolveSpecification(specification);
|
|
40
|
+
|
|
41
|
+
// Extract fixed fields as list of { name, alias?, $visitor }
|
|
42
|
+
const getFixedFields = fixedFieldsSpec => {
|
|
43
|
+
return Object.entries(fixedFieldsSpec).map(([name, fieldSpec]) => {
|
|
44
|
+
if (isPlainObject(fieldSpec)) {
|
|
45
|
+
return {
|
|
46
|
+
name,
|
|
47
|
+
...fieldSpec
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
name,
|
|
52
|
+
$visitor: fieldSpec
|
|
53
|
+
};
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
// OpenAPI 2.0 specification elements
|
|
58
|
+
Object.defineProperty(SwaggerElement, 'fixedFields', {
|
|
59
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Swagger.fixedFields),
|
|
60
|
+
enumerable: true
|
|
61
|
+
});
|
|
62
|
+
Object.defineProperty(InfoElement, 'fixedFields', {
|
|
63
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Info.fixedFields),
|
|
64
|
+
enumerable: true
|
|
65
|
+
});
|
|
66
|
+
Object.defineProperty(ContactElement, 'fixedFields', {
|
|
67
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Contact.fixedFields),
|
|
68
|
+
enumerable: true
|
|
69
|
+
});
|
|
70
|
+
Object.defineProperty(LicenseElement, 'fixedFields', {
|
|
71
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.License.fixedFields),
|
|
72
|
+
enumerable: true
|
|
73
|
+
});
|
|
74
|
+
Object.defineProperty(PathItemElement, 'fixedFields', {
|
|
75
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.PathItem.fixedFields),
|
|
76
|
+
enumerable: true
|
|
77
|
+
});
|
|
78
|
+
Object.defineProperty(OperationElement, 'fixedFields', {
|
|
79
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Operation.fixedFields),
|
|
80
|
+
enumerable: true
|
|
81
|
+
});
|
|
82
|
+
Object.defineProperty(ExternalDocumentationElement, 'fixedFields', {
|
|
83
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.ExternalDocumentation.fixedFields),
|
|
84
|
+
enumerable: true
|
|
85
|
+
});
|
|
86
|
+
Object.defineProperty(ParameterElement, 'fixedFields', {
|
|
87
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Parameter.fixedFields),
|
|
88
|
+
enumerable: true
|
|
89
|
+
});
|
|
90
|
+
Object.defineProperty(ItemsElement, 'fixedFields', {
|
|
91
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Items.fixedFields),
|
|
92
|
+
enumerable: true
|
|
93
|
+
});
|
|
94
|
+
Object.defineProperty(ResponsesElement, 'fixedFields', {
|
|
95
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Responses.fixedFields),
|
|
96
|
+
enumerable: true
|
|
97
|
+
});
|
|
98
|
+
Object.defineProperty(ResponseElement, 'fixedFields', {
|
|
99
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Response.fixedFields),
|
|
100
|
+
enumerable: true
|
|
101
|
+
});
|
|
102
|
+
Object.defineProperty(HeaderElement, 'fixedFields', {
|
|
103
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Header.fixedFields),
|
|
104
|
+
enumerable: true
|
|
105
|
+
});
|
|
106
|
+
Object.defineProperty(TagElement, 'fixedFields', {
|
|
107
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Tag.fixedFields),
|
|
108
|
+
enumerable: true
|
|
109
|
+
});
|
|
110
|
+
Object.defineProperty(ReferenceElement, 'fixedFields', {
|
|
111
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Reference.fixedFields),
|
|
112
|
+
enumerable: true
|
|
113
|
+
});
|
|
114
|
+
Object.defineProperty(SchemaElement, 'fixedFields', {
|
|
115
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Schema.fixedFields),
|
|
116
|
+
enumerable: true
|
|
117
|
+
});
|
|
118
|
+
Object.defineProperty(XmlElement, 'fixedFields', {
|
|
119
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.XML.fixedFields),
|
|
120
|
+
enumerable: true
|
|
121
|
+
});
|
|
122
|
+
Object.defineProperty(SecuritySchemeElement, 'fixedFields', {
|
|
123
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.SecurityScheme.fixedFields),
|
|
124
|
+
enumerable: true
|
|
125
|
+
});
|
|
126
|
+
export { SwaggerElement, SwaggerVersionElement, InfoElement, ContactElement, LicenseElement, PathsElement, PathItemElement, OperationElement, ExternalDocumentationElement, ParameterElement, ItemsElement, ResponsesElement, ResponseElement, HeadersElement, ExampleElement, HeaderElement, TagElement, ReferenceElement, SchemaElement, XmlElement, DefinitionsElement, ParametersDefinitionsElement, ResponsesDefinitionsElement, SecurityDefinitionsElement, SecuritySchemeElement, ScopesElement, SecurityRequirementElement };
|