@swagger-api/apidom-ns-openapi-2 0.79.0
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 +24 -0
- package/LICENSES/Apache-2.0.txt +202 -0
- package/LICENSES/MIT.txt +9 -0
- package/NOTICE +57 -0
- package/README.md +215 -0
- package/cjs/elements/Contact.cjs +30 -0
- package/cjs/elements/Definitions.cjs +12 -0
- package/cjs/elements/Example.cjs +12 -0
- package/cjs/elements/ExternalDocumentation.cjs +24 -0
- package/cjs/elements/Header.cjs +184 -0
- package/cjs/elements/Headers.cjs +12 -0
- package/cjs/elements/Info.cjs +49 -0
- package/cjs/elements/Items.cjs +189 -0
- package/cjs/elements/License.cjs +24 -0
- package/cjs/elements/Operation.cjs +75 -0
- package/cjs/elements/Parameter.cjs +229 -0
- package/cjs/elements/ParametersDefinitions.cjs +12 -0
- package/cjs/elements/PathItem.cjs +66 -0
- package/cjs/elements/Paths.cjs +12 -0
- package/cjs/elements/Reference.cjs +19 -0
- package/cjs/elements/Response.cjs +36 -0
- package/cjs/elements/Responses.cjs +18 -0
- package/cjs/elements/ResponsesDefinitions.cjs +12 -0
- package/cjs/elements/Schema.cjs +115 -0
- package/cjs/elements/Scopes.cjs +12 -0
- package/cjs/elements/SecurityDefinitions.cjs +12 -0
- package/cjs/elements/SecurityRequirement.cjs +12 -0
- package/cjs/elements/SecurityScheme.cjs +60 -0
- package/cjs/elements/Swagger.cjs +103 -0
- package/cjs/elements/SwaggerVersion.cjs +14 -0
- package/cjs/elements/Tag.cjs +30 -0
- package/cjs/elements/Xml.cjs +42 -0
- package/cjs/elements/nces/OperationConsumes.cjs +13 -0
- package/cjs/elements/nces/OperationParameters.cjs +14 -0
- package/cjs/elements/nces/OperationProduces.cjs +13 -0
- package/cjs/elements/nces/OperationSchemes.cjs +13 -0
- package/cjs/elements/nces/OperationSecurity.cjs +14 -0
- package/cjs/elements/nces/OperationTags.cjs +13 -0
- package/cjs/elements/nces/PathItemParameters.cjs +14 -0
- package/cjs/elements/nces/SwaggerConsumes.cjs +13 -0
- package/cjs/elements/nces/SwaggerProduces.cjs +13 -0
- package/cjs/elements/nces/SwaggerSchemes.cjs +13 -0
- package/cjs/elements/nces/SwaggerSecurity.cjs +14 -0
- package/cjs/elements/nces/SwaggerTags.cjs +13 -0
- package/cjs/index.cjs +134 -0
- package/cjs/media-types.cjs +23 -0
- package/cjs/namespace.cjs +68 -0
- package/cjs/predicates.cjs +222 -0
- package/cjs/refractor/index.cjs +47 -0
- package/cjs/refractor/plugins/replace-empty-element.cjs +365 -0
- package/cjs/refractor/predicates.cjs +14 -0
- package/cjs/refractor/registration.cjs +87 -0
- package/cjs/refractor/specification.cjs +488 -0
- package/cjs/refractor/toolbox.cjs +23 -0
- package/cjs/refractor/visitors/FallbackVisitor.cjs +23 -0
- package/cjs/refractor/visitors/SpecificationExtensionVisitor.cjs +18 -0
- package/cjs/refractor/visitors/SpecificationVisitor.cjs +87 -0
- package/cjs/refractor/visitors/Visitor.cjs +22 -0
- package/cjs/refractor/visitors/generics/AlternatingVisitor.cjs +27 -0
- package/cjs/refractor/visitors/generics/FixedFieldsVisitor.cjs +56 -0
- package/cjs/refractor/visitors/generics/MapVisitor.cjs +14 -0
- package/cjs/refractor/visitors/generics/MixedFieldsVisitor.cjs +42 -0
- package/cjs/refractor/visitors/generics/PatternedFieldsVisitor.cjs +58 -0
- package/cjs/refractor/visitors/open-api-2/ConsumesVisitor.cjs +21 -0
- package/cjs/refractor/visitors/open-api-2/ProducesVisitor.cjs +21 -0
- package/cjs/refractor/visitors/open-api-2/SchemesVisitor.cjs +21 -0
- package/cjs/refractor/visitors/open-api-2/SecurityVisitor.cjs +27 -0
- package/cjs/refractor/visitors/open-api-2/SwaggerVisitor.cjs +21 -0
- package/cjs/refractor/visitors/open-api-2/TagsVisitor.cjs +27 -0
- package/cjs/refractor/visitors/open-api-2/contact/index.cjs +20 -0
- package/cjs/refractor/visitors/open-api-2/definitions/index.cjs +33 -0
- package/cjs/refractor/visitors/open-api-2/example/index.cjs +20 -0
- package/cjs/refractor/visitors/open-api-2/external-documentation/index.cjs +20 -0
- package/cjs/refractor/visitors/open-api-2/header/index.cjs +20 -0
- package/cjs/refractor/visitors/open-api-2/headers/index.cjs +20 -0
- package/cjs/refractor/visitors/open-api-2/index.cjs +20 -0
- package/cjs/refractor/visitors/open-api-2/info/VersionVisitor.cjs +19 -0
- package/cjs/refractor/visitors/open-api-2/info/index.cjs +20 -0
- package/cjs/refractor/visitors/open-api-2/items/index.cjs +20 -0
- package/cjs/refractor/visitors/open-api-2/license/index.cjs +20 -0
- package/cjs/refractor/visitors/open-api-2/operation/ConsumesVisitor.cjs +21 -0
- package/cjs/refractor/visitors/open-api-2/operation/ParametersVisitor.cjs +32 -0
- package/cjs/refractor/visitors/open-api-2/operation/ProducesVisitor.cjs +21 -0
- package/cjs/refractor/visitors/open-api-2/operation/SchemesVisitor.cjs +21 -0
- package/cjs/refractor/visitors/open-api-2/operation/SecurityVisitor.cjs +27 -0
- package/cjs/refractor/visitors/open-api-2/operation/TagsVisitor.cjs +21 -0
- package/cjs/refractor/visitors/open-api-2/operation/index.cjs +19 -0
- package/cjs/refractor/visitors/open-api-2/parameter/index.cjs +20 -0
- package/cjs/refractor/visitors/open-api-2/parameters-definitions/index.cjs +19 -0
- package/cjs/refractor/visitors/open-api-2/path-item/$RefVisitor.cjs +18 -0
- package/cjs/refractor/visitors/open-api-2/path-item/ParametersVisitor.cjs +32 -0
- package/cjs/refractor/visitors/open-api-2/path-item/index.cjs +40 -0
- package/cjs/refractor/visitors/open-api-2/paths/index.cjs +35 -0
- package/cjs/refractor/visitors/open-api-2/reference/$RefVisitor.cjs +18 -0
- package/cjs/refractor/visitors/open-api-2/reference/index.cjs +33 -0
- package/cjs/refractor/visitors/open-api-2/response/index.cjs +20 -0
- package/cjs/refractor/visitors/open-api-2/responses/DefaultVisitor.cjs +37 -0
- package/cjs/refractor/visitors/open-api-2/responses/index.cjs +46 -0
- package/cjs/refractor/visitors/open-api-2/responses-definitions/index.cjs +19 -0
- package/cjs/refractor/visitors/open-api-2/schema/AllOfVisitor.cjs +23 -0
- package/cjs/refractor/visitors/open-api-2/schema/ItemsVisitor.cjs +31 -0
- package/cjs/refractor/visitors/open-api-2/schema/PropertiesVisitor.cjs +23 -0
- package/cjs/refractor/visitors/open-api-2/schema/SchemaOrJSONReferenceVisitor.cjs +23 -0
- package/cjs/refractor/visitors/open-api-2/schema/index.cjs +20 -0
- package/cjs/refractor/visitors/open-api-2/scopes/index.cjs +20 -0
- package/cjs/refractor/visitors/open-api-2/security-definitions/index.cjs +19 -0
- package/cjs/refractor/visitors/open-api-2/security-requirement/index.cjs +19 -0
- package/cjs/refractor/visitors/open-api-2/security-scheme/index.cjs +20 -0
- package/cjs/refractor/visitors/open-api-2/tag/index.cjs +20 -0
- package/cjs/refractor/visitors/open-api-2/xml/index.cjs +20 -0
- package/cjs/traversal/visitor.cjs +53 -0
- package/dist/apidom-ns-openapi-2.browser.js +25296 -0
- package/dist/apidom-ns-openapi-2.browser.min.js +1 -0
- package/es/elements/Contact.mjs +26 -0
- package/es/elements/Definitions.mjs +8 -0
- package/es/elements/Example.mjs +8 -0
- package/es/elements/ExternalDocumentation.mjs +20 -0
- package/es/elements/Header.mjs +182 -0
- package/es/elements/Headers.mjs +8 -0
- package/es/elements/Info.mjs +45 -0
- package/es/elements/Items.mjs +187 -0
- package/es/elements/License.mjs +20 -0
- package/es/elements/Operation.mjs +71 -0
- package/es/elements/Parameter.mjs +226 -0
- package/es/elements/ParametersDefinitions.mjs +8 -0
- package/es/elements/PathItem.mjs +62 -0
- package/es/elements/Paths.mjs +8 -0
- package/es/elements/Reference.mjs +15 -0
- package/es/elements/Response.mjs +32 -0
- package/es/elements/Responses.mjs +14 -0
- package/es/elements/ResponsesDefinitions.mjs +8 -0
- package/es/elements/Schema.mjs +113 -0
- package/es/elements/Scopes.mjs +8 -0
- package/es/elements/SecurityDefinitions.mjs +8 -0
- package/es/elements/SecurityRequirement.mjs +8 -0
- package/es/elements/SecurityScheme.mjs +56 -0
- package/es/elements/Swagger.mjs +99 -0
- package/es/elements/SwaggerVersion.mjs +10 -0
- package/es/elements/Tag.mjs +26 -0
- package/es/elements/Xml.mjs +38 -0
- package/es/elements/nces/OperationConsumes.mjs +9 -0
- package/es/elements/nces/OperationParameters.mjs +10 -0
- package/es/elements/nces/OperationProduces.mjs +9 -0
- package/es/elements/nces/OperationSchemes.mjs +9 -0
- package/es/elements/nces/OperationSecurity.mjs +10 -0
- package/es/elements/nces/OperationTags.mjs +9 -0
- package/es/elements/nces/PathItemParameters.mjs +10 -0
- package/es/elements/nces/SwaggerConsumes.mjs +9 -0
- package/es/elements/nces/SwaggerProduces.mjs +9 -0
- package/es/elements/nces/SwaggerSchemes.mjs +9 -0
- package/es/elements/nces/SwaggerSecurity.mjs +10 -0
- package/es/elements/nces/SwaggerTags.mjs +9 -0
- package/es/index.mjs +31 -0
- package/es/media-types.mjs +18 -0
- package/es/namespace.mjs +63 -0
- package/es/predicates.mjs +217 -0
- package/es/refractor/index.mjs +41 -0
- package/es/refractor/plugins/replace-empty-element.mjs +357 -0
- package/es/refractor/predicates.mjs +8 -0
- package/es/refractor/registration.mjs +56 -0
- package/es/refractor/specification.mjs +482 -0
- package/es/refractor/toolbox.mjs +17 -0
- package/es/refractor/visitors/FallbackVisitor.mjs +18 -0
- package/es/refractor/visitors/SpecificationExtensionVisitor.mjs +13 -0
- package/es/refractor/visitors/SpecificationVisitor.mjs +82 -0
- package/es/refractor/visitors/Visitor.mjs +17 -0
- package/es/refractor/visitors/generics/AlternatingVisitor.mjs +22 -0
- package/es/refractor/visitors/generics/FixedFieldsVisitor.mjs +51 -0
- package/es/refractor/visitors/generics/MapVisitor.mjs +9 -0
- package/es/refractor/visitors/generics/MixedFieldsVisitor.mjs +37 -0
- package/es/refractor/visitors/generics/PatternedFieldsVisitor.mjs +53 -0
- package/es/refractor/visitors/open-api-2/ConsumesVisitor.mjs +16 -0
- package/es/refractor/visitors/open-api-2/ProducesVisitor.mjs +16 -0
- package/es/refractor/visitors/open-api-2/SchemesVisitor.mjs +16 -0
- package/es/refractor/visitors/open-api-2/SecurityVisitor.mjs +22 -0
- package/es/refractor/visitors/open-api-2/SwaggerVisitor.mjs +16 -0
- package/es/refractor/visitors/open-api-2/TagsVisitor.mjs +22 -0
- package/es/refractor/visitors/open-api-2/contact/index.mjs +15 -0
- package/es/refractor/visitors/open-api-2/definitions/index.mjs +28 -0
- package/es/refractor/visitors/open-api-2/example/index.mjs +15 -0
- package/es/refractor/visitors/open-api-2/external-documentation/index.mjs +15 -0
- package/es/refractor/visitors/open-api-2/header/index.mjs +15 -0
- package/es/refractor/visitors/open-api-2/headers/index.mjs +15 -0
- package/es/refractor/visitors/open-api-2/index.mjs +15 -0
- package/es/refractor/visitors/open-api-2/info/VersionVisitor.mjs +14 -0
- package/es/refractor/visitors/open-api-2/info/index.mjs +15 -0
- package/es/refractor/visitors/open-api-2/items/index.mjs +15 -0
- package/es/refractor/visitors/open-api-2/license/index.mjs +15 -0
- package/es/refractor/visitors/open-api-2/operation/ConsumesVisitor.mjs +16 -0
- package/es/refractor/visitors/open-api-2/operation/ParametersVisitor.mjs +27 -0
- package/es/refractor/visitors/open-api-2/operation/ProducesVisitor.mjs +16 -0
- package/es/refractor/visitors/open-api-2/operation/SchemesVisitor.mjs +16 -0
- package/es/refractor/visitors/open-api-2/operation/SecurityVisitor.mjs +22 -0
- package/es/refractor/visitors/open-api-2/operation/TagsVisitor.mjs +16 -0
- package/es/refractor/visitors/open-api-2/operation/index.mjs +14 -0
- package/es/refractor/visitors/open-api-2/parameter/index.mjs +15 -0
- package/es/refractor/visitors/open-api-2/parameters-definitions/index.mjs +14 -0
- package/es/refractor/visitors/open-api-2/path-item/$RefVisitor.mjs +13 -0
- package/es/refractor/visitors/open-api-2/path-item/ParametersVisitor.mjs +27 -0
- package/es/refractor/visitors/open-api-2/path-item/index.mjs +35 -0
- package/es/refractor/visitors/open-api-2/paths/index.mjs +30 -0
- package/es/refractor/visitors/open-api-2/reference/$RefVisitor.mjs +13 -0
- package/es/refractor/visitors/open-api-2/reference/index.mjs +28 -0
- package/es/refractor/visitors/open-api-2/response/index.mjs +15 -0
- package/es/refractor/visitors/open-api-2/responses/DefaultVisitor.mjs +32 -0
- package/es/refractor/visitors/open-api-2/responses/index.mjs +41 -0
- package/es/refractor/visitors/open-api-2/responses-definitions/index.mjs +14 -0
- package/es/refractor/visitors/open-api-2/schema/AllOfVisitor.mjs +18 -0
- package/es/refractor/visitors/open-api-2/schema/ItemsVisitor.mjs +26 -0
- package/es/refractor/visitors/open-api-2/schema/PropertiesVisitor.mjs +18 -0
- package/es/refractor/visitors/open-api-2/schema/SchemaOrJSONReferenceVisitor.mjs +18 -0
- package/es/refractor/visitors/open-api-2/schema/index.mjs +15 -0
- package/es/refractor/visitors/open-api-2/scopes/index.mjs +15 -0
- package/es/refractor/visitors/open-api-2/security-definitions/index.mjs +14 -0
- package/es/refractor/visitors/open-api-2/security-requirement/index.mjs +14 -0
- package/es/refractor/visitors/open-api-2/security-scheme/index.mjs +15 -0
- package/es/refractor/visitors/open-api-2/tag/index.mjs +15 -0
- package/es/refractor/visitors/open-api-2/xml/index.mjs +15 -0
- package/es/traversal/visitor.mjs +50 -0
- package/package.json +64 -0
- package/types/dist.d.ts +1143 -0
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.isXmlElement = exports.isTagElement = exports.isSwaggerVersionElement = exports.isSwaggerElement = exports.isSecuritySchemeElement = exports.isSecurityRequirementElement = exports.isSecurityDefinitionsElement = exports.isScopesElement = exports.isSchemaElement = exports.isResponsesElement = exports.isResponsesDefinitionsElement = exports.isResponseElement = exports.isReferenceElement = exports.isPathsElement = exports.isPathItemElement = exports.isParametersDefinitionsElement = exports.isParameterElement = exports.isOperationElement = exports.isLicenseElement = exports.isItemsElement = exports.isInfoElement = exports.isHeadersElement = exports.isHeaderElement = exports.isExternalDocumentationElement = exports.isExampleElement = exports.isDefinitionsElement = exports.isContactElement = void 0;
|
|
6
|
+
var _apidomCore = require("@swagger-api/apidom-core");
|
|
7
|
+
var _Swagger = _interopRequireDefault(require("./elements/Swagger.cjs"));
|
|
8
|
+
var _SwaggerVersion = _interopRequireDefault(require("./elements/SwaggerVersion.cjs"));
|
|
9
|
+
var _Info = _interopRequireDefault(require("./elements/Info.cjs"));
|
|
10
|
+
var _Contact = _interopRequireDefault(require("./elements/Contact.cjs"));
|
|
11
|
+
var _License = _interopRequireDefault(require("./elements/License.cjs"));
|
|
12
|
+
var _Paths = _interopRequireDefault(require("./elements/Paths.cjs"));
|
|
13
|
+
var _PathItem = _interopRequireDefault(require("./elements/PathItem.cjs"));
|
|
14
|
+
var _Operation = _interopRequireDefault(require("./elements/Operation.cjs"));
|
|
15
|
+
var _ExternalDocumentation = _interopRequireDefault(require("./elements/ExternalDocumentation.cjs"));
|
|
16
|
+
var _Parameter = _interopRequireDefault(require("./elements/Parameter.cjs"));
|
|
17
|
+
var _Items = _interopRequireDefault(require("./elements/Items.cjs"));
|
|
18
|
+
var _Example = _interopRequireDefault(require("./elements/Example.cjs"));
|
|
19
|
+
var _Responses = _interopRequireDefault(require("./elements/Responses.cjs"));
|
|
20
|
+
var _Response = _interopRequireDefault(require("./elements/Response.cjs"));
|
|
21
|
+
var _Headers = _interopRequireDefault(require("./elements/Headers.cjs"));
|
|
22
|
+
var _Header = _interopRequireDefault(require("./elements/Header.cjs"));
|
|
23
|
+
var _Tag = _interopRequireDefault(require("./elements/Tag.cjs"));
|
|
24
|
+
var _Reference = _interopRequireDefault(require("./elements/Reference.cjs"));
|
|
25
|
+
var _Schema = _interopRequireDefault(require("./elements/Schema.cjs"));
|
|
26
|
+
var _Xml = _interopRequireDefault(require("./elements/Xml.cjs"));
|
|
27
|
+
var _Definitions = _interopRequireDefault(require("./elements/Definitions.cjs"));
|
|
28
|
+
var _ParametersDefinitions = _interopRequireDefault(require("./elements/ParametersDefinitions.cjs"));
|
|
29
|
+
var _ResponsesDefinitions = _interopRequireDefault(require("./elements/ResponsesDefinitions.cjs"));
|
|
30
|
+
var _SecurityDefinitions = _interopRequireDefault(require("./elements/SecurityDefinitions.cjs"));
|
|
31
|
+
var _SecurityScheme = _interopRequireDefault(require("./elements/SecurityScheme.cjs"));
|
|
32
|
+
var _SecurityRequirement = _interopRequireDefault(require("./elements/SecurityRequirement.cjs"));
|
|
33
|
+
var _Scopes = _interopRequireDefault(require("./elements/Scopes.cjs"));
|
|
34
|
+
const isSwaggerElement = exports.isSwaggerElement = (0, _apidomCore.createPredicate)(({
|
|
35
|
+
hasBasicElementProps,
|
|
36
|
+
isElementType,
|
|
37
|
+
primitiveEq
|
|
38
|
+
}) => {
|
|
39
|
+
return element => element instanceof _Swagger.default || hasBasicElementProps(element) && isElementType('swagger', element) && primitiveEq('object', element);
|
|
40
|
+
});
|
|
41
|
+
const isSwaggerVersionElement = exports.isSwaggerVersionElement = (0, _apidomCore.createPredicate)(({
|
|
42
|
+
hasBasicElementProps,
|
|
43
|
+
isElementType,
|
|
44
|
+
primitiveEq
|
|
45
|
+
}) => {
|
|
46
|
+
return element => element instanceof _SwaggerVersion.default || hasBasicElementProps(element) && isElementType('swaggerVersion', element) && primitiveEq('string', element);
|
|
47
|
+
});
|
|
48
|
+
const isInfoElement = exports.isInfoElement = (0, _apidomCore.createPredicate)(({
|
|
49
|
+
hasBasicElementProps,
|
|
50
|
+
isElementType,
|
|
51
|
+
primitiveEq
|
|
52
|
+
}) => {
|
|
53
|
+
return element => element instanceof _Info.default || hasBasicElementProps(element) && isElementType('info', element) && primitiveEq('object', element);
|
|
54
|
+
});
|
|
55
|
+
const isLicenseElement = exports.isLicenseElement = (0, _apidomCore.createPredicate)(({
|
|
56
|
+
hasBasicElementProps,
|
|
57
|
+
isElementType,
|
|
58
|
+
primitiveEq
|
|
59
|
+
}) => {
|
|
60
|
+
return element => element instanceof _License.default || hasBasicElementProps(element) && isElementType('license', element) && primitiveEq('object', element);
|
|
61
|
+
});
|
|
62
|
+
const isContactElement = exports.isContactElement = (0, _apidomCore.createPredicate)(({
|
|
63
|
+
hasBasicElementProps,
|
|
64
|
+
isElementType,
|
|
65
|
+
primitiveEq
|
|
66
|
+
}) => {
|
|
67
|
+
return element => element instanceof _Contact.default || hasBasicElementProps(element) && isElementType('contact', element) && primitiveEq('object', element);
|
|
68
|
+
});
|
|
69
|
+
const isPathsElement = exports.isPathsElement = (0, _apidomCore.createPredicate)(({
|
|
70
|
+
hasBasicElementProps,
|
|
71
|
+
isElementType,
|
|
72
|
+
primitiveEq
|
|
73
|
+
}) => {
|
|
74
|
+
return element => element instanceof _Paths.default || hasBasicElementProps(element) && isElementType('paths', element) && primitiveEq('object', element);
|
|
75
|
+
});
|
|
76
|
+
const isPathItemElement = exports.isPathItemElement = (0, _apidomCore.createPredicate)(({
|
|
77
|
+
hasBasicElementProps,
|
|
78
|
+
isElementType,
|
|
79
|
+
primitiveEq
|
|
80
|
+
}) => {
|
|
81
|
+
return element => element instanceof _PathItem.default || hasBasicElementProps(element) && isElementType('pathItem', element) && primitiveEq('object', element);
|
|
82
|
+
});
|
|
83
|
+
const isOperationElement = exports.isOperationElement = (0, _apidomCore.createPredicate)(({
|
|
84
|
+
hasBasicElementProps,
|
|
85
|
+
isElementType,
|
|
86
|
+
primitiveEq
|
|
87
|
+
}) => {
|
|
88
|
+
return element => element instanceof _Operation.default || hasBasicElementProps(element) && isElementType('operation', element) && primitiveEq('object', element);
|
|
89
|
+
});
|
|
90
|
+
const isExternalDocumentationElement = exports.isExternalDocumentationElement = (0, _apidomCore.createPredicate)(({
|
|
91
|
+
hasBasicElementProps,
|
|
92
|
+
isElementType,
|
|
93
|
+
primitiveEq
|
|
94
|
+
}) => {
|
|
95
|
+
return element => element instanceof _ExternalDocumentation.default || hasBasicElementProps(element) && isElementType('externalDocumentation', element) && primitiveEq('object', element);
|
|
96
|
+
});
|
|
97
|
+
const isParameterElement = exports.isParameterElement = (0, _apidomCore.createPredicate)(({
|
|
98
|
+
hasBasicElementProps,
|
|
99
|
+
isElementType,
|
|
100
|
+
primitiveEq
|
|
101
|
+
}) => {
|
|
102
|
+
return element => element instanceof _Parameter.default || hasBasicElementProps(element) && isElementType('parameter', element) && primitiveEq('object', element);
|
|
103
|
+
});
|
|
104
|
+
const isItemsElement = exports.isItemsElement = (0, _apidomCore.createPredicate)(({
|
|
105
|
+
hasBasicElementProps,
|
|
106
|
+
isElementType,
|
|
107
|
+
primitiveEq
|
|
108
|
+
}) => {
|
|
109
|
+
return element => element instanceof _Items.default || hasBasicElementProps(element) && isElementType('items', element) && primitiveEq('object', element);
|
|
110
|
+
});
|
|
111
|
+
const isResponsesElement = exports.isResponsesElement = (0, _apidomCore.createPredicate)(({
|
|
112
|
+
hasBasicElementProps,
|
|
113
|
+
isElementType,
|
|
114
|
+
primitiveEq
|
|
115
|
+
}) => {
|
|
116
|
+
return element => element instanceof _Responses.default || hasBasicElementProps(element) && isElementType('responses', element) && primitiveEq('object', element);
|
|
117
|
+
});
|
|
118
|
+
const isResponseElement = exports.isResponseElement = (0, _apidomCore.createPredicate)(({
|
|
119
|
+
hasBasicElementProps,
|
|
120
|
+
isElementType,
|
|
121
|
+
primitiveEq
|
|
122
|
+
}) => {
|
|
123
|
+
return element => element instanceof _Response.default || hasBasicElementProps(element) && isElementType('response', element) && primitiveEq('object', element);
|
|
124
|
+
});
|
|
125
|
+
const isHeadersElement = exports.isHeadersElement = (0, _apidomCore.createPredicate)(({
|
|
126
|
+
hasBasicElementProps,
|
|
127
|
+
isElementType,
|
|
128
|
+
primitiveEq
|
|
129
|
+
}) => {
|
|
130
|
+
return element => element instanceof _Headers.default || hasBasicElementProps(element) && isElementType('headers', element) && primitiveEq('object', element);
|
|
131
|
+
});
|
|
132
|
+
const isExampleElement = exports.isExampleElement = (0, _apidomCore.createPredicate)(({
|
|
133
|
+
hasBasicElementProps,
|
|
134
|
+
isElementType,
|
|
135
|
+
primitiveEq
|
|
136
|
+
}) => {
|
|
137
|
+
return element => element instanceof _Example.default || hasBasicElementProps(element) && isElementType('example', element) && primitiveEq('object', element);
|
|
138
|
+
});
|
|
139
|
+
const isHeaderElement = exports.isHeaderElement = (0, _apidomCore.createPredicate)(({
|
|
140
|
+
hasBasicElementProps,
|
|
141
|
+
isElementType,
|
|
142
|
+
primitiveEq
|
|
143
|
+
}) => {
|
|
144
|
+
return element => element instanceof _Header.default || hasBasicElementProps(element) && isElementType('header', element) && primitiveEq('object', element);
|
|
145
|
+
});
|
|
146
|
+
const isTagElement = exports.isTagElement = (0, _apidomCore.createPredicate)(({
|
|
147
|
+
hasBasicElementProps,
|
|
148
|
+
isElementType,
|
|
149
|
+
primitiveEq
|
|
150
|
+
}) => {
|
|
151
|
+
return element => element instanceof _Tag.default || hasBasicElementProps(element) && isElementType('tag', element) && primitiveEq('object', element);
|
|
152
|
+
});
|
|
153
|
+
const isReferenceElement = exports.isReferenceElement = (0, _apidomCore.createPredicate)(({
|
|
154
|
+
hasBasicElementProps,
|
|
155
|
+
isElementType,
|
|
156
|
+
primitiveEq
|
|
157
|
+
}) => {
|
|
158
|
+
return element => element instanceof _Reference.default || hasBasicElementProps(element) && isElementType('reference', element) && primitiveEq('object', element);
|
|
159
|
+
});
|
|
160
|
+
const isSchemaElement = exports.isSchemaElement = (0, _apidomCore.createPredicate)(({
|
|
161
|
+
hasBasicElementProps,
|
|
162
|
+
isElementType,
|
|
163
|
+
primitiveEq
|
|
164
|
+
}) => {
|
|
165
|
+
return element => element instanceof _Schema.default || hasBasicElementProps(element) && isElementType('schema', element) && primitiveEq('object', element);
|
|
166
|
+
});
|
|
167
|
+
const isXmlElement = exports.isXmlElement = (0, _apidomCore.createPredicate)(({
|
|
168
|
+
hasBasicElementProps,
|
|
169
|
+
isElementType,
|
|
170
|
+
primitiveEq
|
|
171
|
+
}) => {
|
|
172
|
+
return element => element instanceof _Xml.default || hasBasicElementProps(element) && isElementType('xml', element) && primitiveEq('object', element);
|
|
173
|
+
});
|
|
174
|
+
const isResponsesDefinitionsElement = exports.isResponsesDefinitionsElement = (0, _apidomCore.createPredicate)(({
|
|
175
|
+
hasBasicElementProps,
|
|
176
|
+
isElementType,
|
|
177
|
+
primitiveEq
|
|
178
|
+
}) => {
|
|
179
|
+
return element => element instanceof _ResponsesDefinitions.default || hasBasicElementProps(element) && isElementType('responsesDefinitions', element) && primitiveEq('object', element);
|
|
180
|
+
});
|
|
181
|
+
const isSecurityDefinitionsElement = exports.isSecurityDefinitionsElement = (0, _apidomCore.createPredicate)(({
|
|
182
|
+
hasBasicElementProps,
|
|
183
|
+
isElementType,
|
|
184
|
+
primitiveEq
|
|
185
|
+
}) => {
|
|
186
|
+
return element => element instanceof _SecurityDefinitions.default || hasBasicElementProps(element) && isElementType('securityDefinitions', element) && primitiveEq('object', element);
|
|
187
|
+
});
|
|
188
|
+
const isDefinitionsElement = exports.isDefinitionsElement = (0, _apidomCore.createPredicate)(({
|
|
189
|
+
hasBasicElementProps,
|
|
190
|
+
isElementType,
|
|
191
|
+
primitiveEq
|
|
192
|
+
}) => {
|
|
193
|
+
return element => element instanceof _Definitions.default || hasBasicElementProps(element) && isElementType('definitions', element) && primitiveEq('object', element);
|
|
194
|
+
});
|
|
195
|
+
const isParametersDefinitionsElement = exports.isParametersDefinitionsElement = (0, _apidomCore.createPredicate)(({
|
|
196
|
+
hasBasicElementProps,
|
|
197
|
+
isElementType,
|
|
198
|
+
primitiveEq
|
|
199
|
+
}) => {
|
|
200
|
+
return element => element instanceof _ParametersDefinitions.default || hasBasicElementProps(element) && isElementType('parametersDefinitions', element) && primitiveEq('object', element);
|
|
201
|
+
});
|
|
202
|
+
const isSecuritySchemeElement = exports.isSecuritySchemeElement = (0, _apidomCore.createPredicate)(({
|
|
203
|
+
hasBasicElementProps,
|
|
204
|
+
isElementType,
|
|
205
|
+
primitiveEq
|
|
206
|
+
}) => {
|
|
207
|
+
return element => element instanceof _SecurityScheme.default || hasBasicElementProps(element) && isElementType('securityScheme', element) && primitiveEq('object', element);
|
|
208
|
+
});
|
|
209
|
+
const isScopesElement = exports.isScopesElement = (0, _apidomCore.createPredicate)(({
|
|
210
|
+
hasBasicElementProps,
|
|
211
|
+
isElementType,
|
|
212
|
+
primitiveEq
|
|
213
|
+
}) => {
|
|
214
|
+
return element => element instanceof _Scopes.default || hasBasicElementProps(element) && isElementType('scopes', element) && primitiveEq('object', element);
|
|
215
|
+
});
|
|
216
|
+
const isSecurityRequirementElement = exports.isSecurityRequirementElement = (0, _apidomCore.createPredicate)(({
|
|
217
|
+
hasBasicElementProps,
|
|
218
|
+
isElementType,
|
|
219
|
+
primitiveEq
|
|
220
|
+
}) => {
|
|
221
|
+
return element => element instanceof _SecurityRequirement.default || hasBasicElementProps(element) && isElementType('securityRequirement', element) && primitiveEq('object', element);
|
|
222
|
+
});
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.default = exports.createRefractor = void 0;
|
|
6
|
+
var _ramdaAdjunct = require("ramda-adjunct");
|
|
7
|
+
var _apidomCore = require("@swagger-api/apidom-core");
|
|
8
|
+
var _specification = _interopRequireDefault(require("./specification.cjs"));
|
|
9
|
+
var _visitor = require("../traversal/visitor.cjs");
|
|
10
|
+
var _toolbox = _interopRequireDefault(require("./toolbox.cjs"));
|
|
11
|
+
const refract = (value, {
|
|
12
|
+
specPath = ['visitors', 'document', 'objects', 'Swagger', '$visitor'],
|
|
13
|
+
plugins = []
|
|
14
|
+
} = {}) => {
|
|
15
|
+
const element = (0, _apidomCore.refract)(value);
|
|
16
|
+
const resolvedSpec = (0, _apidomCore.dereference)(_specification.default);
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* This is where generic ApiDOM becomes semantic (namespace applied).
|
|
20
|
+
* We don't allow consumers to hook into this translation.
|
|
21
|
+
* Though we allow consumers to define their onw plugins on already transformed ApiDOM.
|
|
22
|
+
*/
|
|
23
|
+
const rootVisitor = (0, _ramdaAdjunct.invokeArgs)(specPath, [], resolvedSpec);
|
|
24
|
+
// @ts-ignore
|
|
25
|
+
(0, _apidomCore.visit)(element, rootVisitor, {
|
|
26
|
+
state: {
|
|
27
|
+
specObj: resolvedSpec
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Running plugins visitors means extra single traversal === performance hit.
|
|
33
|
+
*/
|
|
34
|
+
return (0, _apidomCore.dispatchRefractorPlugins)(rootVisitor.element, plugins, {
|
|
35
|
+
toolboxCreator: _toolbox.default,
|
|
36
|
+
visitorOptions: {
|
|
37
|
+
keyMap: _visitor.keyMap,
|
|
38
|
+
nodeTypeGetter: _visitor.getNodeType
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
const createRefractor = specPath => (value, options = {}) => refract(value, {
|
|
43
|
+
specPath,
|
|
44
|
+
...options
|
|
45
|
+
});
|
|
46
|
+
exports.createRefractor = createRefractor;
|
|
47
|
+
var _default = exports.default = refract;
|
|
@@ -0,0 +1,365 @@
|
|
|
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 _apidomCore = require("@swagger-api/apidom-core");
|
|
7
|
+
var _Info = _interopRequireDefault(require("../../elements/Info.cjs"));
|
|
8
|
+
var _Contact = _interopRequireDefault(require("../../elements/Contact.cjs"));
|
|
9
|
+
var _License = _interopRequireDefault(require("../../elements/License.cjs"));
|
|
10
|
+
var _Paths = _interopRequireDefault(require("../../elements/Paths.cjs"));
|
|
11
|
+
var _PathItem = _interopRequireDefault(require("../../elements/PathItem.cjs"));
|
|
12
|
+
var _Operation = _interopRequireDefault(require("../../elements/Operation.cjs"));
|
|
13
|
+
var _ExternalDocumentation = _interopRequireDefault(require("../../elements/ExternalDocumentation.cjs"));
|
|
14
|
+
var _Parameter = _interopRequireDefault(require("../../elements/Parameter.cjs"));
|
|
15
|
+
var _Items = _interopRequireDefault(require("../../elements/Items.cjs"));
|
|
16
|
+
var _Responses = _interopRequireDefault(require("../../elements/Responses.cjs"));
|
|
17
|
+
var _Response = _interopRequireDefault(require("../../elements/Response.cjs"));
|
|
18
|
+
var _Headers = _interopRequireDefault(require("../../elements/Headers.cjs"));
|
|
19
|
+
var _Example = _interopRequireDefault(require("../../elements/Example.cjs"));
|
|
20
|
+
var _Header = _interopRequireDefault(require("../../elements/Header.cjs"));
|
|
21
|
+
var _Tag = _interopRequireDefault(require("../../elements/Tag.cjs"));
|
|
22
|
+
var _Schema = _interopRequireDefault(require("../../elements/Schema.cjs"));
|
|
23
|
+
var _Xml = _interopRequireDefault(require("../../elements/Xml.cjs"));
|
|
24
|
+
var _Definitions = _interopRequireDefault(require("../../elements/Definitions.cjs"));
|
|
25
|
+
var _ParametersDefinitions = _interopRequireDefault(require("../../elements/ParametersDefinitions.cjs"));
|
|
26
|
+
var _ResponsesDefinitions = _interopRequireDefault(require("../../elements/ResponsesDefinitions.cjs"));
|
|
27
|
+
var _SecurityDefinitions = _interopRequireDefault(require("../../elements/SecurityDefinitions.cjs"));
|
|
28
|
+
var _SecurityScheme = _interopRequireDefault(require("../../elements/SecurityScheme.cjs"));
|
|
29
|
+
var _Scopes = _interopRequireDefault(require("../../elements/Scopes.cjs"));
|
|
30
|
+
var _SecurityRequirement = _interopRequireDefault(require("../../elements/SecurityRequirement.cjs"));
|
|
31
|
+
var _OperationConsumes = _interopRequireDefault(require("../../elements/nces/OperationConsumes.cjs"));
|
|
32
|
+
var _OperationParameters = _interopRequireDefault(require("../../elements/nces/OperationParameters.cjs"));
|
|
33
|
+
var _OperationProduces = _interopRequireDefault(require("../../elements/nces/OperationProduces.cjs"));
|
|
34
|
+
var _OperationSchemes = _interopRequireDefault(require("../../elements/nces/OperationSchemes.cjs"));
|
|
35
|
+
var _OperationSecurity = _interopRequireDefault(require("../../elements/nces/OperationSecurity.cjs"));
|
|
36
|
+
var _OperationTags = _interopRequireDefault(require("../../elements/nces/OperationTags.cjs"));
|
|
37
|
+
var _PathItemParameters = _interopRequireDefault(require("../../elements/nces/PathItemParameters.cjs"));
|
|
38
|
+
var _SwaggerSchemes = _interopRequireDefault(require("../../elements/nces/SwaggerSchemes.cjs"));
|
|
39
|
+
var _SwaggerConsumes = _interopRequireDefault(require("../../elements/nces/SwaggerConsumes.cjs"));
|
|
40
|
+
var _SwaggerProduces = _interopRequireDefault(require("../../elements/nces/SwaggerProduces.cjs"));
|
|
41
|
+
var _SwaggerSecurity = _interopRequireDefault(require("../../elements/nces/SwaggerSecurity.cjs"));
|
|
42
|
+
var _SwaggerTags = _interopRequireDefault(require("../../elements/nces/SwaggerTags.cjs"));
|
|
43
|
+
var _visitor = require("../../traversal/visitor.cjs");
|
|
44
|
+
/**
|
|
45
|
+
* OpenAPI 2.0 specification elements.
|
|
46
|
+
*/
|
|
47
|
+
|
|
48
|
+
// non-concrete Elements (NCEs)
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* This plugin is specific to YAML 1.2 format, which allows defining key-value pairs
|
|
52
|
+
* with empty key, empty value, or both. If the value is not provided in YAML format,
|
|
53
|
+
* this plugin compensates for this missing value with the most appropriate semantic element type.
|
|
54
|
+
*
|
|
55
|
+
* https://yaml.org/spec/1.2.2/#72-empty-nodes
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
*
|
|
59
|
+
* ```yaml
|
|
60
|
+
* swagger: "2.0"
|
|
61
|
+
* info:
|
|
62
|
+
* ```
|
|
63
|
+
* Refracting result without this plugin:
|
|
64
|
+
*
|
|
65
|
+
* (SwaggerElement
|
|
66
|
+
* (MemberElement
|
|
67
|
+
* (StringElement)
|
|
68
|
+
* (SwaggerVersionElement))
|
|
69
|
+
* (MemberElement
|
|
70
|
+
* (StringElement)
|
|
71
|
+
* (StringElement))
|
|
72
|
+
*
|
|
73
|
+
* Refracting result with this plugin:
|
|
74
|
+
*
|
|
75
|
+
* (SwaggerElement
|
|
76
|
+
* (MemberElement
|
|
77
|
+
* (StringElement)
|
|
78
|
+
* (SwaggerVersionElement))
|
|
79
|
+
* (MemberElement
|
|
80
|
+
* (StringElement)
|
|
81
|
+
* (InfoElement))
|
|
82
|
+
*/
|
|
83
|
+
|
|
84
|
+
const isEmptyElement = element => (0, _apidomCore.isStringElement)(element) && (0, _apidomCore.includesClasses)(['yaml-e-node', 'yaml-e-scalar'], element);
|
|
85
|
+
const schema = {
|
|
86
|
+
// concrete types handling (CTs)
|
|
87
|
+
SwaggerElement: {
|
|
88
|
+
info(...args) {
|
|
89
|
+
return new _Info.default(...args);
|
|
90
|
+
},
|
|
91
|
+
schemes(...args) {
|
|
92
|
+
return new _SwaggerSchemes.default(...args);
|
|
93
|
+
},
|
|
94
|
+
consumes(...args) {
|
|
95
|
+
return new _SwaggerConsumes.default(...args);
|
|
96
|
+
},
|
|
97
|
+
produces(...args) {
|
|
98
|
+
return new _SwaggerProduces.default(...args);
|
|
99
|
+
},
|
|
100
|
+
paths(...args) {
|
|
101
|
+
return new _Paths.default(...args);
|
|
102
|
+
},
|
|
103
|
+
definitions(...args) {
|
|
104
|
+
return new _Definitions.default(...args);
|
|
105
|
+
},
|
|
106
|
+
parameters(...args) {
|
|
107
|
+
return new _ParametersDefinitions.default(...args);
|
|
108
|
+
},
|
|
109
|
+
responses(...args) {
|
|
110
|
+
return new _ResponsesDefinitions.default(...args);
|
|
111
|
+
},
|
|
112
|
+
securityDefinitions(...args) {
|
|
113
|
+
return new _SecurityDefinitions.default(...args);
|
|
114
|
+
},
|
|
115
|
+
security(...args) {
|
|
116
|
+
return new _SwaggerSecurity.default(...args);
|
|
117
|
+
},
|
|
118
|
+
tags(...args) {
|
|
119
|
+
return new _SwaggerTags.default(...args);
|
|
120
|
+
},
|
|
121
|
+
externalDocs(...args) {
|
|
122
|
+
return new _ExternalDocumentation.default(...args);
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
InfoElement: {
|
|
126
|
+
contact(...args) {
|
|
127
|
+
return new _Contact.default(...args);
|
|
128
|
+
},
|
|
129
|
+
license(...args) {
|
|
130
|
+
return new _License.default(...args);
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
PathsElement: {
|
|
134
|
+
'[key: *]': function key(...args) {
|
|
135
|
+
return new _PathItem.default(...args);
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
PathItemElement: {
|
|
139
|
+
get(...args) {
|
|
140
|
+
return new _Operation.default(...args);
|
|
141
|
+
},
|
|
142
|
+
put(...args) {
|
|
143
|
+
return new _Operation.default(...args);
|
|
144
|
+
},
|
|
145
|
+
post(...args) {
|
|
146
|
+
return new _Operation.default(...args);
|
|
147
|
+
},
|
|
148
|
+
delete(...args) {
|
|
149
|
+
return new _Operation.default(...args);
|
|
150
|
+
},
|
|
151
|
+
options(...args) {
|
|
152
|
+
return new _Operation.default(...args);
|
|
153
|
+
},
|
|
154
|
+
head(...args) {
|
|
155
|
+
return new _Operation.default(...args);
|
|
156
|
+
},
|
|
157
|
+
patch(...args) {
|
|
158
|
+
return new _Operation.default(...args);
|
|
159
|
+
},
|
|
160
|
+
parameters(...args) {
|
|
161
|
+
return new _PathItemParameters.default(...args);
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
OperationElement: {
|
|
165
|
+
tags(...args) {
|
|
166
|
+
return new _OperationTags.default(...args);
|
|
167
|
+
},
|
|
168
|
+
externalDocs(...args) {
|
|
169
|
+
return new _ExternalDocumentation.default(...args);
|
|
170
|
+
},
|
|
171
|
+
consumes(...args) {
|
|
172
|
+
return new _OperationConsumes.default(...args);
|
|
173
|
+
},
|
|
174
|
+
produces(...args) {
|
|
175
|
+
return new _OperationProduces.default(...args);
|
|
176
|
+
},
|
|
177
|
+
parameters(...args) {
|
|
178
|
+
return new _OperationParameters.default(...args);
|
|
179
|
+
},
|
|
180
|
+
responses(...args) {
|
|
181
|
+
return new _Responses.default(...args);
|
|
182
|
+
},
|
|
183
|
+
schemes(...args) {
|
|
184
|
+
return new _OperationSchemes.default(...args);
|
|
185
|
+
},
|
|
186
|
+
security(...args) {
|
|
187
|
+
return new _OperationSecurity.default(...args);
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
ParameterElement: {
|
|
191
|
+
schema(...args) {
|
|
192
|
+
return new _Schema.default(...args);
|
|
193
|
+
},
|
|
194
|
+
items(...args) {
|
|
195
|
+
return new _Items.default(...args);
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
ItemsElement: {
|
|
199
|
+
items(...args) {
|
|
200
|
+
return new _Items.default(...args);
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
ResponsesElement: {
|
|
204
|
+
'[key: *]': function key(...args) {
|
|
205
|
+
return new _Response.default(...args);
|
|
206
|
+
}
|
|
207
|
+
},
|
|
208
|
+
ResponseElement: {
|
|
209
|
+
schema(...args) {
|
|
210
|
+
return new _Schema.default(...args);
|
|
211
|
+
},
|
|
212
|
+
headers(...args) {
|
|
213
|
+
return new _Headers.default(...args);
|
|
214
|
+
},
|
|
215
|
+
examples(...args) {
|
|
216
|
+
return new _Example.default(...args);
|
|
217
|
+
}
|
|
218
|
+
},
|
|
219
|
+
HeadersElement: {
|
|
220
|
+
'[key: *]': function key(...args) {
|
|
221
|
+
return new _Header.default(...args);
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
HeaderElement: {
|
|
225
|
+
items(...args) {
|
|
226
|
+
return new _Items.default(...args);
|
|
227
|
+
}
|
|
228
|
+
},
|
|
229
|
+
TagElement: {
|
|
230
|
+
externalDocs(...args) {
|
|
231
|
+
return new _ExternalDocumentation.default(...args);
|
|
232
|
+
}
|
|
233
|
+
},
|
|
234
|
+
SchemaElement: {
|
|
235
|
+
items(...args) {
|
|
236
|
+
return new _Schema.default(...args);
|
|
237
|
+
},
|
|
238
|
+
allOf(...args) {
|
|
239
|
+
const element = new _apidomCore.ArrayElement(...args);
|
|
240
|
+
element.classes.push('json-schema-allOf');
|
|
241
|
+
return element;
|
|
242
|
+
},
|
|
243
|
+
properties(...args) {
|
|
244
|
+
const element = new _apidomCore.ObjectElement(...args);
|
|
245
|
+
element.classes.push('json-schema-properties');
|
|
246
|
+
return element;
|
|
247
|
+
},
|
|
248
|
+
additionalProperties(...args) {
|
|
249
|
+
return new _Schema.default(...args);
|
|
250
|
+
},
|
|
251
|
+
xml(...args) {
|
|
252
|
+
return new _Xml.default(...args);
|
|
253
|
+
},
|
|
254
|
+
externalDocs(...args) {
|
|
255
|
+
return new _ExternalDocumentation.default(...args);
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
DefinitionsElement: {
|
|
259
|
+
'[key: *]': function key(...args) {
|
|
260
|
+
return new _Schema.default(...args);
|
|
261
|
+
}
|
|
262
|
+
},
|
|
263
|
+
ParametersDefinitionsElement: {
|
|
264
|
+
'[key: *]': function key(...args) {
|
|
265
|
+
return new _Parameter.default(...args);
|
|
266
|
+
}
|
|
267
|
+
},
|
|
268
|
+
ResponsesDefinitionsElement: {
|
|
269
|
+
'[key: *]': function key(...args) {
|
|
270
|
+
return new _Response.default(...args);
|
|
271
|
+
}
|
|
272
|
+
},
|
|
273
|
+
SecurityDefinitionsElement: {
|
|
274
|
+
'[key: *]': function key(...args) {
|
|
275
|
+
return new _SecurityScheme.default(...args);
|
|
276
|
+
}
|
|
277
|
+
},
|
|
278
|
+
SecuritySchemeElement: {
|
|
279
|
+
scopes(...args) {
|
|
280
|
+
return new _Scopes.default(...args);
|
|
281
|
+
}
|
|
282
|
+
},
|
|
283
|
+
SecurityRequirementElement: {
|
|
284
|
+
'[key: *]': function key(...args) {
|
|
285
|
+
return new _apidomCore.ArrayElement(...args);
|
|
286
|
+
}
|
|
287
|
+
},
|
|
288
|
+
// non-concrete types handling (NCEs)
|
|
289
|
+
[_OperationParameters.default.primaryClass]: {
|
|
290
|
+
'<*>': function asterisk(...args) {
|
|
291
|
+
return new _Parameter.default(...args);
|
|
292
|
+
}
|
|
293
|
+
},
|
|
294
|
+
[_OperationSecurity.default.primaryClass]: {
|
|
295
|
+
'<*>': function asterisk(...args) {
|
|
296
|
+
return new _SecurityRequirement.default(...args);
|
|
297
|
+
}
|
|
298
|
+
},
|
|
299
|
+
[_PathItemParameters.default.primaryClass]: {
|
|
300
|
+
'<*>': function asterisk(...args) {
|
|
301
|
+
return new _Parameter.default(...args);
|
|
302
|
+
}
|
|
303
|
+
},
|
|
304
|
+
[_SwaggerSecurity.default.primaryClass]: {
|
|
305
|
+
'<*>': function asterisk(...args) {
|
|
306
|
+
return new _SecurityRequirement.default(...args);
|
|
307
|
+
}
|
|
308
|
+
},
|
|
309
|
+
[_SwaggerTags.default.primaryClass]: {
|
|
310
|
+
'<*>': function asterisk(...args) {
|
|
311
|
+
return new _Tag.default(...args);
|
|
312
|
+
}
|
|
313
|
+
},
|
|
314
|
+
'json-schema-properties': {
|
|
315
|
+
'[key: *]': function key(...args) {
|
|
316
|
+
return new _Schema.default(...args);
|
|
317
|
+
}
|
|
318
|
+
},
|
|
319
|
+
'json-schema-allOf': {
|
|
320
|
+
'<*>': function asterisk(...args) {
|
|
321
|
+
return new _Schema.default(...args);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
};
|
|
325
|
+
const findElementFactory = (ancestor, keyName) => {
|
|
326
|
+
const elementType = (0, _visitor.getNodeType)(ancestor); // @ts-ignore
|
|
327
|
+
const keyMapping = schema[elementType] || schema[(0, _apidomCore.toValue)(ancestor.classes.first)];
|
|
328
|
+
return typeof keyMapping === 'undefined' ? undefined : Object.prototype.hasOwnProperty.call(keyMapping, '[key: *]') ? keyMapping['[key: *]'] : keyMapping[keyName];
|
|
329
|
+
};
|
|
330
|
+
const plugin = () => () => {
|
|
331
|
+
return {
|
|
332
|
+
visitor: {
|
|
333
|
+
MemberElement(element, ...rest) {
|
|
334
|
+
// no empty Element, continue with next one
|
|
335
|
+
if (!isEmptyElement(element.value)) return undefined;
|
|
336
|
+
const [,,, ancestors] = rest;
|
|
337
|
+
const ancestor = ancestors.at(-1);
|
|
338
|
+
const elementFactory = findElementFactory(ancestor, (0, _apidomCore.toValue)(element.key));
|
|
339
|
+
|
|
340
|
+
// no element factory found
|
|
341
|
+
if (typeof elementFactory === 'undefined') return undefined;
|
|
342
|
+
const originalValue = element.value;
|
|
343
|
+
return new _apidomCore.MemberElement(element.key, elementFactory.call({
|
|
344
|
+
context: ancestor
|
|
345
|
+
}, undefined, (0, _apidomCore.cloneDeep)(originalValue.meta), (0, _apidomCore.cloneDeep)(originalValue.attributes)), (0, _apidomCore.cloneDeep)(element.meta), (0, _apidomCore.cloneDeep)(element.attributes));
|
|
346
|
+
},
|
|
347
|
+
StringElement(element, ...rest) {
|
|
348
|
+
if (!isEmptyElement(element)) return undefined;
|
|
349
|
+
const [,,, ancestors] = rest;
|
|
350
|
+
const ancestor = ancestors.at(-1);
|
|
351
|
+
|
|
352
|
+
// we're only interested in empty elements in ArrayElements
|
|
353
|
+
if (!(0, _apidomCore.isArrayElement)(ancestor)) return undefined;
|
|
354
|
+
const elementFactory = findElementFactory(ancestor, '<*>');
|
|
355
|
+
|
|
356
|
+
// no element factory found
|
|
357
|
+
if (typeof elementFactory === 'undefined') return undefined;
|
|
358
|
+
return elementFactory.call({
|
|
359
|
+
context: element
|
|
360
|
+
}, undefined, (0, _apidomCore.cloneDeep)(element.meta), (0, _apidomCore.cloneDeep)(element.attributes));
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
};
|
|
364
|
+
};
|
|
365
|
+
var _default = exports.default = plugin;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.isSwaggerExtension = exports.isReferenceLikeElement = void 0;
|
|
5
|
+
var _ramda = require("ramda");
|
|
6
|
+
var _apidomCore = require("@swagger-api/apidom-core");
|
|
7
|
+
const isSwaggerExtension = element => {
|
|
8
|
+
return (0, _apidomCore.isStringElement)(element.key) && (0, _ramda.startsWith)('x-', (0, _apidomCore.toValue)(element.key));
|
|
9
|
+
};
|
|
10
|
+
exports.isSwaggerExtension = isSwaggerExtension;
|
|
11
|
+
const isReferenceLikeElement = element => {
|
|
12
|
+
return (0, _apidomCore.isObjectElement)(element) && element.hasKey('$ref');
|
|
13
|
+
};
|
|
14
|
+
exports.isReferenceLikeElement = isReferenceLikeElement;
|