@speclynx/apidom-ns-openapi-2 1.12.1 → 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 +23 -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
|
@@ -3,36 +3,30 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.default = void 0;
|
|
6
|
-
var _tsMixer = require("ts-mixer");
|
|
7
|
-
var _apidomCore = require("@speclynx/apidom-core");
|
|
8
6
|
var _predicates = require("../../../predicates.cjs");
|
|
9
7
|
var _predicates2 = require("../../../../predicates.cjs");
|
|
10
8
|
var _PathItemParameters = _interopRequireDefault(require("../../../../elements/nces/PathItemParameters.cjs"));
|
|
11
|
-
var
|
|
12
|
-
var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
|
|
9
|
+
var _bases = require("../bases.cjs");
|
|
13
10
|
/**
|
|
14
11
|
* @public
|
|
15
12
|
*/
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* @public
|
|
19
|
-
*/
|
|
20
|
-
class ParametersVisitor extends (0, _tsMixer.Mixin)(_SpecificationVisitor.default, _FallbackVisitor.default) {
|
|
13
|
+
class ParametersVisitor extends _bases.BaseSpecificationVisitor {
|
|
21
14
|
constructor(options) {
|
|
22
15
|
super(options);
|
|
23
16
|
this.element = new _PathItemParameters.default();
|
|
24
17
|
}
|
|
25
|
-
ArrayElement(
|
|
18
|
+
ArrayElement(path) {
|
|
19
|
+
const arrayElement = path.node;
|
|
26
20
|
arrayElement.forEach(item => {
|
|
27
21
|
const specPath = (0, _predicates.isReferenceLikeElement)(item) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'Parameter'];
|
|
28
22
|
const element = this.toRefractedElement(specPath, item);
|
|
29
23
|
if ((0, _predicates2.isReferenceElement)(element)) {
|
|
30
|
-
element.
|
|
24
|
+
element.meta.set('referenced-element', 'parameter');
|
|
31
25
|
}
|
|
32
26
|
this.element.push(element);
|
|
33
27
|
});
|
|
34
28
|
this.copyMetaAndAttributes(arrayElement, this.element);
|
|
35
|
-
|
|
29
|
+
path.stop();
|
|
36
30
|
}
|
|
37
31
|
}
|
|
38
32
|
var _default = exports.default = ParametersVisitor;
|
|
@@ -1,32 +1,27 @@
|
|
|
1
|
-
import { Mixin } from 'ts-mixer';
|
|
2
|
-
import { BREAK } from '@speclynx/apidom-core';
|
|
3
1
|
import { isReferenceLikeElement } from "../../../predicates.mjs";
|
|
4
2
|
import { isReferenceElement } from "../../../../predicates.mjs";
|
|
5
3
|
import PathItemParametersElement from "../../../../elements/nces/PathItemParameters.mjs";
|
|
6
|
-
import
|
|
7
|
-
import FallbackVisitor from "../../FallbackVisitor.mjs";
|
|
4
|
+
import { BaseSpecificationVisitor } from "../bases.mjs";
|
|
8
5
|
/**
|
|
9
6
|
* @public
|
|
10
7
|
*/
|
|
11
|
-
|
|
12
|
-
* @public
|
|
13
|
-
*/
|
|
14
|
-
class ParametersVisitor extends Mixin(SpecificationVisitor, FallbackVisitor) {
|
|
8
|
+
class ParametersVisitor extends BaseSpecificationVisitor {
|
|
15
9
|
constructor(options) {
|
|
16
10
|
super(options);
|
|
17
11
|
this.element = new PathItemParametersElement();
|
|
18
12
|
}
|
|
19
|
-
ArrayElement(
|
|
13
|
+
ArrayElement(path) {
|
|
14
|
+
const arrayElement = path.node;
|
|
20
15
|
arrayElement.forEach(item => {
|
|
21
16
|
const specPath = isReferenceLikeElement(item) ? ['document', 'objects', 'Reference'] : ['document', 'objects', 'Parameter'];
|
|
22
17
|
const element = this.toRefractedElement(specPath, item);
|
|
23
18
|
if (isReferenceElement(element)) {
|
|
24
|
-
element.
|
|
19
|
+
element.meta.set('referenced-element', 'parameter');
|
|
25
20
|
}
|
|
26
21
|
this.element.push(element);
|
|
27
22
|
});
|
|
28
23
|
this.copyMetaAndAttributes(arrayElement, this.element);
|
|
29
|
-
|
|
24
|
+
path.stop();
|
|
30
25
|
}
|
|
31
26
|
}
|
|
32
27
|
export default ParametersVisitor;
|
|
@@ -3,43 +3,37 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.default = void 0;
|
|
6
|
-
var _tsMixer = require("ts-mixer");
|
|
7
6
|
var _ramda = require("ramda");
|
|
7
|
+
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
8
8
|
var _apidomCore = require("@speclynx/apidom-core");
|
|
9
9
|
var _PathItem = _interopRequireDefault(require("../../../../elements/PathItem.cjs"));
|
|
10
10
|
var _predicates = require("../../../../predicates.cjs");
|
|
11
|
-
var
|
|
12
|
-
var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
|
|
11
|
+
var _bases = require("../bases.cjs");
|
|
13
12
|
/**
|
|
14
13
|
* @public
|
|
15
14
|
*/
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* @public
|
|
19
|
-
*/
|
|
20
|
-
class PathItemVisitor extends (0, _tsMixer.Mixin)(_FixedFieldsVisitor.default, _FallbackVisitor.default) {
|
|
15
|
+
class PathItemVisitor extends _bases.BaseFixedFieldsVisitor {
|
|
21
16
|
constructor(options) {
|
|
22
17
|
super(options);
|
|
23
18
|
this.element = new _PathItem.default();
|
|
24
19
|
this.specPath = (0, _ramda.always)(['document', 'objects', 'PathItem']);
|
|
25
20
|
}
|
|
26
|
-
ObjectElement(
|
|
27
|
-
|
|
21
|
+
ObjectElement(path) {
|
|
22
|
+
_bases.BaseFixedFieldsVisitor.prototype.ObjectElement.call(this, path);
|
|
28
23
|
|
|
29
24
|
// decorate Operation elements with HTTP method
|
|
30
25
|
this.element.filter(_predicates.isOperationElement)
|
|
31
26
|
// @ts-ignore
|
|
32
27
|
.forEach((operationElement, httpMethodElementCI) => {
|
|
33
|
-
const httpMethodElementCS = (0,
|
|
28
|
+
const httpMethodElementCS = (0, _apidomDatamodel.cloneDeep)(httpMethodElementCI);
|
|
34
29
|
httpMethodElementCS.content = (0, _apidomCore.toValue)(httpMethodElementCS).toUpperCase();
|
|
35
|
-
operationElement.
|
|
30
|
+
operationElement.meta.set('http-method', httpMethodElementCS);
|
|
36
31
|
});
|
|
37
32
|
|
|
38
33
|
// mark this PathItemElement with reference metadata
|
|
39
|
-
if ((0,
|
|
34
|
+
if ((0, _apidomDatamodel.isStringElement)(this.element.$ref)) {
|
|
40
35
|
this.element.classes.push('reference-element');
|
|
41
36
|
}
|
|
42
|
-
return result;
|
|
43
37
|
}
|
|
44
38
|
}
|
|
45
39
|
var _default = exports.default = PathItemVisitor;
|
|
@@ -1,24 +1,20 @@
|
|
|
1
|
-
import { Mixin } from 'ts-mixer';
|
|
2
1
|
import { always } from 'ramda';
|
|
3
|
-
import { isStringElement, cloneDeep
|
|
2
|
+
import { isStringElement, cloneDeep } from '@speclynx/apidom-datamodel';
|
|
3
|
+
import { toValue } from '@speclynx/apidom-core';
|
|
4
4
|
import PathItemElement from "../../../../elements/PathItem.mjs";
|
|
5
5
|
import { isOperationElement } from "../../../../predicates.mjs";
|
|
6
|
-
import
|
|
7
|
-
import FallbackVisitor from "../../FallbackVisitor.mjs";
|
|
6
|
+
import { BaseFixedFieldsVisitor } from "../bases.mjs";
|
|
8
7
|
/**
|
|
9
8
|
* @public
|
|
10
9
|
*/
|
|
11
|
-
|
|
12
|
-
* @public
|
|
13
|
-
*/
|
|
14
|
-
class PathItemVisitor extends Mixin(FixedFieldsVisitor, FallbackVisitor) {
|
|
10
|
+
class PathItemVisitor extends BaseFixedFieldsVisitor {
|
|
15
11
|
constructor(options) {
|
|
16
12
|
super(options);
|
|
17
13
|
this.element = new PathItemElement();
|
|
18
14
|
this.specPath = always(['document', 'objects', 'PathItem']);
|
|
19
15
|
}
|
|
20
|
-
ObjectElement(
|
|
21
|
-
|
|
16
|
+
ObjectElement(path) {
|
|
17
|
+
BaseFixedFieldsVisitor.prototype.ObjectElement.call(this, path);
|
|
22
18
|
|
|
23
19
|
// decorate Operation elements with HTTP method
|
|
24
20
|
this.element.filter(isOperationElement)
|
|
@@ -26,14 +22,13 @@ class PathItemVisitor extends Mixin(FixedFieldsVisitor, FallbackVisitor) {
|
|
|
26
22
|
.forEach((operationElement, httpMethodElementCI) => {
|
|
27
23
|
const httpMethodElementCS = cloneDeep(httpMethodElementCI);
|
|
28
24
|
httpMethodElementCS.content = toValue(httpMethodElementCS).toUpperCase();
|
|
29
|
-
operationElement.
|
|
25
|
+
operationElement.meta.set('http-method', httpMethodElementCS);
|
|
30
26
|
});
|
|
31
27
|
|
|
32
28
|
// mark this PathItemElement with reference metadata
|
|
33
29
|
if (isStringElement(this.element.$ref)) {
|
|
34
30
|
this.element.classes.push('reference-element');
|
|
35
31
|
}
|
|
36
|
-
return result;
|
|
37
32
|
}
|
|
38
33
|
}
|
|
39
34
|
export default PathItemVisitor;
|
|
@@ -3,21 +3,15 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.default = void 0;
|
|
6
|
-
var _tsMixer = require("ts-mixer");
|
|
7
6
|
var _ramda = require("ramda");
|
|
8
|
-
var
|
|
7
|
+
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
9
8
|
var _Paths = _interopRequireDefault(require("../../../../elements/Paths.cjs"));
|
|
10
|
-
var _PatternedFieldsVisitor = _interopRequireDefault(require("../../generics/PatternedFieldsVisitor.cjs"));
|
|
11
|
-
var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
|
|
12
9
|
var _predicates = require("../../../../predicates.cjs");
|
|
10
|
+
var _bases = require("../bases.cjs");
|
|
13
11
|
/**
|
|
14
12
|
* @public
|
|
15
13
|
*/
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* @public
|
|
19
|
-
*/
|
|
20
|
-
class PathsVisitor extends (0, _tsMixer.Mixin)(_PatternedFieldsVisitor.default, _FallbackVisitor.default) {
|
|
14
|
+
class PathsVisitor extends _bases.BasePatternedFieldsVisitor {
|
|
21
15
|
element;
|
|
22
16
|
constructor(options) {
|
|
23
17
|
super(options);
|
|
@@ -26,8 +20,8 @@ class PathsVisitor extends (0, _tsMixer.Mixin)(_PatternedFieldsVisitor.default,
|
|
|
26
20
|
this.canSupportSpecificationExtensions = true;
|
|
27
21
|
this.fieldPatternPredicate = _ramda.T;
|
|
28
22
|
}
|
|
29
|
-
ObjectElement(
|
|
30
|
-
|
|
23
|
+
ObjectElement(path) {
|
|
24
|
+
_bases.BasePatternedFieldsVisitor.prototype.ObjectElement.call(this, path);
|
|
31
25
|
|
|
32
26
|
// decorate every PathItemElement with path metadata
|
|
33
27
|
this.element.filter(_predicates.isPathItemElement)
|
|
@@ -35,9 +29,8 @@ class PathsVisitor extends (0, _tsMixer.Mixin)(_PatternedFieldsVisitor.default,
|
|
|
35
29
|
.forEach((pathItemElement, key) => {
|
|
36
30
|
key.classes.push('openapi-path-template');
|
|
37
31
|
key.classes.push('path-template');
|
|
38
|
-
pathItemElement.
|
|
32
|
+
pathItemElement.meta.set('path', (0, _apidomDatamodel.cloneDeep)(key));
|
|
39
33
|
});
|
|
40
|
-
return result;
|
|
41
34
|
}
|
|
42
35
|
}
|
|
43
36
|
var _default = exports.default = PathsVisitor;
|
|
@@ -1,17 +1,12 @@
|
|
|
1
|
-
import { Mixin } from 'ts-mixer';
|
|
2
1
|
import { T as stubTrue, always } from 'ramda';
|
|
3
|
-
import { cloneDeep } from '@speclynx/apidom-
|
|
2
|
+
import { cloneDeep } from '@speclynx/apidom-datamodel';
|
|
4
3
|
import PathsElement from "../../../../elements/Paths.mjs";
|
|
5
|
-
import PatternedFieldsVisitor from "../../generics/PatternedFieldsVisitor.mjs";
|
|
6
|
-
import FallbackVisitor from "../../FallbackVisitor.mjs";
|
|
7
4
|
import { isPathItemElement } from "../../../../predicates.mjs";
|
|
5
|
+
import { BasePatternedFieldsVisitor } from "../bases.mjs";
|
|
8
6
|
/**
|
|
9
7
|
* @public
|
|
10
8
|
*/
|
|
11
|
-
|
|
12
|
-
* @public
|
|
13
|
-
*/
|
|
14
|
-
class PathsVisitor extends Mixin(PatternedFieldsVisitor, FallbackVisitor) {
|
|
9
|
+
class PathsVisitor extends BasePatternedFieldsVisitor {
|
|
15
10
|
element;
|
|
16
11
|
constructor(options) {
|
|
17
12
|
super(options);
|
|
@@ -20,8 +15,8 @@ class PathsVisitor extends Mixin(PatternedFieldsVisitor, FallbackVisitor) {
|
|
|
20
15
|
this.canSupportSpecificationExtensions = true;
|
|
21
16
|
this.fieldPatternPredicate = stubTrue;
|
|
22
17
|
}
|
|
23
|
-
ObjectElement(
|
|
24
|
-
|
|
18
|
+
ObjectElement(path) {
|
|
19
|
+
BasePatternedFieldsVisitor.prototype.ObjectElement.call(this, path);
|
|
25
20
|
|
|
26
21
|
// decorate every PathItemElement with path metadata
|
|
27
22
|
this.element.filter(isPathItemElement)
|
|
@@ -29,9 +24,8 @@ class PathsVisitor extends Mixin(PatternedFieldsVisitor, FallbackVisitor) {
|
|
|
29
24
|
.forEach((pathItemElement, key) => {
|
|
30
25
|
key.classes.push('openapi-path-template');
|
|
31
26
|
key.classes.push('path-template');
|
|
32
|
-
pathItemElement.
|
|
27
|
+
pathItemElement.meta.set('path', cloneDeep(key));
|
|
33
28
|
});
|
|
34
|
-
return result;
|
|
35
29
|
}
|
|
36
30
|
}
|
|
37
31
|
export default PathsVisitor;
|
|
@@ -8,10 +8,9 @@ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs
|
|
|
8
8
|
* @public
|
|
9
9
|
*/
|
|
10
10
|
class $RefVisitor extends _FallbackVisitor.default {
|
|
11
|
-
StringElement(
|
|
12
|
-
|
|
11
|
+
StringElement(path) {
|
|
12
|
+
super.enter(path);
|
|
13
13
|
this.element.classes.push('reference-value');
|
|
14
|
-
return result;
|
|
15
14
|
}
|
|
16
15
|
}
|
|
17
16
|
var _default = exports.default = $RefVisitor;
|
|
@@ -3,10 +3,9 @@ import FallbackVisitor from "../../FallbackVisitor.mjs";
|
|
|
3
3
|
* @public
|
|
4
4
|
*/
|
|
5
5
|
class $RefVisitor extends FallbackVisitor {
|
|
6
|
-
StringElement(
|
|
7
|
-
|
|
6
|
+
StringElement(path) {
|
|
7
|
+
super.enter(path);
|
|
8
8
|
this.element.classes.push('reference-value');
|
|
9
|
-
return result;
|
|
10
9
|
}
|
|
11
10
|
}
|
|
12
11
|
export default $RefVisitor;
|
|
@@ -3,34 +3,27 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.default = void 0;
|
|
6
|
-
var _tsMixer = require("ts-mixer");
|
|
7
6
|
var _ramda = require("ramda");
|
|
8
|
-
var
|
|
7
|
+
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
9
8
|
var _Reference = _interopRequireDefault(require("../../../../elements/Reference.cjs"));
|
|
10
|
-
var
|
|
11
|
-
var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
|
|
9
|
+
var _bases = require("../bases.cjs");
|
|
12
10
|
/**
|
|
13
11
|
* @public
|
|
14
12
|
*/
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* @public
|
|
18
|
-
*/
|
|
19
|
-
class ReferenceVisitor extends (0, _tsMixer.Mixin)(_FixedFieldsVisitor.default, _FallbackVisitor.default) {
|
|
13
|
+
class ReferenceVisitor extends _bases.BaseFixedFieldsVisitor {
|
|
20
14
|
constructor(options) {
|
|
21
15
|
super(options);
|
|
22
16
|
this.element = new _Reference.default();
|
|
23
17
|
this.specPath = (0, _ramda.always)(['document', 'objects', 'Reference']);
|
|
24
18
|
this.canSupportSpecificationExtensions = false;
|
|
25
19
|
}
|
|
26
|
-
ObjectElement(
|
|
27
|
-
|
|
20
|
+
ObjectElement(path) {
|
|
21
|
+
_bases.BaseFixedFieldsVisitor.prototype.ObjectElement.call(this, path);
|
|
28
22
|
|
|
29
23
|
// mark this ReferenceElement with reference metadata
|
|
30
|
-
if ((0,
|
|
24
|
+
if ((0, _apidomDatamodel.isStringElement)(this.element.$ref)) {
|
|
31
25
|
this.element.classes.push('reference-element');
|
|
32
26
|
}
|
|
33
|
-
return result;
|
|
34
27
|
}
|
|
35
28
|
}
|
|
36
29
|
var _default = exports.default = ReferenceVisitor;
|
|
@@ -1,30 +1,24 @@
|
|
|
1
|
-
import { Mixin } from 'ts-mixer';
|
|
2
1
|
import { always } from 'ramda';
|
|
3
|
-
import { isStringElement } from '@speclynx/apidom-
|
|
2
|
+
import { isStringElement } from '@speclynx/apidom-datamodel';
|
|
4
3
|
import ReferenceElement from "../../../../elements/Reference.mjs";
|
|
5
|
-
import
|
|
6
|
-
import FallbackVisitor from "../../FallbackVisitor.mjs";
|
|
4
|
+
import { BaseFixedFieldsVisitor } from "../bases.mjs";
|
|
7
5
|
/**
|
|
8
6
|
* @public
|
|
9
7
|
*/
|
|
10
|
-
|
|
11
|
-
* @public
|
|
12
|
-
*/
|
|
13
|
-
class ReferenceVisitor extends Mixin(FixedFieldsVisitor, FallbackVisitor) {
|
|
8
|
+
class ReferenceVisitor extends BaseFixedFieldsVisitor {
|
|
14
9
|
constructor(options) {
|
|
15
10
|
super(options);
|
|
16
11
|
this.element = new ReferenceElement();
|
|
17
12
|
this.specPath = always(['document', 'objects', 'Reference']);
|
|
18
13
|
this.canSupportSpecificationExtensions = false;
|
|
19
14
|
}
|
|
20
|
-
ObjectElement(
|
|
21
|
-
|
|
15
|
+
ObjectElement(path) {
|
|
16
|
+
BaseFixedFieldsVisitor.prototype.ObjectElement.call(this, path);
|
|
22
17
|
|
|
23
18
|
// mark this ReferenceElement with reference metadata
|
|
24
19
|
if (isStringElement(this.element.$ref)) {
|
|
25
20
|
this.element.classes.push('reference-element');
|
|
26
21
|
}
|
|
27
|
-
return result;
|
|
28
22
|
}
|
|
29
23
|
}
|
|
30
24
|
export default ReferenceVisitor;
|
|
@@ -3,19 +3,13 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.default = void 0;
|
|
6
|
-
var _tsMixer = require("ts-mixer");
|
|
7
6
|
var _ramda = require("ramda");
|
|
8
7
|
var _Response = _interopRequireDefault(require("../../../../elements/Response.cjs"));
|
|
9
|
-
var
|
|
10
|
-
var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
|
|
8
|
+
var _bases = require("../bases.cjs");
|
|
11
9
|
/**
|
|
12
10
|
* @public
|
|
13
11
|
*/
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* @public
|
|
17
|
-
*/
|
|
18
|
-
class ResponseVisitor extends (0, _tsMixer.Mixin)(_FixedFieldsVisitor.default, _FallbackVisitor.default) {
|
|
12
|
+
class ResponseVisitor extends _bases.BaseFixedFieldsVisitor {
|
|
19
13
|
constructor(options) {
|
|
20
14
|
super(options);
|
|
21
15
|
this.element = new _Response.default();
|
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
import { Mixin } from 'ts-mixer';
|
|
2
1
|
import { always } from 'ramda';
|
|
3
2
|
import ResponseElement from "../../../../elements/Response.mjs";
|
|
4
|
-
import
|
|
5
|
-
import FallbackVisitor from "../../FallbackVisitor.mjs";
|
|
3
|
+
import { BaseFixedFieldsVisitor } from "../bases.mjs";
|
|
6
4
|
/**
|
|
7
5
|
* @public
|
|
8
6
|
*/
|
|
9
|
-
|
|
10
|
-
* @public
|
|
11
|
-
*/
|
|
12
|
-
class ResponseVisitor extends Mixin(FixedFieldsVisitor, FallbackVisitor) {
|
|
7
|
+
class ResponseVisitor extends BaseFixedFieldsVisitor {
|
|
13
8
|
constructor(options) {
|
|
14
9
|
super(options);
|
|
15
10
|
this.element = new ResponseElement();
|
|
@@ -3,20 +3,15 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.default = void 0;
|
|
6
|
-
var _tsMixer = require("ts-mixer");
|
|
7
6
|
var _ramda = require("ramda");
|
|
8
7
|
var _predicates = require("../../../predicates.cjs");
|
|
9
8
|
var _predicates2 = require("../../../../predicates.cjs");
|
|
9
|
+
var _bases = require("../bases.cjs");
|
|
10
10
|
var _AlternatingVisitor = _interopRequireDefault(require("../../generics/AlternatingVisitor.cjs"));
|
|
11
|
-
var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
|
|
12
11
|
/**
|
|
13
12
|
* @public
|
|
14
13
|
*/
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* @public
|
|
18
|
-
*/
|
|
19
|
-
class DefaultVisitor extends (0, _tsMixer.Mixin)(_AlternatingVisitor.default, _FallbackVisitor.default) {
|
|
14
|
+
class DefaultVisitor extends _bases.BaseAlternatingVisitor {
|
|
20
15
|
constructor(options) {
|
|
21
16
|
super(options);
|
|
22
17
|
this.alternator = [{
|
|
@@ -27,16 +22,15 @@ class DefaultVisitor extends (0, _tsMixer.Mixin)(_AlternatingVisitor.default, _F
|
|
|
27
22
|
specPath: ['document', 'objects', 'Response']
|
|
28
23
|
}];
|
|
29
24
|
}
|
|
30
|
-
ObjectElement(
|
|
31
|
-
|
|
25
|
+
ObjectElement(path) {
|
|
26
|
+
_AlternatingVisitor.default.prototype.enter.call(this, path);
|
|
32
27
|
|
|
33
28
|
// decorate ReferenceElement with type of referencing element
|
|
34
29
|
if ((0, _predicates2.isReferenceElement)(this.element)) {
|
|
35
|
-
this.element.
|
|
30
|
+
this.element.meta.set('referenced-element', 'response');
|
|
36
31
|
} else if ((0, _predicates2.isResponseElement)(this.element)) {
|
|
37
|
-
this.element.
|
|
32
|
+
this.element.meta.set('http-status-code', 'default');
|
|
38
33
|
}
|
|
39
|
-
return result;
|
|
40
34
|
}
|
|
41
35
|
}
|
|
42
36
|
var _default = exports.default = DefaultVisitor;
|
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
import { Mixin } from 'ts-mixer';
|
|
2
1
|
import { T as stubTrue } from 'ramda';
|
|
3
2
|
import { isReferenceLikeElement } from "../../../predicates.mjs";
|
|
4
3
|
import { isReferenceElement, isResponseElement } from "../../../../predicates.mjs";
|
|
4
|
+
import { BaseAlternatingVisitor } from "../bases.mjs";
|
|
5
5
|
import AlternatingVisitor from "../../generics/AlternatingVisitor.mjs";
|
|
6
|
-
import FallbackVisitor from "../../FallbackVisitor.mjs";
|
|
7
6
|
/**
|
|
8
7
|
* @public
|
|
9
8
|
*/
|
|
10
|
-
|
|
11
|
-
* @public
|
|
12
|
-
*/
|
|
13
|
-
class DefaultVisitor extends Mixin(AlternatingVisitor, FallbackVisitor) {
|
|
9
|
+
class DefaultVisitor extends BaseAlternatingVisitor {
|
|
14
10
|
constructor(options) {
|
|
15
11
|
super(options);
|
|
16
12
|
this.alternator = [{
|
|
@@ -21,16 +17,15 @@ class DefaultVisitor extends Mixin(AlternatingVisitor, FallbackVisitor) {
|
|
|
21
17
|
specPath: ['document', 'objects', 'Response']
|
|
22
18
|
}];
|
|
23
19
|
}
|
|
24
|
-
ObjectElement(
|
|
25
|
-
|
|
20
|
+
ObjectElement(path) {
|
|
21
|
+
AlternatingVisitor.prototype.enter.call(this, path);
|
|
26
22
|
|
|
27
23
|
// decorate ReferenceElement with type of referencing element
|
|
28
24
|
if (isReferenceElement(this.element)) {
|
|
29
|
-
this.element.
|
|
25
|
+
this.element.meta.set('referenced-element', 'response');
|
|
30
26
|
} else if (isResponseElement(this.element)) {
|
|
31
|
-
this.element.
|
|
27
|
+
this.element.meta.set('http-status-code', 'default');
|
|
32
28
|
}
|
|
33
|
-
return result;
|
|
34
29
|
}
|
|
35
30
|
}
|
|
36
31
|
export default DefaultVisitor;
|
|
@@ -3,22 +3,17 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.default = void 0;
|
|
6
|
-
var _tsMixer = require("ts-mixer");
|
|
7
6
|
var _ramda = require("ramda");
|
|
7
|
+
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
8
8
|
var _apidomCore = require("@speclynx/apidom-core");
|
|
9
9
|
var _Responses = _interopRequireDefault(require("../../../../elements/Responses.cjs"));
|
|
10
|
-
var _MixedFieldsVisitor = _interopRequireDefault(require("../../generics/MixedFieldsVisitor.cjs"));
|
|
11
|
-
var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
|
|
12
10
|
var _predicates = require("../../../predicates.cjs");
|
|
13
11
|
var _predicates2 = require("../../../../predicates.cjs");
|
|
12
|
+
var _bases = require("../bases.cjs");
|
|
14
13
|
/**
|
|
15
14
|
* @public
|
|
16
15
|
*/
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* @public
|
|
20
|
-
*/
|
|
21
|
-
class ResponsesVisitor extends (0, _tsMixer.Mixin)(_MixedFieldsVisitor.default, _FallbackVisitor.default) {
|
|
16
|
+
class ResponsesVisitor extends _bases.BaseMixedFieldsVisitor {
|
|
22
17
|
constructor(options) {
|
|
23
18
|
super(options);
|
|
24
19
|
this.element = new _Responses.default();
|
|
@@ -30,23 +25,22 @@ class ResponsesVisitor extends (0, _tsMixer.Mixin)(_MixedFieldsVisitor.default,
|
|
|
30
25
|
// @ts-ignore
|
|
31
26
|
this.fieldPatternPredicate = (0, _ramda.test)(new RegExp(`^(1XX|2XX|3XX|4XX|5XX|${(0, _ramda.range)(100, 600).join('|')})$`));
|
|
32
27
|
}
|
|
33
|
-
ObjectElement(
|
|
34
|
-
|
|
28
|
+
ObjectElement(path) {
|
|
29
|
+
_bases.BaseMixedFieldsVisitor.prototype.ObjectElement.call(this, path);
|
|
35
30
|
|
|
36
31
|
// decorate every ReferenceElement with metadata about their referencing type
|
|
37
32
|
// @ts-ignore
|
|
38
33
|
this.element.filter(_predicates2.isReferenceElement).forEach(referenceElement => {
|
|
39
|
-
referenceElement.
|
|
34
|
+
referenceElement.meta.set('referenced-element', 'response');
|
|
40
35
|
});
|
|
41
36
|
|
|
42
37
|
// decorate every ResponseElement with metadata about their status code
|
|
43
38
|
// @ts-ignore
|
|
44
39
|
this.element.filter(_predicates2.isResponseElement).forEach((value, key) => {
|
|
45
|
-
const httpStatusCode = (0,
|
|
40
|
+
const httpStatusCode = (0, _apidomDatamodel.cloneDeep)(key);
|
|
46
41
|
if (!this.fieldPatternPredicate((0, _apidomCore.toValue)(httpStatusCode))) return;
|
|
47
|
-
value.
|
|
42
|
+
value.meta.set('http-status-code', httpStatusCode);
|
|
48
43
|
});
|
|
49
|
-
return result;
|
|
50
44
|
}
|
|
51
45
|
}
|
|
52
46
|
var _default = exports.default = ResponsesVisitor;
|
|
@@ -1,18 +1,14 @@
|
|
|
1
|
-
import { Mixin } from 'ts-mixer';
|
|
2
1
|
import { test, always, range } from 'ramda';
|
|
3
|
-
import { cloneDeep
|
|
2
|
+
import { cloneDeep } from '@speclynx/apidom-datamodel';
|
|
3
|
+
import { toValue } from '@speclynx/apidom-core';
|
|
4
4
|
import ResponsesElement from "../../../../elements/Responses.mjs";
|
|
5
|
-
import MixedFieldsVisitor from "../../generics/MixedFieldsVisitor.mjs";
|
|
6
|
-
import FallbackVisitor from "../../FallbackVisitor.mjs";
|
|
7
5
|
import { isReferenceLikeElement } from "../../../predicates.mjs";
|
|
8
6
|
import { isReferenceElement, isResponseElement } from "../../../../predicates.mjs";
|
|
7
|
+
import { BaseMixedFieldsVisitor } from "../bases.mjs";
|
|
9
8
|
/**
|
|
10
9
|
* @public
|
|
11
10
|
*/
|
|
12
|
-
|
|
13
|
-
* @public
|
|
14
|
-
*/
|
|
15
|
-
class ResponsesVisitor extends Mixin(MixedFieldsVisitor, FallbackVisitor) {
|
|
11
|
+
class ResponsesVisitor extends BaseMixedFieldsVisitor {
|
|
16
12
|
constructor(options) {
|
|
17
13
|
super(options);
|
|
18
14
|
this.element = new ResponsesElement();
|
|
@@ -24,13 +20,13 @@ class ResponsesVisitor extends Mixin(MixedFieldsVisitor, FallbackVisitor) {
|
|
|
24
20
|
// @ts-ignore
|
|
25
21
|
this.fieldPatternPredicate = test(new RegExp(`^(1XX|2XX|3XX|4XX|5XX|${range(100, 600).join('|')})$`));
|
|
26
22
|
}
|
|
27
|
-
ObjectElement(
|
|
28
|
-
|
|
23
|
+
ObjectElement(path) {
|
|
24
|
+
BaseMixedFieldsVisitor.prototype.ObjectElement.call(this, path);
|
|
29
25
|
|
|
30
26
|
// decorate every ReferenceElement with metadata about their referencing type
|
|
31
27
|
// @ts-ignore
|
|
32
28
|
this.element.filter(isReferenceElement).forEach(referenceElement => {
|
|
33
|
-
referenceElement.
|
|
29
|
+
referenceElement.meta.set('referenced-element', 'response');
|
|
34
30
|
});
|
|
35
31
|
|
|
36
32
|
// decorate every ResponseElement with metadata about their status code
|
|
@@ -38,9 +34,8 @@ class ResponsesVisitor extends Mixin(MixedFieldsVisitor, FallbackVisitor) {
|
|
|
38
34
|
this.element.filter(isResponseElement).forEach((value, key) => {
|
|
39
35
|
const httpStatusCode = cloneDeep(key);
|
|
40
36
|
if (!this.fieldPatternPredicate(toValue(httpStatusCode))) return;
|
|
41
|
-
value.
|
|
37
|
+
value.meta.set('http-status-code', httpStatusCode);
|
|
42
38
|
});
|
|
43
|
-
return result;
|
|
44
39
|
}
|
|
45
40
|
}
|
|
46
41
|
export default ResponsesVisitor;
|
|
@@ -3,19 +3,13 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.default = void 0;
|
|
6
|
-
var _tsMixer = require("ts-mixer");
|
|
7
6
|
var _ramda = require("ramda");
|
|
8
7
|
var _ResponsesDefinitions = _interopRequireDefault(require("../../../../elements/ResponsesDefinitions.cjs"));
|
|
9
|
-
var
|
|
10
|
-
var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
|
|
8
|
+
var _bases = require("../bases.cjs");
|
|
11
9
|
/**
|
|
12
10
|
* @public
|
|
13
11
|
*/
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* @public
|
|
17
|
-
*/
|
|
18
|
-
class ResponsesDefinitionsVisitor extends (0, _tsMixer.Mixin)(_MapVisitor.default, _FallbackVisitor.default) {
|
|
12
|
+
class ResponsesDefinitionsVisitor extends _bases.BaseMapVisitor {
|
|
19
13
|
constructor(options) {
|
|
20
14
|
super(options);
|
|
21
15
|
this.element = new _ResponsesDefinitions.default();
|
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
import { Mixin } from 'ts-mixer';
|
|
2
1
|
import { always } from 'ramda';
|
|
3
2
|
import ResponsesDefinitionsElement from "../../../../elements/ResponsesDefinitions.mjs";
|
|
4
|
-
import
|
|
5
|
-
import FallbackVisitor from "../../FallbackVisitor.mjs";
|
|
3
|
+
import { BaseMapVisitor } from "../bases.mjs";
|
|
6
4
|
/**
|
|
7
5
|
* @public
|
|
8
6
|
*/
|
|
9
|
-
|
|
10
|
-
* @public
|
|
11
|
-
*/
|
|
12
|
-
class ResponsesDefinitionsVisitor extends Mixin(MapVisitor, FallbackVisitor) {
|
|
7
|
+
class ResponsesDefinitionsVisitor extends BaseMapVisitor {
|
|
13
8
|
constructor(options) {
|
|
14
9
|
super(options);
|
|
15
10
|
this.element = new ResponsesDefinitionsElement();
|