@speclynx/apidom-ns-openapi-3-1 1.12.2 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/NOTICE +16 -7
- package/README.md +16 -29
- package/dist/apidom-ns-openapi-3-1.browser.js +11148 -16196
- package/dist/apidom-ns-openapi-3-1.browser.min.js +1 -1
- package/package.json +11 -11
- package/src/elements/JsonSchemaDialect.cjs +2 -2
- package/src/elements/JsonSchemaDialect.mjs +1 -1
- package/src/elements/OpenApi3-1.cjs +2 -2
- package/src/elements/OpenApi3-1.mjs +1 -1
- package/src/elements/PathItem.cjs +24 -24
- package/src/elements/PathItem.mjs +24 -24
- package/src/elements/nces/ComponentsPathItems.cjs +2 -2
- package/src/elements/nces/ComponentsPathItems.mjs +1 -1
- package/src/elements/nces/Webhooks.cjs +2 -2
- package/src/elements/nces/Webhooks.mjs +1 -1
- package/src/index.cjs +73 -49
- package/src/index.mjs +6 -3
- package/src/namespace.cjs +0 -1
- package/src/predicates.cjs +56 -187
- package/src/predicates.mjs +29 -186
- package/src/refractor/index.cjs +338 -17
- package/src/refractor/index.mjs +305 -16
- package/src/refractor/inspect.cjs +207 -0
- package/src/refractor/inspect.mjs +171 -0
- package/src/refractor/plugins/normalize-header-examples/NormalizeStorage.cjs +5 -5
- package/src/refractor/plugins/normalize-header-examples/NormalizeStorage.mjs +1 -1
- package/src/refractor/plugins/normalize-header-examples/index.cjs +11 -7
- package/src/refractor/plugins/normalize-header-examples/index.mjs +8 -4
- package/src/refractor/plugins/normalize-operation-ids.cjs +13 -6
- package/src/refractor/plugins/normalize-operation-ids.mjs +13 -6
- package/src/refractor/plugins/normalize-parameter-examples.cjs +11 -7
- package/src/refractor/plugins/normalize-parameter-examples.mjs +8 -4
- package/src/refractor/plugins/normalize-parameters.cjs +11 -5
- package/src/refractor/plugins/normalize-parameters.mjs +11 -5
- package/src/refractor/plugins/normalize-security-requirements.cjs +8 -4
- package/src/refractor/plugins/normalize-security-requirements.mjs +8 -4
- package/src/refractor/plugins/normalize-servers.cjs +15 -9
- package/src/refractor/plugins/normalize-servers.mjs +15 -9
- package/src/refractor/plugins/replace-empty-element.cjs +32 -30
- package/src/refractor/plugins/replace-empty-element.mjs +16 -15
- package/src/refractor/predicates.cjs +36 -0
- package/src/refractor/predicates.mjs +31 -0
- package/src/refractor/specification.cjs +43 -4
- package/src/refractor/specification.mjs +43 -4
- package/src/refractor/toolbox.cjs +12 -21
- package/src/refractor/toolbox.mjs +9 -16
- package/src/refractor/visitors/open-api-3-1/JsonSchemaDialectVisitor.cjs +5 -5
- package/src/refractor/visitors/open-api-3-1/JsonSchemaDialectVisitor.mjs +6 -6
- package/src/refractor/visitors/open-api-3-1/OpenapiVisitor.cjs +25 -0
- package/src/refractor/visitors/open-api-3-1/OpenapiVisitor.mjs +19 -0
- package/src/refractor/visitors/open-api-3-1/WebhooksVisitor.cjs +4 -5
- package/src/refractor/visitors/open-api-3-1/WebhooksVisitor.mjs +5 -6
- package/src/refractor/visitors/open-api-3-1/bases.cjs +46 -0
- package/src/refractor/visitors/open-api-3-1/bases.mjs +43 -0
- package/src/refractor/visitors/open-api-3-1/callback/index.cjs +2 -3
- package/src/refractor/visitors/open-api-3-1/callback/index.mjs +2 -3
- package/src/refractor/visitors/open-api-3-1/components/PathItemsVisitor.cjs +4 -5
- package/src/refractor/visitors/open-api-3-1/components/PathItemsVisitor.mjs +5 -6
- package/src/refractor/visitors/open-api-3-1/components/SchemasVisitor.cjs +2 -2
- package/src/refractor/visitors/open-api-3-1/components/SchemasVisitor.mjs +3 -5
- package/src/refractor/visitors/open-api-3-1/index.cjs +5 -4
- package/src/refractor/visitors/open-api-3-1/index.mjs +6 -5
- package/src/refractor/visitors/open-api-3-1/schema/index.cjs +11 -10
- package/src/refractor/visitors/open-api-3-1/schema/index.mjs +12 -11
- package/types/apidom-ns-openapi-3-1.d.ts +435 -274
- package/src/refractor/registration.cjs +0 -102
- package/src/refractor/registration.mjs +0 -66
- package/src/traversal/visitor.cjs +0 -57
- package/src/traversal/visitor.mjs +0 -54
|
@@ -0,0 +1,207 @@
|
|
|
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 _Callback = _interopRequireDefault(require("../elements/Callback.cjs"));
|
|
8
|
+
exports.CallbackElement = _Callback.default;
|
|
9
|
+
var _Components = _interopRequireDefault(require("../elements/Components.cjs"));
|
|
10
|
+
exports.ComponentsElement = _Components.default;
|
|
11
|
+
var _Contact = _interopRequireDefault(require("../elements/Contact.cjs"));
|
|
12
|
+
exports.ContactElement = _Contact.default;
|
|
13
|
+
var _Discriminator = _interopRequireDefault(require("../elements/Discriminator.cjs"));
|
|
14
|
+
exports.DiscriminatorElement = _Discriminator.default;
|
|
15
|
+
var _Encoding = _interopRequireDefault(require("../elements/Encoding.cjs"));
|
|
16
|
+
exports.EncodingElement = _Encoding.default;
|
|
17
|
+
var _Example = _interopRequireDefault(require("../elements/Example.cjs"));
|
|
18
|
+
exports.ExampleElement = _Example.default;
|
|
19
|
+
var _ExternalDocumentation = _interopRequireDefault(require("../elements/ExternalDocumentation.cjs"));
|
|
20
|
+
exports.ExternalDocumentationElement = _ExternalDocumentation.default;
|
|
21
|
+
var _Header = _interopRequireDefault(require("../elements/Header.cjs"));
|
|
22
|
+
exports.HeaderElement = _Header.default;
|
|
23
|
+
var _Info = _interopRequireDefault(require("../elements/Info.cjs"));
|
|
24
|
+
exports.InfoElement = _Info.default;
|
|
25
|
+
var _JsonSchemaDialect = _interopRequireDefault(require("../elements/JsonSchemaDialect.cjs"));
|
|
26
|
+
exports.JsonSchemaDialectElement = _JsonSchemaDialect.default;
|
|
27
|
+
var _License = _interopRequireDefault(require("../elements/License.cjs"));
|
|
28
|
+
exports.LicenseElement = _License.default;
|
|
29
|
+
var _Link = _interopRequireDefault(require("../elements/Link.cjs"));
|
|
30
|
+
exports.LinkElement = _Link.default;
|
|
31
|
+
var _MediaType = _interopRequireDefault(require("../elements/MediaType.cjs"));
|
|
32
|
+
exports.MediaTypeElement = _MediaType.default;
|
|
33
|
+
var _OAuthFlow = _interopRequireDefault(require("../elements/OAuthFlow.cjs"));
|
|
34
|
+
exports.OAuthFlowElement = _OAuthFlow.default;
|
|
35
|
+
var _OAuthFlows = _interopRequireDefault(require("../elements/OAuthFlows.cjs"));
|
|
36
|
+
exports.OAuthFlowsElement = _OAuthFlows.default;
|
|
37
|
+
var _Openapi = _interopRequireDefault(require("../elements/Openapi.cjs"));
|
|
38
|
+
exports.OpenapiElement = _Openapi.default;
|
|
39
|
+
var _OpenApi = _interopRequireDefault(require("../elements/OpenApi3-1.cjs"));
|
|
40
|
+
exports.OpenApi3_1Element = _OpenApi.default;
|
|
41
|
+
var _Operation = _interopRequireDefault(require("../elements/Operation.cjs"));
|
|
42
|
+
exports.OperationElement = _Operation.default;
|
|
43
|
+
var _Parameter = _interopRequireDefault(require("../elements/Parameter.cjs"));
|
|
44
|
+
exports.ParameterElement = _Parameter.default;
|
|
45
|
+
var _PathItem = _interopRequireDefault(require("../elements/PathItem.cjs"));
|
|
46
|
+
exports.PathItemElement = _PathItem.default;
|
|
47
|
+
var _Paths = _interopRequireDefault(require("../elements/Paths.cjs"));
|
|
48
|
+
exports.PathsElement = _Paths.default;
|
|
49
|
+
var _Reference = _interopRequireDefault(require("../elements/Reference.cjs"));
|
|
50
|
+
exports.ReferenceElement = _Reference.default;
|
|
51
|
+
var _RequestBody = _interopRequireDefault(require("../elements/RequestBody.cjs"));
|
|
52
|
+
exports.RequestBodyElement = _RequestBody.default;
|
|
53
|
+
var _Response = _interopRequireDefault(require("../elements/Response.cjs"));
|
|
54
|
+
exports.ResponseElement = _Response.default;
|
|
55
|
+
var _Responses = _interopRequireDefault(require("../elements/Responses.cjs"));
|
|
56
|
+
exports.ResponsesElement = _Responses.default;
|
|
57
|
+
var _Schema = _interopRequireDefault(require("../elements/Schema.cjs"));
|
|
58
|
+
exports.SchemaElement = _Schema.default;
|
|
59
|
+
var _SecurityRequirement = _interopRequireDefault(require("../elements/SecurityRequirement.cjs"));
|
|
60
|
+
exports.SecurityRequirementElement = _SecurityRequirement.default;
|
|
61
|
+
var _SecurityScheme = _interopRequireDefault(require("../elements/SecurityScheme.cjs"));
|
|
62
|
+
exports.SecuritySchemeElement = _SecurityScheme.default;
|
|
63
|
+
var _Server = _interopRequireDefault(require("../elements/Server.cjs"));
|
|
64
|
+
exports.ServerElement = _Server.default;
|
|
65
|
+
var _ServerVariable = _interopRequireDefault(require("../elements/ServerVariable.cjs"));
|
|
66
|
+
exports.ServerVariableElement = _ServerVariable.default;
|
|
67
|
+
var _Tag = _interopRequireDefault(require("../elements/Tag.cjs"));
|
|
68
|
+
exports.TagElement = _Tag.default;
|
|
69
|
+
var _Xml = _interopRequireDefault(require("../elements/Xml.cjs"));
|
|
70
|
+
exports.XmlElement = _Xml.default;
|
|
71
|
+
var _specification = _interopRequireDefault(require("./specification.cjs"));
|
|
72
|
+
/**
|
|
73
|
+
* OpenAPI 3.1 specification elements.
|
|
74
|
+
*/
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* @public
|
|
78
|
+
*/
|
|
79
|
+
|
|
80
|
+
// Resolve specification to dereference $ref pointers
|
|
81
|
+
const resolvedSpec = (0, _apidomCore.resolveSpecification)(_specification.default);
|
|
82
|
+
|
|
83
|
+
// Extract fixed fields as list of { name, alias?, $visitor }
|
|
84
|
+
const getFixedFields = fixedFieldsSpec => {
|
|
85
|
+
return Object.entries(fixedFieldsSpec).map(([name, fieldSpec]) => {
|
|
86
|
+
if ((0, _ramdaAdjunct.isPlainObject)(fieldSpec)) {
|
|
87
|
+
return {
|
|
88
|
+
name,
|
|
89
|
+
...fieldSpec
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
return {
|
|
93
|
+
name,
|
|
94
|
+
$visitor: fieldSpec
|
|
95
|
+
};
|
|
96
|
+
});
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
// OpenAPI 3.1 specification elements
|
|
100
|
+
Object.defineProperty(_OpenApi.default, 'fixedFields', {
|
|
101
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.OpenApi.fixedFields),
|
|
102
|
+
enumerable: true
|
|
103
|
+
});
|
|
104
|
+
Object.defineProperty(_Info.default, 'fixedFields', {
|
|
105
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Info.fixedFields),
|
|
106
|
+
enumerable: true
|
|
107
|
+
});
|
|
108
|
+
Object.defineProperty(_Contact.default, 'fixedFields', {
|
|
109
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Contact.fixedFields),
|
|
110
|
+
enumerable: true
|
|
111
|
+
});
|
|
112
|
+
Object.defineProperty(_License.default, 'fixedFields', {
|
|
113
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.License.fixedFields),
|
|
114
|
+
enumerable: true
|
|
115
|
+
});
|
|
116
|
+
Object.defineProperty(_Server.default, 'fixedFields', {
|
|
117
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Server.fixedFields),
|
|
118
|
+
enumerable: true
|
|
119
|
+
});
|
|
120
|
+
Object.defineProperty(_ServerVariable.default, 'fixedFields', {
|
|
121
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.ServerVariable.fixedFields),
|
|
122
|
+
enumerable: true
|
|
123
|
+
});
|
|
124
|
+
Object.defineProperty(_Components.default, 'fixedFields', {
|
|
125
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Components.fixedFields),
|
|
126
|
+
enumerable: true
|
|
127
|
+
});
|
|
128
|
+
Object.defineProperty(_PathItem.default, 'fixedFields', {
|
|
129
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.PathItem.fixedFields),
|
|
130
|
+
enumerable: true
|
|
131
|
+
});
|
|
132
|
+
Object.defineProperty(_Operation.default, 'fixedFields', {
|
|
133
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Operation.fixedFields),
|
|
134
|
+
enumerable: true
|
|
135
|
+
});
|
|
136
|
+
Object.defineProperty(_ExternalDocumentation.default, 'fixedFields', {
|
|
137
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.ExternalDocumentation.fixedFields),
|
|
138
|
+
enumerable: true
|
|
139
|
+
});
|
|
140
|
+
Object.defineProperty(_Parameter.default, 'fixedFields', {
|
|
141
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Parameter.fixedFields),
|
|
142
|
+
enumerable: true
|
|
143
|
+
});
|
|
144
|
+
Object.defineProperty(_RequestBody.default, 'fixedFields', {
|
|
145
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.RequestBody.fixedFields),
|
|
146
|
+
enumerable: true
|
|
147
|
+
});
|
|
148
|
+
Object.defineProperty(_MediaType.default, 'fixedFields', {
|
|
149
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.MediaType.fixedFields),
|
|
150
|
+
enumerable: true
|
|
151
|
+
});
|
|
152
|
+
Object.defineProperty(_Encoding.default, 'fixedFields', {
|
|
153
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Encoding.fixedFields),
|
|
154
|
+
enumerable: true
|
|
155
|
+
});
|
|
156
|
+
Object.defineProperty(_Responses.default, 'fixedFields', {
|
|
157
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Responses.fixedFields),
|
|
158
|
+
enumerable: true
|
|
159
|
+
});
|
|
160
|
+
Object.defineProperty(_Response.default, 'fixedFields', {
|
|
161
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Response.fixedFields),
|
|
162
|
+
enumerable: true
|
|
163
|
+
});
|
|
164
|
+
Object.defineProperty(_Example.default, 'fixedFields', {
|
|
165
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Example.fixedFields),
|
|
166
|
+
enumerable: true
|
|
167
|
+
});
|
|
168
|
+
Object.defineProperty(_Link.default, 'fixedFields', {
|
|
169
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Link.fixedFields),
|
|
170
|
+
enumerable: true
|
|
171
|
+
});
|
|
172
|
+
Object.defineProperty(_Header.default, 'fixedFields', {
|
|
173
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Header.fixedFields),
|
|
174
|
+
enumerable: true
|
|
175
|
+
});
|
|
176
|
+
Object.defineProperty(_Tag.default, 'fixedFields', {
|
|
177
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Tag.fixedFields),
|
|
178
|
+
enumerable: true
|
|
179
|
+
});
|
|
180
|
+
Object.defineProperty(_Reference.default, 'fixedFields', {
|
|
181
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Reference.fixedFields),
|
|
182
|
+
enumerable: true
|
|
183
|
+
});
|
|
184
|
+
Object.defineProperty(_Schema.default, 'fixedFields', {
|
|
185
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Schema.fixedFields),
|
|
186
|
+
enumerable: true
|
|
187
|
+
});
|
|
188
|
+
Object.defineProperty(_Discriminator.default, 'fixedFields', {
|
|
189
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Discriminator.fixedFields),
|
|
190
|
+
enumerable: true
|
|
191
|
+
});
|
|
192
|
+
Object.defineProperty(_Xml.default, 'fixedFields', {
|
|
193
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.XML.fixedFields),
|
|
194
|
+
enumerable: true
|
|
195
|
+
});
|
|
196
|
+
Object.defineProperty(_SecurityScheme.default, 'fixedFields', {
|
|
197
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.SecurityScheme.fixedFields),
|
|
198
|
+
enumerable: true
|
|
199
|
+
});
|
|
200
|
+
Object.defineProperty(_OAuthFlows.default, 'fixedFields', {
|
|
201
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.OAuthFlows.fixedFields),
|
|
202
|
+
enumerable: true
|
|
203
|
+
});
|
|
204
|
+
Object.defineProperty(_OAuthFlow.default, 'fixedFields', {
|
|
205
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.OAuthFlow.fixedFields),
|
|
206
|
+
enumerable: true
|
|
207
|
+
});
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import { resolveSpecification } from '@speclynx/apidom-core';
|
|
2
|
+
import { isPlainObject } from 'ramda-adjunct';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* OpenAPI 3.1 specification elements.
|
|
6
|
+
*/
|
|
7
|
+
import CallbackElement from "../elements/Callback.mjs";
|
|
8
|
+
import ComponentsElement from "../elements/Components.mjs";
|
|
9
|
+
import ContactElement from "../elements/Contact.mjs";
|
|
10
|
+
import DiscriminatorElement from "../elements/Discriminator.mjs";
|
|
11
|
+
import EncodingElement from "../elements/Encoding.mjs";
|
|
12
|
+
import ExampleElement from "../elements/Example.mjs";
|
|
13
|
+
import ExternalDocumentationElement from "../elements/ExternalDocumentation.mjs";
|
|
14
|
+
import HeaderElement from "../elements/Header.mjs";
|
|
15
|
+
import InfoElement from "../elements/Info.mjs";
|
|
16
|
+
import JsonSchemaDialectElement from "../elements/JsonSchemaDialect.mjs";
|
|
17
|
+
import LicenseElement from "../elements/License.mjs";
|
|
18
|
+
import LinkElement from "../elements/Link.mjs";
|
|
19
|
+
import MediaTypeElement from "../elements/MediaType.mjs";
|
|
20
|
+
import OAuthFlowElement from "../elements/OAuthFlow.mjs";
|
|
21
|
+
import OAuthFlowsElement from "../elements/OAuthFlows.mjs";
|
|
22
|
+
import OpenapiElement from "../elements/Openapi.mjs";
|
|
23
|
+
import OpenApi3_1Element from "../elements/OpenApi3-1.mjs";
|
|
24
|
+
import OperationElement from "../elements/Operation.mjs";
|
|
25
|
+
import ParameterElement from "../elements/Parameter.mjs";
|
|
26
|
+
import PathItemElement from "../elements/PathItem.mjs";
|
|
27
|
+
import PathsElement from "../elements/Paths.mjs";
|
|
28
|
+
import ReferenceElement from "../elements/Reference.mjs";
|
|
29
|
+
import RequestBodyElement from "../elements/RequestBody.mjs";
|
|
30
|
+
import ResponseElement from "../elements/Response.mjs";
|
|
31
|
+
import ResponsesElement from "../elements/Responses.mjs";
|
|
32
|
+
import SchemaElement from "../elements/Schema.mjs";
|
|
33
|
+
import SecurityRequirementElement from "../elements/SecurityRequirement.mjs";
|
|
34
|
+
import SecuritySchemeElement from "../elements/SecurityScheme.mjs";
|
|
35
|
+
import ServerElement from "../elements/Server.mjs";
|
|
36
|
+
import ServerVariableElement from "../elements/ServerVariable.mjs";
|
|
37
|
+
import TagElement from "../elements/Tag.mjs";
|
|
38
|
+
import XmlElement from "../elements/Xml.mjs";
|
|
39
|
+
import specification from "./specification.mjs";
|
|
40
|
+
/**
|
|
41
|
+
* @public
|
|
42
|
+
*/
|
|
43
|
+
// Resolve specification to dereference $ref pointers
|
|
44
|
+
const resolvedSpec = resolveSpecification(specification);
|
|
45
|
+
|
|
46
|
+
// Extract fixed fields as list of { name, alias?, $visitor }
|
|
47
|
+
const getFixedFields = fixedFieldsSpec => {
|
|
48
|
+
return Object.entries(fixedFieldsSpec).map(([name, fieldSpec]) => {
|
|
49
|
+
if (isPlainObject(fieldSpec)) {
|
|
50
|
+
return {
|
|
51
|
+
name,
|
|
52
|
+
...fieldSpec
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
return {
|
|
56
|
+
name,
|
|
57
|
+
$visitor: fieldSpec
|
|
58
|
+
};
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
// OpenAPI 3.1 specification elements
|
|
63
|
+
Object.defineProperty(OpenApi3_1Element, 'fixedFields', {
|
|
64
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.OpenApi.fixedFields),
|
|
65
|
+
enumerable: true
|
|
66
|
+
});
|
|
67
|
+
Object.defineProperty(InfoElement, 'fixedFields', {
|
|
68
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Info.fixedFields),
|
|
69
|
+
enumerable: true
|
|
70
|
+
});
|
|
71
|
+
Object.defineProperty(ContactElement, 'fixedFields', {
|
|
72
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Contact.fixedFields),
|
|
73
|
+
enumerable: true
|
|
74
|
+
});
|
|
75
|
+
Object.defineProperty(LicenseElement, 'fixedFields', {
|
|
76
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.License.fixedFields),
|
|
77
|
+
enumerable: true
|
|
78
|
+
});
|
|
79
|
+
Object.defineProperty(ServerElement, 'fixedFields', {
|
|
80
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Server.fixedFields),
|
|
81
|
+
enumerable: true
|
|
82
|
+
});
|
|
83
|
+
Object.defineProperty(ServerVariableElement, 'fixedFields', {
|
|
84
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.ServerVariable.fixedFields),
|
|
85
|
+
enumerable: true
|
|
86
|
+
});
|
|
87
|
+
Object.defineProperty(ComponentsElement, 'fixedFields', {
|
|
88
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Components.fixedFields),
|
|
89
|
+
enumerable: true
|
|
90
|
+
});
|
|
91
|
+
Object.defineProperty(PathItemElement, 'fixedFields', {
|
|
92
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.PathItem.fixedFields),
|
|
93
|
+
enumerable: true
|
|
94
|
+
});
|
|
95
|
+
Object.defineProperty(OperationElement, 'fixedFields', {
|
|
96
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Operation.fixedFields),
|
|
97
|
+
enumerable: true
|
|
98
|
+
});
|
|
99
|
+
Object.defineProperty(ExternalDocumentationElement, 'fixedFields', {
|
|
100
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.ExternalDocumentation.fixedFields),
|
|
101
|
+
enumerable: true
|
|
102
|
+
});
|
|
103
|
+
Object.defineProperty(ParameterElement, 'fixedFields', {
|
|
104
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Parameter.fixedFields),
|
|
105
|
+
enumerable: true
|
|
106
|
+
});
|
|
107
|
+
Object.defineProperty(RequestBodyElement, 'fixedFields', {
|
|
108
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.RequestBody.fixedFields),
|
|
109
|
+
enumerable: true
|
|
110
|
+
});
|
|
111
|
+
Object.defineProperty(MediaTypeElement, 'fixedFields', {
|
|
112
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.MediaType.fixedFields),
|
|
113
|
+
enumerable: true
|
|
114
|
+
});
|
|
115
|
+
Object.defineProperty(EncodingElement, 'fixedFields', {
|
|
116
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Encoding.fixedFields),
|
|
117
|
+
enumerable: true
|
|
118
|
+
});
|
|
119
|
+
Object.defineProperty(ResponsesElement, 'fixedFields', {
|
|
120
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Responses.fixedFields),
|
|
121
|
+
enumerable: true
|
|
122
|
+
});
|
|
123
|
+
Object.defineProperty(ResponseElement, 'fixedFields', {
|
|
124
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Response.fixedFields),
|
|
125
|
+
enumerable: true
|
|
126
|
+
});
|
|
127
|
+
Object.defineProperty(ExampleElement, 'fixedFields', {
|
|
128
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Example.fixedFields),
|
|
129
|
+
enumerable: true
|
|
130
|
+
});
|
|
131
|
+
Object.defineProperty(LinkElement, 'fixedFields', {
|
|
132
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Link.fixedFields),
|
|
133
|
+
enumerable: true
|
|
134
|
+
});
|
|
135
|
+
Object.defineProperty(HeaderElement, 'fixedFields', {
|
|
136
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Header.fixedFields),
|
|
137
|
+
enumerable: true
|
|
138
|
+
});
|
|
139
|
+
Object.defineProperty(TagElement, 'fixedFields', {
|
|
140
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Tag.fixedFields),
|
|
141
|
+
enumerable: true
|
|
142
|
+
});
|
|
143
|
+
Object.defineProperty(ReferenceElement, 'fixedFields', {
|
|
144
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Reference.fixedFields),
|
|
145
|
+
enumerable: true
|
|
146
|
+
});
|
|
147
|
+
Object.defineProperty(SchemaElement, 'fixedFields', {
|
|
148
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Schema.fixedFields),
|
|
149
|
+
enumerable: true
|
|
150
|
+
});
|
|
151
|
+
Object.defineProperty(DiscriminatorElement, 'fixedFields', {
|
|
152
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.Discriminator.fixedFields),
|
|
153
|
+
enumerable: true
|
|
154
|
+
});
|
|
155
|
+
Object.defineProperty(XmlElement, 'fixedFields', {
|
|
156
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.XML.fixedFields),
|
|
157
|
+
enumerable: true
|
|
158
|
+
});
|
|
159
|
+
Object.defineProperty(SecuritySchemeElement, 'fixedFields', {
|
|
160
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.SecurityScheme.fixedFields),
|
|
161
|
+
enumerable: true
|
|
162
|
+
});
|
|
163
|
+
Object.defineProperty(OAuthFlowsElement, 'fixedFields', {
|
|
164
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.OAuthFlows.fixedFields),
|
|
165
|
+
enumerable: true
|
|
166
|
+
});
|
|
167
|
+
Object.defineProperty(OAuthFlowElement, 'fixedFields', {
|
|
168
|
+
get: () => getFixedFields(resolvedSpec.visitors.document.objects.OAuthFlow.fixedFields),
|
|
169
|
+
enumerable: true
|
|
170
|
+
});
|
|
171
|
+
export { CallbackElement, ComponentsElement, ContactElement, DiscriminatorElement, EncodingElement, ExampleElement, ExternalDocumentationElement, HeaderElement, InfoElement, JsonSchemaDialectElement, LicenseElement, LinkElement, MediaTypeElement, OAuthFlowElement, OAuthFlowsElement, OpenapiElement, OpenApi3_1Element, OperationElement, ParameterElement, PathItemElement, PathsElement, ReferenceElement, RequestBodyElement, ResponseElement, ResponsesElement, SchemaElement, SecurityRequirementElement, SecuritySchemeElement, ServerElement, ServerVariableElement, TagElement, XmlElement };
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.default = void 0;
|
|
5
|
-
var
|
|
5
|
+
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
6
6
|
class NormalizeStorage {
|
|
7
7
|
internalStore;
|
|
8
8
|
constructor(storageElement, storageField, storageSubField) {
|
|
@@ -13,13 +13,13 @@ class NormalizeStorage {
|
|
|
13
13
|
get store() {
|
|
14
14
|
if (!this.internalStore) {
|
|
15
15
|
let rootStore = this.storageElement.get(this.storageField);
|
|
16
|
-
if (!(0,
|
|
17
|
-
rootStore = new
|
|
16
|
+
if (!(0, _apidomDatamodel.isObjectElement)(rootStore)) {
|
|
17
|
+
rootStore = new _apidomDatamodel.ObjectElement();
|
|
18
18
|
this.storageElement.set(this.storageField, rootStore);
|
|
19
19
|
}
|
|
20
20
|
let store = rootStore.get(this.storageSubField);
|
|
21
|
-
if (!(0,
|
|
22
|
-
store = new
|
|
21
|
+
if (!(0, _apidomDatamodel.isArrayElement)(store)) {
|
|
22
|
+
store = new _apidomDatamodel.ArrayElement();
|
|
23
23
|
rootStore.set(this.storageSubField, store);
|
|
24
24
|
}
|
|
25
25
|
this.internalStore = store;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ArrayElement, ObjectElement, isObjectElement, isArrayElement } from '@speclynx/apidom-
|
|
1
|
+
import { ArrayElement, ObjectElement, isObjectElement, isArrayElement } from '@speclynx/apidom-datamodel';
|
|
2
2
|
class NormalizeStorage {
|
|
3
3
|
internalStore;
|
|
4
4
|
constructor(storageElement, storageField, storageSubField) {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.default = void 0;
|
|
6
|
-
var
|
|
6
|
+
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
7
7
|
var _NormalizeStorage = _interopRequireDefault(require("./NormalizeStorage.cjs"));
|
|
8
8
|
/**
|
|
9
9
|
* Override of Schema.example and Schema.examples field inside the Header Objects.
|
|
@@ -35,7 +35,8 @@ const plugin = ({
|
|
|
35
35
|
return {
|
|
36
36
|
visitor: {
|
|
37
37
|
OpenApi3_1Element: {
|
|
38
|
-
enter(
|
|
38
|
+
enter(path) {
|
|
39
|
+
const element = path.node;
|
|
39
40
|
storage = new _NormalizeStorage.default(element, storageField, 'header-examples');
|
|
40
41
|
},
|
|
41
42
|
leave() {
|
|
@@ -43,7 +44,10 @@ const plugin = ({
|
|
|
43
44
|
}
|
|
44
45
|
},
|
|
45
46
|
HeaderElement: {
|
|
46
|
-
leave(
|
|
47
|
+
leave(path) {
|
|
48
|
+
const headerElement = path.node;
|
|
49
|
+
const ancestors = path.getAncestorNodes().reverse(); // root to parent order
|
|
50
|
+
|
|
47
51
|
// skip visiting this Header Object
|
|
48
52
|
if (ancestors.some(predicates.isComponentsElement)) {
|
|
49
53
|
return;
|
|
@@ -57,7 +61,7 @@ const plugin = ({
|
|
|
57
61
|
if (typeof headerElement.schema?.example === 'undefined' && typeof headerElement.schema?.examples === 'undefined') {
|
|
58
62
|
return;
|
|
59
63
|
}
|
|
60
|
-
const headerJSONPointer = ancestorLineageToJSONPointer([...ancestors,
|
|
64
|
+
const headerJSONPointer = ancestorLineageToJSONPointer([...ancestors, headerElement]);
|
|
61
65
|
|
|
62
66
|
// skip visiting this Header Object if it's already normalized
|
|
63
67
|
if (storage.includes(headerJSONPointer)) {
|
|
@@ -71,7 +75,7 @@ const plugin = ({
|
|
|
71
75
|
if (typeof headerElement.examples !== 'undefined' && predicates.isObjectElement(headerElement.examples)) {
|
|
72
76
|
// @ts-ignore
|
|
73
77
|
const examples = headerElement.examples.map(example => {
|
|
74
|
-
return
|
|
78
|
+
return _apidomDatamodel.cloneDeep.safe(example.value);
|
|
75
79
|
});
|
|
76
80
|
if (typeof headerElement.schema.examples !== 'undefined') {
|
|
77
81
|
headerElement.schema.set('examples', examples);
|
|
@@ -89,11 +93,11 @@ const plugin = ({
|
|
|
89
93
|
*/
|
|
90
94
|
if (typeof headerElement.example !== 'undefined') {
|
|
91
95
|
if (typeof headerElement.schema.examples !== 'undefined') {
|
|
92
|
-
headerElement.schema.set('examples', [(0,
|
|
96
|
+
headerElement.schema.set('examples', [(0, _apidomDatamodel.cloneDeep)(headerElement.example)]);
|
|
93
97
|
storage.append(headerJSONPointer);
|
|
94
98
|
}
|
|
95
99
|
if (typeof headerElement.schema.example !== 'undefined') {
|
|
96
|
-
headerElement.schema.set('example', (0,
|
|
100
|
+
headerElement.schema.set('example', (0, _apidomDatamodel.cloneDeep)(headerElement.example));
|
|
97
101
|
storage.append(headerJSONPointer);
|
|
98
102
|
}
|
|
99
103
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cloneDeep } from '@speclynx/apidom-
|
|
1
|
+
import { cloneDeep } from '@speclynx/apidom-datamodel';
|
|
2
2
|
import NormalizeStorage from "./NormalizeStorage.mjs";
|
|
3
3
|
/**
|
|
4
4
|
* Override of Schema.example and Schema.examples field inside the Header Objects.
|
|
@@ -29,7 +29,8 @@ const plugin = ({
|
|
|
29
29
|
return {
|
|
30
30
|
visitor: {
|
|
31
31
|
OpenApi3_1Element: {
|
|
32
|
-
enter(
|
|
32
|
+
enter(path) {
|
|
33
|
+
const element = path.node;
|
|
33
34
|
storage = new NormalizeStorage(element, storageField, 'header-examples');
|
|
34
35
|
},
|
|
35
36
|
leave() {
|
|
@@ -37,7 +38,10 @@ const plugin = ({
|
|
|
37
38
|
}
|
|
38
39
|
},
|
|
39
40
|
HeaderElement: {
|
|
40
|
-
leave(
|
|
41
|
+
leave(path) {
|
|
42
|
+
const headerElement = path.node;
|
|
43
|
+
const ancestors = path.getAncestorNodes().reverse(); // root to parent order
|
|
44
|
+
|
|
41
45
|
// skip visiting this Header Object
|
|
42
46
|
if (ancestors.some(predicates.isComponentsElement)) {
|
|
43
47
|
return;
|
|
@@ -51,7 +55,7 @@ const plugin = ({
|
|
|
51
55
|
if (typeof headerElement.schema?.example === 'undefined' && typeof headerElement.schema?.examples === 'undefined') {
|
|
52
56
|
return;
|
|
53
57
|
}
|
|
54
|
-
const headerJSONPointer = ancestorLineageToJSONPointer([...ancestors,
|
|
58
|
+
const headerJSONPointer = ancestorLineageToJSONPointer([...ancestors, headerElement]);
|
|
55
59
|
|
|
56
60
|
// skip visiting this Header Object if it's already normalized
|
|
57
61
|
if (storage.includes(headerJSONPointer)) {
|
|
@@ -4,6 +4,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
|
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.default = void 0;
|
|
6
6
|
var _ramda = require("ramda");
|
|
7
|
+
var _apidomDatamodel = require("@speclynx/apidom-datamodel");
|
|
7
8
|
var _apidomCore = require("@speclynx/apidom-core");
|
|
8
9
|
var _NormalizeStorage = _interopRequireDefault(require("./normalize-header-examples/NormalizeStorage.cjs"));
|
|
9
10
|
const removeSpaces = operationId => {
|
|
@@ -62,7 +63,8 @@ const plugin = ({
|
|
|
62
63
|
return {
|
|
63
64
|
visitor: {
|
|
64
65
|
OpenApi3_1Element: {
|
|
65
|
-
enter(
|
|
66
|
+
enter(path) {
|
|
67
|
+
const element = path.node;
|
|
66
68
|
storage = new _NormalizeStorage.default(element, storageField, 'operation-ids');
|
|
67
69
|
},
|
|
68
70
|
leave() {
|
|
@@ -93,7 +95,7 @@ const plugin = ({
|
|
|
93
95
|
|
|
94
96
|
// Link Object doesn't need to be rectified
|
|
95
97
|
if (typeof operationElement === 'undefined') return;
|
|
96
|
-
linkElement.operationId =
|
|
98
|
+
linkElement.operationId = _apidomDatamodel.cloneDeep.safe(operationElement.operationId);
|
|
97
99
|
linkElement.meta.set('originalOperationId', linkOperationId);
|
|
98
100
|
linkElement.set('__originalOperationId', linkOperationId);
|
|
99
101
|
});
|
|
@@ -105,7 +107,8 @@ const plugin = ({
|
|
|
105
107
|
}
|
|
106
108
|
},
|
|
107
109
|
PathItemElement: {
|
|
108
|
-
enter(
|
|
110
|
+
enter(path) {
|
|
111
|
+
const pathItemElement = path.node;
|
|
109
112
|
// `path` meta may not be always available, e.g. in Callback Object or Components Object
|
|
110
113
|
const pathTemplate = (0, _ramda.defaultTo)('path', (0, _apidomCore.toValue)(pathItemElement.meta.get('path')));
|
|
111
114
|
pathTemplates.push(pathTemplate);
|
|
@@ -115,10 +118,13 @@ const plugin = ({
|
|
|
115
118
|
}
|
|
116
119
|
},
|
|
117
120
|
OperationElement: {
|
|
118
|
-
enter(
|
|
121
|
+
enter(path) {
|
|
122
|
+
const operationElement = path.node;
|
|
123
|
+
const ancestors = path.getAncestorNodes().reverse(); // root to parent order
|
|
124
|
+
|
|
119
125
|
// operationId field is undefined, needs no normalization
|
|
120
126
|
if (typeof operationElement.operationId === 'undefined') return;
|
|
121
|
-
const operationJSONPointer = ancestorLineageToJSONPointer([...ancestors,
|
|
127
|
+
const operationJSONPointer = ancestorLineageToJSONPointer([...ancestors, operationElement]);
|
|
122
128
|
|
|
123
129
|
// skip visiting this Operation Object if it's already normalized
|
|
124
130
|
if (storage.includes(operationJSONPointer)) {
|
|
@@ -145,7 +151,8 @@ const plugin = ({
|
|
|
145
151
|
}
|
|
146
152
|
},
|
|
147
153
|
LinkElement: {
|
|
148
|
-
leave(
|
|
154
|
+
leave(path) {
|
|
155
|
+
const linkElement = path.node;
|
|
149
156
|
// make sure this Link elements doesn't come from base namespace
|
|
150
157
|
if (!predicates.isLinkElement(linkElement)) return;
|
|
151
158
|
// ignore Link Objects with undefined operationId
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { last, defaultTo, groupBy } from 'ramda';
|
|
2
|
-
import {
|
|
2
|
+
import { cloneDeep } from '@speclynx/apidom-datamodel';
|
|
3
|
+
import { toValue } from '@speclynx/apidom-core';
|
|
3
4
|
import NormalizeStorage from "./normalize-header-examples/NormalizeStorage.mjs";
|
|
4
5
|
const removeSpaces = operationId => {
|
|
5
6
|
return operationId.replace(/\s/g, '');
|
|
@@ -57,7 +58,8 @@ const plugin = ({
|
|
|
57
58
|
return {
|
|
58
59
|
visitor: {
|
|
59
60
|
OpenApi3_1Element: {
|
|
60
|
-
enter(
|
|
61
|
+
enter(path) {
|
|
62
|
+
const element = path.node;
|
|
61
63
|
storage = new NormalizeStorage(element, storageField, 'operation-ids');
|
|
62
64
|
},
|
|
63
65
|
leave() {
|
|
@@ -100,7 +102,8 @@ const plugin = ({
|
|
|
100
102
|
}
|
|
101
103
|
},
|
|
102
104
|
PathItemElement: {
|
|
103
|
-
enter(
|
|
105
|
+
enter(path) {
|
|
106
|
+
const pathItemElement = path.node;
|
|
104
107
|
// `path` meta may not be always available, e.g. in Callback Object or Components Object
|
|
105
108
|
const pathTemplate = defaultTo('path', toValue(pathItemElement.meta.get('path')));
|
|
106
109
|
pathTemplates.push(pathTemplate);
|
|
@@ -110,10 +113,13 @@ const plugin = ({
|
|
|
110
113
|
}
|
|
111
114
|
},
|
|
112
115
|
OperationElement: {
|
|
113
|
-
enter(
|
|
116
|
+
enter(path) {
|
|
117
|
+
const operationElement = path.node;
|
|
118
|
+
const ancestors = path.getAncestorNodes().reverse(); // root to parent order
|
|
119
|
+
|
|
114
120
|
// operationId field is undefined, needs no normalization
|
|
115
121
|
if (typeof operationElement.operationId === 'undefined') return;
|
|
116
|
-
const operationJSONPointer = ancestorLineageToJSONPointer([...ancestors,
|
|
122
|
+
const operationJSONPointer = ancestorLineageToJSONPointer([...ancestors, operationElement]);
|
|
117
123
|
|
|
118
124
|
// skip visiting this Operation Object if it's already normalized
|
|
119
125
|
if (storage.includes(operationJSONPointer)) {
|
|
@@ -140,7 +146,8 @@ const plugin = ({
|
|
|
140
146
|
}
|
|
141
147
|
},
|
|
142
148
|
LinkElement: {
|
|
143
|
-
leave(
|
|
149
|
+
leave(path) {
|
|
150
|
+
const linkElement = path.node;
|
|
144
151
|
// make sure this Link elements doesn't come from base namespace
|
|
145
152
|
if (!predicates.isLinkElement(linkElement)) return;
|
|
146
153
|
// ignore Link Objects with undefined operationId
|