@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
package/src/predicates.mjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { includesClasses, isBooleanElement, isStringElement } from '@speclynx/apidom-datamodel';
|
|
2
|
+
import { toValue } from '@speclynx/apidom-core';
|
|
2
3
|
import CallbackElement from "./elements/Callback.mjs";
|
|
3
4
|
import ComponentsElement from "./elements/Components.mjs";
|
|
4
5
|
import ContactElement from "./elements/Contact.mjs";
|
|
@@ -28,169 +29,77 @@ import MediaTypeElement from "./elements/MediaType.mjs";
|
|
|
28
29
|
/**
|
|
29
30
|
* @public
|
|
30
31
|
*/
|
|
31
|
-
export const isCallbackElement =
|
|
32
|
-
hasBasicElementProps,
|
|
33
|
-
isElementType,
|
|
34
|
-
primitiveEq
|
|
35
|
-
}) => {
|
|
36
|
-
return element => element instanceof CallbackElement || hasBasicElementProps(element) && isElementType('callback', element) && primitiveEq('object', element);
|
|
37
|
-
});
|
|
32
|
+
export const isCallbackElement = element => element instanceof CallbackElement;
|
|
38
33
|
|
|
39
34
|
/**
|
|
40
35
|
* @public
|
|
41
36
|
*/
|
|
42
|
-
export const isComponentsElement =
|
|
43
|
-
hasBasicElementProps,
|
|
44
|
-
isElementType,
|
|
45
|
-
primitiveEq
|
|
46
|
-
}) => {
|
|
47
|
-
return element => element instanceof ComponentsElement || hasBasicElementProps(element) && isElementType('components', element) && primitiveEq('object', element);
|
|
48
|
-
});
|
|
37
|
+
export const isComponentsElement = element => element instanceof ComponentsElement;
|
|
49
38
|
|
|
50
39
|
/**
|
|
51
40
|
* @public
|
|
52
41
|
*/
|
|
53
|
-
export const isContactElement =
|
|
54
|
-
hasBasicElementProps,
|
|
55
|
-
isElementType,
|
|
56
|
-
primitiveEq
|
|
57
|
-
}) => {
|
|
58
|
-
return element => element instanceof ContactElement || hasBasicElementProps(element) && isElementType('contact', element) && primitiveEq('object', element);
|
|
59
|
-
});
|
|
42
|
+
export const isContactElement = element => element instanceof ContactElement;
|
|
60
43
|
|
|
61
44
|
/**
|
|
62
45
|
* @public
|
|
63
46
|
*/
|
|
64
|
-
export const isExampleElement =
|
|
65
|
-
hasBasicElementProps,
|
|
66
|
-
isElementType,
|
|
67
|
-
primitiveEq
|
|
68
|
-
}) => {
|
|
69
|
-
return element => element instanceof ExampleElement || hasBasicElementProps(element) && isElementType('example', element) && primitiveEq('object', element);
|
|
70
|
-
});
|
|
47
|
+
export const isExampleElement = element => element instanceof ExampleElement;
|
|
71
48
|
|
|
72
49
|
/**
|
|
73
50
|
* @public
|
|
74
51
|
*/
|
|
75
|
-
export const isExternalDocumentationElement =
|
|
76
|
-
hasBasicElementProps,
|
|
77
|
-
isElementType,
|
|
78
|
-
primitiveEq
|
|
79
|
-
}) => {
|
|
80
|
-
return element => element instanceof ExternalDocumentationElement || hasBasicElementProps(element) && isElementType('externalDocumentation', element) && primitiveEq('object', element);
|
|
81
|
-
});
|
|
52
|
+
export const isExternalDocumentationElement = element => element instanceof ExternalDocumentationElement;
|
|
82
53
|
|
|
83
54
|
/**
|
|
84
55
|
* @public
|
|
85
56
|
*/
|
|
86
|
-
export const isHeaderElement =
|
|
87
|
-
hasBasicElementProps,
|
|
88
|
-
isElementType,
|
|
89
|
-
primitiveEq
|
|
90
|
-
}) => {
|
|
91
|
-
return element => element instanceof HeaderElement || hasBasicElementProps(element) && isElementType('header', element) && primitiveEq('object', element);
|
|
92
|
-
});
|
|
57
|
+
export const isHeaderElement = element => element instanceof HeaderElement;
|
|
93
58
|
|
|
94
59
|
/**
|
|
95
60
|
* @public
|
|
96
61
|
*/
|
|
97
|
-
export const isInfoElement =
|
|
98
|
-
hasBasicElementProps,
|
|
99
|
-
isElementType,
|
|
100
|
-
primitiveEq
|
|
101
|
-
}) => {
|
|
102
|
-
return element => element instanceof InfoElement || hasBasicElementProps(element) && isElementType('info', element) && primitiveEq('object', element);
|
|
103
|
-
});
|
|
62
|
+
export const isInfoElement = element => element instanceof InfoElement;
|
|
104
63
|
|
|
105
64
|
/**
|
|
106
65
|
* @public
|
|
107
66
|
*/
|
|
108
|
-
export const isJsonSchemaDialectElement =
|
|
109
|
-
hasBasicElementProps,
|
|
110
|
-
isElementType,
|
|
111
|
-
primitiveEq
|
|
112
|
-
}) => {
|
|
113
|
-
return element => element instanceof JsonSchemaDialectElement || hasBasicElementProps(element) && isElementType('jsonSchemaDialect', element) && primitiveEq('string', element);
|
|
114
|
-
});
|
|
67
|
+
export const isJsonSchemaDialectElement = element => element instanceof JsonSchemaDialectElement;
|
|
115
68
|
|
|
116
69
|
/**
|
|
117
70
|
* @public
|
|
118
71
|
*/
|
|
119
|
-
export const isLicenseElement =
|
|
120
|
-
hasBasicElementProps,
|
|
121
|
-
isElementType,
|
|
122
|
-
primitiveEq
|
|
123
|
-
}) => {
|
|
124
|
-
return element => element instanceof LicenseElement || hasBasicElementProps(element) && isElementType('license', element) && primitiveEq('object', element);
|
|
125
|
-
});
|
|
72
|
+
export const isLicenseElement = element => element instanceof LicenseElement;
|
|
126
73
|
|
|
127
74
|
/**
|
|
128
75
|
* @public
|
|
129
76
|
*/
|
|
130
|
-
export const isLinkElement =
|
|
131
|
-
hasBasicElementProps,
|
|
132
|
-
isElementType,
|
|
133
|
-
primitiveEq
|
|
134
|
-
}) => {
|
|
135
|
-
return element => element instanceof LinkElement || hasBasicElementProps(element) && isElementType('link', element) && primitiveEq('object', element);
|
|
136
|
-
});
|
|
77
|
+
export const isLinkElement = element => element instanceof LinkElement;
|
|
137
78
|
|
|
138
79
|
/**
|
|
139
80
|
* @public
|
|
140
81
|
*/
|
|
141
|
-
export const isOpenapiElement =
|
|
142
|
-
hasBasicElementProps,
|
|
143
|
-
isElementType,
|
|
144
|
-
primitiveEq
|
|
145
|
-
}) => {
|
|
146
|
-
return element => element instanceof OpenapiElement || hasBasicElementProps(element) && isElementType('openapi', element) && primitiveEq('string', element);
|
|
147
|
-
});
|
|
82
|
+
export const isOpenapiElement = element => element instanceof OpenapiElement;
|
|
148
83
|
|
|
149
84
|
/**
|
|
150
85
|
* @public
|
|
151
86
|
*/
|
|
152
|
-
|
|
153
|
-
export const isOpenApi3_1Element = createPredicate(({
|
|
154
|
-
hasBasicElementProps,
|
|
155
|
-
isElementType,
|
|
156
|
-
primitiveEq,
|
|
157
|
-
hasClass
|
|
158
|
-
}) => {
|
|
159
|
-
return element => element instanceof OpenApi3_1Element || hasBasicElementProps(element) && isElementType('openApi3_1', element) && primitiveEq('object', element) && hasClass('api', element);
|
|
160
|
-
});
|
|
87
|
+
export const isOpenApi3_1Element = element => element instanceof OpenApi3_1Element;
|
|
161
88
|
|
|
162
89
|
/**
|
|
163
90
|
* @public
|
|
164
91
|
*/
|
|
165
|
-
export const isOperationElement =
|
|
166
|
-
hasBasicElementProps,
|
|
167
|
-
isElementType,
|
|
168
|
-
primitiveEq
|
|
169
|
-
}) => {
|
|
170
|
-
return element => element instanceof OperationElement || hasBasicElementProps(element) && isElementType('operation', element) && primitiveEq('object', element);
|
|
171
|
-
});
|
|
92
|
+
export const isOperationElement = element => element instanceof OperationElement;
|
|
172
93
|
|
|
173
94
|
/**
|
|
174
95
|
* @public
|
|
175
96
|
*/
|
|
176
|
-
export const isParameterElement =
|
|
177
|
-
hasBasicElementProps,
|
|
178
|
-
isElementType,
|
|
179
|
-
primitiveEq
|
|
180
|
-
}) => {
|
|
181
|
-
return element => element instanceof ParameterElement || hasBasicElementProps(element) && isElementType('parameter', element) && primitiveEq('object', element);
|
|
182
|
-
});
|
|
97
|
+
export const isParameterElement = element => element instanceof ParameterElement;
|
|
183
98
|
|
|
184
99
|
/**
|
|
185
100
|
* @public
|
|
186
101
|
*/
|
|
187
|
-
export const isPathItemElement =
|
|
188
|
-
hasBasicElementProps,
|
|
189
|
-
isElementType,
|
|
190
|
-
primitiveEq
|
|
191
|
-
}) => {
|
|
192
|
-
return element => element instanceof PathItemElement || hasBasicElementProps(element) && isElementType('pathItem', element) && primitiveEq('object', element);
|
|
193
|
-
});
|
|
102
|
+
export const isPathItemElement = element => element instanceof PathItemElement;
|
|
194
103
|
|
|
195
104
|
/**
|
|
196
105
|
* @deprecated
|
|
@@ -213,24 +122,12 @@ export const isPathItemElementExternal = element => {
|
|
|
213
122
|
/**
|
|
214
123
|
* @public
|
|
215
124
|
*/
|
|
216
|
-
export const isPathsElement =
|
|
217
|
-
hasBasicElementProps,
|
|
218
|
-
isElementType,
|
|
219
|
-
primitiveEq
|
|
220
|
-
}) => {
|
|
221
|
-
return element => element instanceof PathsElement || hasBasicElementProps(element) && isElementType('paths', element) && primitiveEq('object', element);
|
|
222
|
-
});
|
|
125
|
+
export const isPathsElement = element => element instanceof PathsElement;
|
|
223
126
|
|
|
224
127
|
/**
|
|
225
128
|
* @public
|
|
226
129
|
*/
|
|
227
|
-
export const isReferenceElement =
|
|
228
|
-
hasBasicElementProps,
|
|
229
|
-
isElementType,
|
|
230
|
-
primitiveEq
|
|
231
|
-
}) => {
|
|
232
|
-
return element => element instanceof ReferenceElement || hasBasicElementProps(element) && isElementType('reference', element) && primitiveEq('object', element);
|
|
233
|
-
});
|
|
130
|
+
export const isReferenceElement = element => element instanceof ReferenceElement;
|
|
234
131
|
|
|
235
132
|
/**
|
|
236
133
|
* @deprecated
|
|
@@ -253,105 +150,51 @@ export const isReferenceElementExternal = element => {
|
|
|
253
150
|
/**
|
|
254
151
|
* @public
|
|
255
152
|
*/
|
|
256
|
-
export const isRequestBodyElement =
|
|
257
|
-
hasBasicElementProps,
|
|
258
|
-
isElementType,
|
|
259
|
-
primitiveEq
|
|
260
|
-
}) => {
|
|
261
|
-
return element => element instanceof RequestBodyElement || hasBasicElementProps(element) && isElementType('requestBody', element) && primitiveEq('object', element);
|
|
262
|
-
});
|
|
153
|
+
export const isRequestBodyElement = element => element instanceof RequestBodyElement;
|
|
263
154
|
|
|
264
155
|
/**
|
|
265
156
|
* @public
|
|
266
157
|
*/
|
|
267
|
-
export const isResponseElement =
|
|
268
|
-
hasBasicElementProps,
|
|
269
|
-
isElementType,
|
|
270
|
-
primitiveEq
|
|
271
|
-
}) => {
|
|
272
|
-
return element => element instanceof ResponseElement || hasBasicElementProps(element) && isElementType('response', element) && primitiveEq('object', element);
|
|
273
|
-
});
|
|
158
|
+
export const isResponseElement = element => element instanceof ResponseElement;
|
|
274
159
|
|
|
275
160
|
/**
|
|
276
161
|
* @public
|
|
277
162
|
*/
|
|
278
|
-
export const isResponsesElement =
|
|
279
|
-
hasBasicElementProps,
|
|
280
|
-
isElementType,
|
|
281
|
-
primitiveEq
|
|
282
|
-
}) => {
|
|
283
|
-
return element => element instanceof ResponsesElement || hasBasicElementProps(element) && isElementType('responses', element) && primitiveEq('object', element);
|
|
284
|
-
});
|
|
163
|
+
export const isResponsesElement = element => element instanceof ResponsesElement;
|
|
285
164
|
|
|
286
165
|
/**
|
|
287
166
|
* @public
|
|
288
167
|
*/
|
|
289
|
-
export const isSchemaElement =
|
|
290
|
-
hasBasicElementProps,
|
|
291
|
-
isElementType,
|
|
292
|
-
primitiveEq
|
|
293
|
-
}) => {
|
|
294
|
-
return element => element instanceof SchemaElement || hasBasicElementProps(element) && isElementType('schema', element) && primitiveEq('object', element);
|
|
295
|
-
});
|
|
168
|
+
export const isSchemaElement = element => element instanceof SchemaElement;
|
|
296
169
|
|
|
297
170
|
/**
|
|
298
171
|
* @public
|
|
299
172
|
*/
|
|
300
173
|
export const isBooleanJsonSchemaElement = element => {
|
|
301
|
-
return isBooleanElement(element) && element
|
|
174
|
+
return isBooleanElement(element) && includesClasses(element, ['boolean-json-schema']);
|
|
302
175
|
};
|
|
303
176
|
|
|
304
177
|
/**
|
|
305
178
|
* @public
|
|
306
179
|
*/
|
|
307
|
-
export const isSecurityRequirementElement =
|
|
308
|
-
hasBasicElementProps,
|
|
309
|
-
isElementType,
|
|
310
|
-
primitiveEq
|
|
311
|
-
}) => {
|
|
312
|
-
return element => element instanceof SecurityRequirementElement || hasBasicElementProps(element) && isElementType('securityRequirement', element) && primitiveEq('object', element);
|
|
313
|
-
});
|
|
180
|
+
export const isSecurityRequirementElement = element => element instanceof SecurityRequirementElement;
|
|
314
181
|
|
|
315
182
|
/**
|
|
316
183
|
* @public
|
|
317
184
|
*/
|
|
318
|
-
export const isSecuritySchemeElement =
|
|
319
|
-
hasBasicElementProps,
|
|
320
|
-
isElementType,
|
|
321
|
-
primitiveEq
|
|
322
|
-
}) => {
|
|
323
|
-
return element => element instanceof SecuritySchemeElement || hasBasicElementProps(element) && isElementType('securityScheme', element) && primitiveEq('object', element);
|
|
324
|
-
});
|
|
185
|
+
export const isSecuritySchemeElement = element => element instanceof SecuritySchemeElement;
|
|
325
186
|
|
|
326
187
|
/**
|
|
327
188
|
* @public
|
|
328
189
|
*/
|
|
329
|
-
export const isServerElement =
|
|
330
|
-
hasBasicElementProps,
|
|
331
|
-
isElementType,
|
|
332
|
-
primitiveEq
|
|
333
|
-
}) => {
|
|
334
|
-
return element => element instanceof ServerElement || hasBasicElementProps(element) && isElementType('server', element) && primitiveEq('object', element);
|
|
335
|
-
});
|
|
190
|
+
export const isServerElement = element => element instanceof ServerElement;
|
|
336
191
|
|
|
337
192
|
/**
|
|
338
193
|
* @public
|
|
339
194
|
*/
|
|
340
|
-
export const isServerVariableElement =
|
|
341
|
-
hasBasicElementProps,
|
|
342
|
-
isElementType,
|
|
343
|
-
primitiveEq
|
|
344
|
-
}) => {
|
|
345
|
-
return element => element instanceof ServerVariableElement || hasBasicElementProps(element) && isElementType('serverVariable', element) && primitiveEq('object', element);
|
|
346
|
-
});
|
|
195
|
+
export const isServerVariableElement = element => element instanceof ServerVariableElement;
|
|
347
196
|
|
|
348
197
|
/**
|
|
349
198
|
* @public
|
|
350
199
|
*/
|
|
351
|
-
export const isMediaTypeElement =
|
|
352
|
-
hasBasicElementProps,
|
|
353
|
-
isElementType,
|
|
354
|
-
primitiveEq
|
|
355
|
-
}) => {
|
|
356
|
-
return element => element instanceof MediaTypeElement || hasBasicElementProps(element) && isElementType('mediaType', element) && primitiveEq('object', element);
|
|
357
|
-
});
|
|
200
|
+
export const isMediaTypeElement = element => element instanceof MediaTypeElement;
|