@speclynx/apidom-ns-openapi-3-1 1.12.2 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/NOTICE +16 -7
  3. package/README.md +16 -29
  4. package/dist/apidom-ns-openapi-3-1.browser.js +13422 -14424
  5. package/dist/apidom-ns-openapi-3-1.browser.min.js +1 -1
  6. package/package.json +11 -11
  7. package/src/elements/JsonSchemaDialect.cjs +2 -2
  8. package/src/elements/JsonSchemaDialect.mjs +1 -1
  9. package/src/elements/OpenApi3-1.cjs +2 -2
  10. package/src/elements/OpenApi3-1.mjs +1 -1
  11. package/src/elements/PathItem.cjs +24 -24
  12. package/src/elements/PathItem.mjs +24 -24
  13. package/src/elements/nces/ComponentsPathItems.cjs +2 -2
  14. package/src/elements/nces/ComponentsPathItems.mjs +1 -1
  15. package/src/elements/nces/Webhooks.cjs +2 -2
  16. package/src/elements/nces/Webhooks.mjs +1 -1
  17. package/src/index.cjs +73 -49
  18. package/src/index.mjs +6 -3
  19. package/src/namespace.cjs +0 -1
  20. package/src/predicates.cjs +56 -187
  21. package/src/predicates.mjs +29 -186
  22. package/src/refractor/index.cjs +338 -17
  23. package/src/refractor/index.mjs +305 -16
  24. package/src/refractor/inspect.cjs +207 -0
  25. package/src/refractor/inspect.mjs +171 -0
  26. package/src/refractor/plugins/normalize-header-examples/NormalizeStorage.cjs +5 -5
  27. package/src/refractor/plugins/normalize-header-examples/NormalizeStorage.mjs +1 -1
  28. package/src/refractor/plugins/normalize-header-examples/index.cjs +11 -7
  29. package/src/refractor/plugins/normalize-header-examples/index.mjs +8 -4
  30. package/src/refractor/plugins/normalize-operation-ids.cjs +13 -6
  31. package/src/refractor/plugins/normalize-operation-ids.mjs +13 -6
  32. package/src/refractor/plugins/normalize-parameter-examples.cjs +11 -7
  33. package/src/refractor/plugins/normalize-parameter-examples.mjs +8 -4
  34. package/src/refractor/plugins/normalize-parameters.cjs +11 -5
  35. package/src/refractor/plugins/normalize-parameters.mjs +11 -5
  36. package/src/refractor/plugins/normalize-security-requirements.cjs +8 -4
  37. package/src/refractor/plugins/normalize-security-requirements.mjs +8 -4
  38. package/src/refractor/plugins/normalize-servers.cjs +15 -9
  39. package/src/refractor/plugins/normalize-servers.mjs +15 -9
  40. package/src/refractor/plugins/replace-empty-element.cjs +32 -30
  41. package/src/refractor/plugins/replace-empty-element.mjs +16 -15
  42. package/src/refractor/predicates.cjs +36 -0
  43. package/src/refractor/predicates.mjs +31 -0
  44. package/src/refractor/specification.cjs +43 -4
  45. package/src/refractor/specification.mjs +43 -4
  46. package/src/refractor/toolbox.cjs +12 -21
  47. package/src/refractor/toolbox.mjs +9 -16
  48. package/src/refractor/visitors/open-api-3-1/JsonSchemaDialectVisitor.cjs +5 -5
  49. package/src/refractor/visitors/open-api-3-1/JsonSchemaDialectVisitor.mjs +6 -6
  50. package/src/refractor/visitors/open-api-3-1/OpenapiVisitor.cjs +25 -0
  51. package/src/refractor/visitors/open-api-3-1/OpenapiVisitor.mjs +19 -0
  52. package/src/refractor/visitors/open-api-3-1/WebhooksVisitor.cjs +4 -5
  53. package/src/refractor/visitors/open-api-3-1/WebhooksVisitor.mjs +5 -6
  54. package/src/refractor/visitors/open-api-3-1/bases.cjs +46 -0
  55. package/src/refractor/visitors/open-api-3-1/bases.mjs +43 -0
  56. package/src/refractor/visitors/open-api-3-1/callback/index.cjs +2 -3
  57. package/src/refractor/visitors/open-api-3-1/callback/index.mjs +2 -3
  58. package/src/refractor/visitors/open-api-3-1/components/PathItemsVisitor.cjs +4 -5
  59. package/src/refractor/visitors/open-api-3-1/components/PathItemsVisitor.mjs +5 -6
  60. package/src/refractor/visitors/open-api-3-1/components/SchemasVisitor.cjs +2 -2
  61. package/src/refractor/visitors/open-api-3-1/components/SchemasVisitor.mjs +3 -5
  62. package/src/refractor/visitors/open-api-3-1/index.cjs +5 -4
  63. package/src/refractor/visitors/open-api-3-1/index.mjs +6 -5
  64. package/src/refractor/visitors/open-api-3-1/schema/index.cjs +11 -10
  65. package/src/refractor/visitors/open-api-3-1/schema/index.mjs +12 -11
  66. package/types/apidom-ns-openapi-3-1.d.ts +435 -274
  67. package/src/refractor/registration.cjs +0 -102
  68. package/src/refractor/registration.mjs +0 -66
  69. package/src/traversal/visitor.cjs +0 -57
  70. package/src/traversal/visitor.mjs +0 -54
@@ -1,4 +1,5 @@
1
- import { createPredicate, isBooleanElement, isStringElement, toValue } from '@speclynx/apidom-core';
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 = createPredicate(({
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 = createPredicate(({
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 = createPredicate(({
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 = createPredicate(({
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 = createPredicate(({
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 = createPredicate(({
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 = createPredicate(({
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 = createPredicate(({
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 = createPredicate(({
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 = createPredicate(({
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 = createPredicate(({
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 = createPredicate(({
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 = createPredicate(({
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 = createPredicate(({
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 = createPredicate(({
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 = createPredicate(({
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 = createPredicate(({
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 = createPredicate(({
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 = createPredicate(({
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 = createPredicate(({
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.classes.includes('boolean-json-schema');
174
+ return isBooleanElement(element) && includesClasses(element, ['boolean-json-schema']);
302
175
  };
303
176
 
304
177
  /**
305
178
  * @public
306
179
  */
307
- export const isSecurityRequirementElement = createPredicate(({
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 = createPredicate(({
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 = createPredicate(({
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 = createPredicate(({
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 = createPredicate(({
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;