@swagger-api/apidom-ns-arazzo-1 1.0.0-beta.30

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 (159) hide show
  1. package/CHANGELOG.md +252 -0
  2. package/LICENSES/AFL-3.0.txt +182 -0
  3. package/LICENSES/Apache-2.0.txt +202 -0
  4. package/LICENSES/BSD-3-Clause.txt +26 -0
  5. package/LICENSES/MIT.txt +9 -0
  6. package/NOTICE +83 -0
  7. package/README.md +203 -0
  8. package/dist/apidom-ns-arazzo-1.browser.js +26005 -0
  9. package/dist/apidom-ns-arazzo-1.browser.min.js +1 -0
  10. package/package.json +63 -0
  11. package/src/elements/ArazzoSpec.cjs +17 -0
  12. package/src/elements/ArazzoSpec.mjs +14 -0
  13. package/src/elements/ArazzoSpecification1.cjs +47 -0
  14. package/src/elements/ArazzoSpecification1.mjs +43 -0
  15. package/src/elements/Components.cjs +27 -0
  16. package/src/elements/Components.mjs +24 -0
  17. package/src/elements/Criterion.cjs +33 -0
  18. package/src/elements/Criterion.mjs +30 -0
  19. package/src/elements/FailureAction.cjs +51 -0
  20. package/src/elements/FailureAction.mjs +48 -0
  21. package/src/elements/Info.cjs +40 -0
  22. package/src/elements/Info.mjs +37 -0
  23. package/src/elements/Parameter.cjs +45 -0
  24. package/src/elements/Parameter.mjs +42 -0
  25. package/src/elements/Reference.cjs +28 -0
  26. package/src/elements/Reference.mjs +25 -0
  27. package/src/elements/SourceDescription.cjs +33 -0
  28. package/src/elements/SourceDescription.mjs +30 -0
  29. package/src/elements/Step.cjs +81 -0
  30. package/src/elements/Step.mjs +78 -0
  31. package/src/elements/SuccessAction.cjs +39 -0
  32. package/src/elements/SuccessAction.mjs +36 -0
  33. package/src/elements/Workflow.cjs +51 -0
  34. package/src/elements/Workflow.mjs +47 -0
  35. package/src/elements/nces/ComponentsInputs.cjs +16 -0
  36. package/src/elements/nces/ComponentsInputs.mjs +13 -0
  37. package/src/elements/nces/ComponentsParameters.cjs +16 -0
  38. package/src/elements/nces/ComponentsParameters.mjs +13 -0
  39. package/src/elements/nces/FailureActionCriteria.cjs +17 -0
  40. package/src/elements/nces/FailureActionCriteria.mjs +14 -0
  41. package/src/elements/nces/SourceDescriptions.cjs +16 -0
  42. package/src/elements/nces/SourceDescriptions.mjs +13 -0
  43. package/src/elements/nces/StepDependsOn.cjs +16 -0
  44. package/src/elements/nces/StepDependsOn.mjs +13 -0
  45. package/src/elements/nces/StepOnFailure.cjs +16 -0
  46. package/src/elements/nces/StepOnFailure.mjs +13 -0
  47. package/src/elements/nces/StepOnSuccess.cjs +16 -0
  48. package/src/elements/nces/StepOnSuccess.mjs +13 -0
  49. package/src/elements/nces/StepOutputs.cjs +16 -0
  50. package/src/elements/nces/StepOutputs.mjs +13 -0
  51. package/src/elements/nces/StepParameters.cjs +17 -0
  52. package/src/elements/nces/StepParameters.mjs +14 -0
  53. package/src/elements/nces/StepSuccessCriteria.cjs +17 -0
  54. package/src/elements/nces/StepSuccessCriteria.mjs +14 -0
  55. package/src/elements/nces/SuccessActionCriteria.cjs +17 -0
  56. package/src/elements/nces/SuccessActionCriteria.mjs +14 -0
  57. package/src/elements/nces/WorkflowOutputs.cjs +16 -0
  58. package/src/elements/nces/WorkflowOutputs.mjs +13 -0
  59. package/src/elements/nces/WorkflowSteps.cjs +16 -0
  60. package/src/elements/nces/WorkflowSteps.mjs +13 -0
  61. package/src/elements/nces/Workflows.cjs +16 -0
  62. package/src/elements/nces/Workflows.mjs +13 -0
  63. package/src/index.cjs +115 -0
  64. package/src/index.mjs +32 -0
  65. package/src/media-types.cjs +34 -0
  66. package/src/media-types.mjs +30 -0
  67. package/src/namespace.cjs +43 -0
  68. package/src/namespace.mjs +38 -0
  69. package/src/predicates.cjs +311 -0
  70. package/src/predicates.mjs +305 -0
  71. package/src/refractor/index.cjs +52 -0
  72. package/src/refractor/index.mjs +46 -0
  73. package/src/refractor/plugins/replace-empty-element.cjs +89 -0
  74. package/src/refractor/plugins/replace-empty-element.mjs +83 -0
  75. package/src/refractor/predicates.cjs +17 -0
  76. package/src/refractor/predicates.mjs +11 -0
  77. package/src/refractor/registration.cjs +44 -0
  78. package/src/refractor/registration.mjs +28 -0
  79. package/src/refractor/specification.cjs +237 -0
  80. package/src/refractor/specification.mjs +231 -0
  81. package/src/refractor/toolbox.cjs +23 -0
  82. package/src/refractor/toolbox.mjs +17 -0
  83. package/src/refractor/visitors/FallbackVisitor.cjs +24 -0
  84. package/src/refractor/visitors/FallbackVisitor.mjs +18 -0
  85. package/src/refractor/visitors/SpecificationExtensionVisitor.cjs +18 -0
  86. package/src/refractor/visitors/SpecificationExtensionVisitor.mjs +13 -0
  87. package/src/refractor/visitors/SpecificationVisitor.cjs +74 -0
  88. package/src/refractor/visitors/SpecificationVisitor.mjs +68 -0
  89. package/src/refractor/visitors/Visitor.cjs +34 -0
  90. package/src/refractor/visitors/Visitor.mjs +31 -0
  91. package/src/refractor/visitors/arazzo-1/ArazzoSpecVisitor.cjs +26 -0
  92. package/src/refractor/visitors/arazzo-1/ArazzoSpecVisitor.mjs +20 -0
  93. package/src/refractor/visitors/arazzo-1/FailureActionCriteriaVisitor.cjs +34 -0
  94. package/src/refractor/visitors/arazzo-1/FailureActionCriteriaVisitor.mjs +28 -0
  95. package/src/refractor/visitors/arazzo-1/ParametersVisitor.cjs +39 -0
  96. package/src/refractor/visitors/arazzo-1/ParametersVisitor.mjs +33 -0
  97. package/src/refractor/visitors/arazzo-1/SourceDescriptionsVisitor.cjs +34 -0
  98. package/src/refractor/visitors/arazzo-1/SourceDescriptionsVisitor.mjs +28 -0
  99. package/src/refractor/visitors/arazzo-1/SuccessActionCriteriaVisitor.cjs +34 -0
  100. package/src/refractor/visitors/arazzo-1/SuccessActionCriteriaVisitor.mjs +28 -0
  101. package/src/refractor/visitors/arazzo-1/WorkflowsVisitor.cjs +34 -0
  102. package/src/refractor/visitors/arazzo-1/WorkflowsVisitor.mjs +28 -0
  103. package/src/refractor/visitors/arazzo-1/components/InputsVisitor.cjs +25 -0
  104. package/src/refractor/visitors/arazzo-1/components/InputsVisitor.mjs +19 -0
  105. package/src/refractor/visitors/arazzo-1/components/ParametersVisitor.cjs +25 -0
  106. package/src/refractor/visitors/arazzo-1/components/ParametersVisitor.mjs +19 -0
  107. package/src/refractor/visitors/arazzo-1/components/index.cjs +26 -0
  108. package/src/refractor/visitors/arazzo-1/components/index.mjs +20 -0
  109. package/src/refractor/visitors/arazzo-1/criterion/index.cjs +26 -0
  110. package/src/refractor/visitors/arazzo-1/criterion/index.mjs +20 -0
  111. package/src/refractor/visitors/arazzo-1/failure-action/index.cjs +26 -0
  112. package/src/refractor/visitors/arazzo-1/failure-action/index.mjs +20 -0
  113. package/src/refractor/visitors/arazzo-1/index.cjs +32 -0
  114. package/src/refractor/visitors/arazzo-1/index.mjs +26 -0
  115. package/src/refractor/visitors/arazzo-1/info/VersionVisitor.cjs +18 -0
  116. package/src/refractor/visitors/arazzo-1/info/VersionVisitor.mjs +13 -0
  117. package/src/refractor/visitors/arazzo-1/info/index.cjs +26 -0
  118. package/src/refractor/visitors/arazzo-1/info/index.mjs +20 -0
  119. package/src/refractor/visitors/arazzo-1/parameter/index.cjs +26 -0
  120. package/src/refractor/visitors/arazzo-1/parameter/index.mjs +20 -0
  121. package/src/refractor/visitors/arazzo-1/reference/$RefVisitor.cjs +18 -0
  122. package/src/refractor/visitors/arazzo-1/reference/$RefVisitor.mjs +12 -0
  123. package/src/refractor/visitors/arazzo-1/reference/index.cjs +36 -0
  124. package/src/refractor/visitors/arazzo-1/reference/index.mjs +30 -0
  125. package/src/refractor/visitors/arazzo-1/source-description/UrlVisitor.cjs +17 -0
  126. package/src/refractor/visitors/arazzo-1/source-description/UrlVisitor.mjs +12 -0
  127. package/src/refractor/visitors/arazzo-1/source-description/index.cjs +26 -0
  128. package/src/refractor/visitors/arazzo-1/source-description/index.mjs +20 -0
  129. package/src/refractor/visitors/arazzo-1/step/DependsOnVisitor.cjs +26 -0
  130. package/src/refractor/visitors/arazzo-1/step/DependsOnVisitor.mjs +20 -0
  131. package/src/refractor/visitors/arazzo-1/step/OnFailureVisitor.cjs +33 -0
  132. package/src/refractor/visitors/arazzo-1/step/OnFailureVisitor.mjs +27 -0
  133. package/src/refractor/visitors/arazzo-1/step/OnSuccessVisitor.cjs +33 -0
  134. package/src/refractor/visitors/arazzo-1/step/OnSuccessVisitor.mjs +27 -0
  135. package/src/refractor/visitors/arazzo-1/step/OutputsVisitor.cjs +25 -0
  136. package/src/refractor/visitors/arazzo-1/step/OutputsVisitor.mjs +19 -0
  137. package/src/refractor/visitors/arazzo-1/step/ParametersVisitor.cjs +38 -0
  138. package/src/refractor/visitors/arazzo-1/step/ParametersVisitor.mjs +32 -0
  139. package/src/refractor/visitors/arazzo-1/step/SuccessCriteriaVisitor.cjs +33 -0
  140. package/src/refractor/visitors/arazzo-1/step/SuccessCriteriaVisitor.mjs +27 -0
  141. package/src/refractor/visitors/arazzo-1/step/index.cjs +26 -0
  142. package/src/refractor/visitors/arazzo-1/step/index.mjs +20 -0
  143. package/src/refractor/visitors/arazzo-1/success-action/index.cjs +26 -0
  144. package/src/refractor/visitors/arazzo-1/success-action/index.mjs +20 -0
  145. package/src/refractor/visitors/arazzo-1/workflow/OutputsVisitor.cjs +25 -0
  146. package/src/refractor/visitors/arazzo-1/workflow/OutputsVisitor.mjs +19 -0
  147. package/src/refractor/visitors/arazzo-1/workflow/StepsVisitor.cjs +33 -0
  148. package/src/refractor/visitors/arazzo-1/workflow/StepsVisitor.mjs +27 -0
  149. package/src/refractor/visitors/arazzo-1/workflow/index.cjs +26 -0
  150. package/src/refractor/visitors/arazzo-1/workflow/index.mjs +20 -0
  151. package/src/refractor/visitors/generics/FixedFieldsVisitor.cjs +67 -0
  152. package/src/refractor/visitors/generics/FixedFieldsVisitor.mjs +60 -0
  153. package/src/refractor/visitors/generics/MapVisitor.cjs +21 -0
  154. package/src/refractor/visitors/generics/MapVisitor.mjs +15 -0
  155. package/src/refractor/visitors/generics/PatternedFieldsVisitor.cjs +67 -0
  156. package/src/refractor/visitors/generics/PatternedFieldsVisitor.mjs +61 -0
  157. package/src/traversal/visitor.cjs +35 -0
  158. package/src/traversal/visitor.mjs +32 -0
  159. package/types/apidom-ns-arazzo-1.d.ts +1549 -0
@@ -0,0 +1,305 @@
1
+ import { createPredicate } from '@swagger-api/apidom-core';
2
+ import { isJSONSchemaElement } from '@swagger-api/apidom-ns-json-schema-2020-12';
3
+ import ArazzoSpecification1Element from "./elements/ArazzoSpecification1.mjs";
4
+ import ArazzoSpecElement from "./elements/ArazzoSpec.mjs";
5
+ import InfoElement from "./elements/Info.mjs";
6
+ import SourceDescriptionElement from "./elements/SourceDescription.mjs";
7
+ import WorkflowElement from "./elements/Workflow.mjs";
8
+ import StepElement from "./elements/Step.mjs";
9
+ import ParameterElement from "./elements/Parameter.mjs";
10
+ import SuccessActionElement from "./elements/SuccessAction.mjs";
11
+ import FailureActionElement from "./elements/FailureAction.mjs";
12
+ import ComponentsElement from "./elements/Components.mjs";
13
+ import CriterionElement from "./elements/Criterion.mjs";
14
+ import ReferenceElement from "./elements/Reference.mjs"; // NCE types
15
+ import WorkflowsElement from "./elements/nces/Workflows.mjs";
16
+ import SourceDescriptionsElement from "./elements/nces/SourceDescriptions.mjs";
17
+ import WorkflowStepsElement from "./elements/nces/WorkflowSteps.mjs";
18
+ import WorkflowOutputsElement from "./elements/nces/WorkflowOutputs.mjs";
19
+ import StepParametersElement from "./elements/nces/StepParameters.mjs";
20
+ import StepDependsOnElement from "./elements/nces/StepDependsOn.mjs";
21
+ import StepSuccessCriteriaElement from "./elements/nces/StepSuccessCriteria.mjs";
22
+ import StepOnSuccessElement from "./elements/nces/StepOnSuccess.mjs";
23
+ import StepOnFailureElement from "./elements/nces/StepOnFailure.mjs";
24
+ import StepOutputsElement from "./elements/nces/StepOutputs.mjs";
25
+ import SuccessActionCriteriaElement from "./elements/nces/SuccessActionCriteria.mjs";
26
+ import FailureActionCriteriaElement from "./elements/nces/FailureActionCriteria.mjs";
27
+ export { isJSONSchemaElement };
28
+
29
+ /**
30
+ * @public
31
+ */
32
+ export const isArazzoSpecElement = createPredicate(({
33
+ hasBasicElementProps,
34
+ isElementType,
35
+ primitiveEq
36
+ }) => {
37
+ return element => element instanceof ArazzoSpecElement || hasBasicElementProps(element) && isElementType('arazzoSpec', element) && primitiveEq('string', element);
38
+ });
39
+
40
+ /**
41
+ * @public
42
+ */
43
+ export const isArazzoSpecification1Element = createPredicate(({
44
+ hasBasicElementProps,
45
+ isElementType,
46
+ primitiveEq,
47
+ hasClass
48
+ }) => {
49
+ return element => element instanceof ArazzoSpecification1Element || hasBasicElementProps(element) && isElementType('arazzoSpecification1', element) && primitiveEq('object', element) && hasClass('api', element) && hasClass('arazzo', element);
50
+ });
51
+
52
+ /**
53
+ * @public
54
+ */
55
+ export const isInfoElement = createPredicate(({
56
+ hasBasicElementProps,
57
+ isElementType,
58
+ primitiveEq,
59
+ hasClass
60
+ }) => {
61
+ return element => element instanceof InfoElement || hasBasicElementProps(element) && isElementType('info', element) && primitiveEq('object', element) && hasClass('info', element);
62
+ });
63
+
64
+ /**
65
+ * @public
66
+ */
67
+ export const isSourceDescriptionElement = createPredicate(({
68
+ hasBasicElementProps,
69
+ isElementType,
70
+ primitiveEq
71
+ }) => {
72
+ return element => element instanceof SourceDescriptionElement || hasBasicElementProps(element) && isElementType('sourceDescription', element) && primitiveEq('object', element);
73
+ });
74
+
75
+ /**
76
+ * @public
77
+ */
78
+ export const isSourceDescriptionsElement = createPredicate(({
79
+ hasBasicElementProps,
80
+ isElementType,
81
+ primitiveEq,
82
+ hasClass
83
+ }) => {
84
+ return element => element instanceof SourceDescriptionsElement || hasBasicElementProps(element) && isElementType('sourceDescriptions', element) && primitiveEq('array', element) && hasClass('sourceDescriptions', element);
85
+ });
86
+
87
+ /**
88
+ * @public
89
+ */
90
+ export const isWorkflowsElement = createPredicate(({
91
+ hasBasicElementProps,
92
+ isElementType,
93
+ primitiveEq,
94
+ hasClass
95
+ }) => {
96
+ return element => element instanceof WorkflowsElement || hasBasicElementProps(element) && isElementType('workflows', element) && primitiveEq('array', element) && hasClass('workflows', element);
97
+ });
98
+
99
+ /**
100
+ * @public
101
+ */
102
+ export const isWorkflowStepsElement = createPredicate(({
103
+ hasBasicElementProps,
104
+ isElementType,
105
+ primitiveEq,
106
+ hasClass
107
+ }) => {
108
+ return element => element instanceof WorkflowStepsElement || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('workflow-steps', element);
109
+ });
110
+
111
+ /**
112
+ * @public
113
+ */
114
+ export const isWorkflowOutputsElement = createPredicate(({
115
+ hasBasicElementProps,
116
+ isElementType,
117
+ primitiveEq,
118
+ hasClass
119
+ }) => {
120
+ return element => element instanceof WorkflowOutputsElement || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('workflow-outputs', element);
121
+ });
122
+
123
+ /**
124
+ * @public
125
+ */
126
+ export const isWorkflowElement = createPredicate(({
127
+ hasBasicElementProps,
128
+ isElementType,
129
+ primitiveEq
130
+ }) => {
131
+ return element => element instanceof WorkflowElement || hasBasicElementProps(element) && isElementType('workflow', element) && primitiveEq('object', element);
132
+ });
133
+
134
+ /**
135
+ * @public
136
+ */
137
+ export const isStepOnSuccessElement = createPredicate(({
138
+ hasBasicElementProps,
139
+ isElementType,
140
+ primitiveEq,
141
+ hasClass
142
+ }) => {
143
+ return element => element instanceof StepOnSuccessElement || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('step-on-success', element);
144
+ });
145
+
146
+ /**
147
+ * @public
148
+ */
149
+ export const isStepOnFailureElement = createPredicate(({
150
+ hasBasicElementProps,
151
+ isElementType,
152
+ primitiveEq,
153
+ hasClass
154
+ }) => {
155
+ return element => element instanceof StepOnFailureElement || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('step-on-failure', element);
156
+ });
157
+
158
+ /**
159
+ * @public
160
+ */
161
+ export const isStepOutputsElement = createPredicate(({
162
+ hasBasicElementProps,
163
+ isElementType,
164
+ primitiveEq,
165
+ hasClass
166
+ }) => {
167
+ return element => element instanceof StepOutputsElement || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('step-outputs', element);
168
+ });
169
+
170
+ /**
171
+ * @public
172
+ */
173
+ export const isStepElement = createPredicate(({
174
+ hasBasicElementProps,
175
+ isElementType,
176
+ primitiveEq
177
+ }) => {
178
+ return element => element instanceof StepElement || hasBasicElementProps(element) && isElementType('step', element) && primitiveEq('object', element);
179
+ });
180
+
181
+ /**
182
+ * @public
183
+ */
184
+ export const isStepParametersElement = createPredicate(({
185
+ hasBasicElementProps,
186
+ isElementType,
187
+ primitiveEq,
188
+ hasClass
189
+ }) => {
190
+ return element => element instanceof StepParametersElement || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('step-parameters', element);
191
+ });
192
+
193
+ /**
194
+ * @public
195
+ */
196
+ export const isStepDependsOnElement = createPredicate(({
197
+ hasBasicElementProps,
198
+ isElementType,
199
+ primitiveEq,
200
+ hasClass
201
+ }) => {
202
+ return element => element instanceof StepDependsOnElement || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('step-depends-on', element);
203
+ });
204
+
205
+ /**
206
+ * @public
207
+ */
208
+ export const isStepSuccessCriteriaElement = createPredicate(({
209
+ hasBasicElementProps,
210
+ isElementType,
211
+ primitiveEq,
212
+ hasClass
213
+ }) => {
214
+ return element => element instanceof StepSuccessCriteriaElement || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('step-success-criteria', element) && hasClass('criteria', element);
215
+ });
216
+
217
+ /**
218
+ * @public
219
+ */
220
+ export const isParameterElement = createPredicate(({
221
+ hasBasicElementProps,
222
+ isElementType,
223
+ primitiveEq
224
+ }) => {
225
+ return element => element instanceof ParameterElement || hasBasicElementProps(element) && isElementType('parameter', element) && primitiveEq('object', element);
226
+ });
227
+
228
+ /**
229
+ * @public
230
+ */
231
+ export const isSuccessActionElement = createPredicate(({
232
+ hasBasicElementProps,
233
+ isElementType,
234
+ primitiveEq
235
+ }) => {
236
+ return element => element instanceof SuccessActionElement || hasBasicElementProps(element) && isElementType('successAction', element) && primitiveEq('object', element);
237
+ });
238
+
239
+ /**
240
+ * @public
241
+ */
242
+ export const isComponentsElement = createPredicate(({
243
+ hasBasicElementProps,
244
+ isElementType,
245
+ primitiveEq
246
+ }) => {
247
+ return element => element instanceof ComponentsElement || hasBasicElementProps(element) && isElementType('components', element) && primitiveEq('object', element);
248
+ });
249
+
250
+ /**
251
+ * @public
252
+ */
253
+ export const isCriterionElement = createPredicate(({
254
+ hasBasicElementProps,
255
+ isElementType,
256
+ primitiveEq
257
+ }) => {
258
+ return element => element instanceof CriterionElement || hasBasicElementProps(element) && isElementType('criterion', element) && primitiveEq('object', element);
259
+ });
260
+
261
+ /**
262
+ * @public
263
+ */
264
+ export const isReferenceElement = createPredicate(({
265
+ hasBasicElementProps,
266
+ isElementType,
267
+ primitiveEq
268
+ }) => {
269
+ return element => element instanceof ReferenceElement || hasBasicElementProps(element) && isElementType('reference', element) && primitiveEq('object', element);
270
+ });
271
+
272
+ /**
273
+ * @public
274
+ */
275
+ export const isSuccessActionCriteriaElement = createPredicate(({
276
+ hasBasicElementProps,
277
+ isElementType,
278
+ primitiveEq,
279
+ hasClass
280
+ }) => {
281
+ return element => element instanceof SuccessActionCriteriaElement || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('success-action-criteria', element) && hasClass('criteria', element);
282
+ });
283
+
284
+ /**
285
+ * @public
286
+ */
287
+ export const isFailureActionElement = createPredicate(({
288
+ hasBasicElementProps,
289
+ isElementType,
290
+ primitiveEq
291
+ }) => {
292
+ return element => element instanceof FailureActionElement || hasBasicElementProps(element) && isElementType('failureAction', element) && primitiveEq('object', element);
293
+ });
294
+
295
+ /**
296
+ * @public
297
+ */
298
+ export const isFailureActionCriteriaElement = createPredicate(({
299
+ hasBasicElementProps,
300
+ isElementType,
301
+ primitiveEq,
302
+ hasClass
303
+ }) => {
304
+ return element => element instanceof FailureActionCriteriaElement || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('failure-action-criteria', element) && hasClass('criteria', element);
305
+ });
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
+ exports.__esModule = true;
5
+ exports.default = exports.createRefractor = void 0;
6
+ var _apidomCore = require("@swagger-api/apidom-core");
7
+ var _ramda = require("ramda");
8
+ var _specification = _interopRequireDefault(require("./specification.cjs"));
9
+ var _visitor = require("../traversal/visitor.cjs");
10
+ var _toolbox = _interopRequireDefault(require("./toolbox.cjs"));
11
+ /**
12
+ * @public
13
+ */
14
+ const refract = (value, {
15
+ specPath = ['visitors', 'document', 'objects', 'ArazzoSpecification', '$visitor'],
16
+ plugins = []
17
+ } = {}) => {
18
+ const element = (0, _apidomCore.refract)(value);
19
+ const resolvedSpec = (0, _apidomCore.dereference)(_specification.default);
20
+
21
+ /**
22
+ * This is where generic ApiDOM becomes semantic (namespace applied).
23
+ * We don't allow consumers to hook into this translation.
24
+ * Though we allow consumers to define their onw plugins on already transformed ApiDOM.
25
+ */
26
+ const RootVisitorClass = (0, _ramda.path)(specPath, resolvedSpec);
27
+ const rootVisitor = new RootVisitorClass({
28
+ specObj: resolvedSpec
29
+ });
30
+ (0, _apidomCore.visit)(element, rootVisitor);
31
+
32
+ /**
33
+ * Running plugins visitors means extra single traversal === performance hit.
34
+ */
35
+ return (0, _apidomCore.dispatchRefractorPlugins)(rootVisitor.element, plugins, {
36
+ toolboxCreator: _toolbox.default,
37
+ visitorOptions: {
38
+ keyMap: _visitor.keyMap,
39
+ nodeTypeGetter: _visitor.getNodeType
40
+ }
41
+ });
42
+ };
43
+
44
+ /**
45
+ * @public
46
+ */
47
+ const createRefractor = specPath => (value, options = {}) => refract(value, {
48
+ specPath,
49
+ ...options
50
+ });
51
+ exports.createRefractor = createRefractor;
52
+ var _default = exports.default = refract;
@@ -0,0 +1,46 @@
1
+ import { visit, dereference, refract as baseRefract, dispatchRefractorPlugins } from '@swagger-api/apidom-core';
2
+ import { path } from 'ramda';
3
+ import specification from "./specification.mjs";
4
+ import { keyMap, getNodeType } from "../traversal/visitor.mjs";
5
+ import createToolbox from "./toolbox.mjs";
6
+ /**
7
+ * @public
8
+ */
9
+ const refract = (value, {
10
+ specPath = ['visitors', 'document', 'objects', 'ArazzoSpecification', '$visitor'],
11
+ plugins = []
12
+ } = {}) => {
13
+ const element = baseRefract(value);
14
+ const resolvedSpec = dereference(specification);
15
+
16
+ /**
17
+ * This is where generic ApiDOM becomes semantic (namespace applied).
18
+ * We don't allow consumers to hook into this translation.
19
+ * Though we allow consumers to define their onw plugins on already transformed ApiDOM.
20
+ */
21
+ const RootVisitorClass = path(specPath, resolvedSpec);
22
+ const rootVisitor = new RootVisitorClass({
23
+ specObj: resolvedSpec
24
+ });
25
+ visit(element, rootVisitor);
26
+
27
+ /**
28
+ * Running plugins visitors means extra single traversal === performance hit.
29
+ */
30
+ return dispatchRefractorPlugins(rootVisitor.element, plugins, {
31
+ toolboxCreator: createToolbox,
32
+ visitorOptions: {
33
+ keyMap,
34
+ nodeTypeGetter: getNodeType
35
+ }
36
+ });
37
+ };
38
+
39
+ /**
40
+ * @public
41
+ */
42
+ export const createRefractor = specPath => (value, options = {}) => refract(value, {
43
+ specPath,
44
+ ...options
45
+ });
46
+ export default refract;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ var _apidomCore = require("@swagger-api/apidom-core");
7
+ var _Info = _interopRequireDefault(require("../../elements/Info.cjs"));
8
+ var _visitor = require("../../traversal/visitor.cjs");
9
+ /**
10
+ * Arazzo 1.0.1 specification elements.
11
+ */
12
+
13
+ /**
14
+ * This plugin is specific to YAML 1.2 format, which allows defining key-value pairs
15
+ * with empty key, empty value, or both. If the value is not provided in YAML format,
16
+ * this plugin compensates for this missing value with the most appropriate semantic element type.
17
+ *
18
+ * https://yaml.org/spec/1.2.2/#72-empty-nodes
19
+ *
20
+ * @example
21
+ *
22
+ * ```yaml
23
+ * arazzo: 1.0.1
24
+ * info:
25
+ * ```
26
+ * Refracting result without this plugin:
27
+ *
28
+ * (ArazzoSpecificationElement
29
+ * (MemberElement
30
+ * (StringElement)
31
+ * (ArazzoSpecElement))
32
+ * (MemberElement
33
+ * (StringElement)
34
+ * (StringElement))
35
+ *
36
+ * Refracting result with this plugin:
37
+ *
38
+ * (ArazzoSpecificationElement
39
+ * (MemberElement
40
+ * (StringElement)
41
+ * (ArazzoSpecElement))
42
+ * (MemberElement
43
+ * (StringElement)
44
+ * (InfoElement))
45
+ */
46
+
47
+ const isEmptyElement = element => (0, _apidomCore.isStringElement)(element) && (0, _apidomCore.includesClasses)(['yaml-e-node', 'yaml-e-scalar'], element);
48
+ const schema = {
49
+ // concrete types handling (CTs)
50
+ ArazzoSpecification1Element: {
51
+ info(...args) {
52
+ return new _Info.default(...args);
53
+ }
54
+ }
55
+ };
56
+ const findElementFactory = (ancestor, keyName) => {
57
+ const elementType = (0, _visitor.getNodeType)(ancestor); // @ts-ignore
58
+ const keyMapping = schema[elementType] || schema[(0, _apidomCore.toValue)(ancestor.classes.first)];
59
+ return typeof keyMapping === 'undefined' ? undefined : Object.prototype.hasOwnProperty.call(keyMapping, '[key: *]') ? keyMapping['[key: *]'] : keyMapping[keyName];
60
+ };
61
+
62
+ /**
63
+ * @public
64
+ */
65
+ const plugin = () => () => ({
66
+ visitor: {
67
+ StringElement(element, key, parent, path, ancestors) {
68
+ if (!isEmptyElement(element)) return undefined;
69
+ const lineage = [...ancestors, parent].filter(_apidomCore.isElement);
70
+ const parentElement = lineage[lineage.length - 1]; // @TODO(vladimir.gorej@gmail.com): can be replaced by Array.prototype.at in future
71
+ let elementFactory;
72
+ let context;
73
+ if ((0, _apidomCore.isArrayElement)(parentElement)) {
74
+ context = element;
75
+ elementFactory = findElementFactory(parentElement, '<*>');
76
+ } else if ((0, _apidomCore.isMemberElement)(parentElement)) {
77
+ context = lineage[lineage.length - 2]; // @TODO(vladimir.gorej@gmail.com): can be replaced by Array.prototype.at in future
78
+ elementFactory = findElementFactory(context, (0, _apidomCore.toValue)(parentElement.key));
79
+ }
80
+
81
+ // no element factory found
82
+ if (typeof elementFactory !== 'function') return undefined;
83
+ return elementFactory.call({
84
+ context
85
+ }, undefined, (0, _apidomCore.cloneDeep)(element.meta), (0, _apidomCore.cloneDeep)(element.attributes));
86
+ }
87
+ }
88
+ });
89
+ var _default = exports.default = plugin;
@@ -0,0 +1,83 @@
1
+ import { isStringElement, isArrayElement, isElement, isMemberElement, includesClasses, cloneDeep, toValue } from '@swagger-api/apidom-core';
2
+
3
+ /**
4
+ * Arazzo 1.0.1 specification elements.
5
+ */
6
+ import InfoElement from "../../elements/Info.mjs";
7
+ import { getNodeType } from "../../traversal/visitor.mjs";
8
+ /**
9
+ * This plugin is specific to YAML 1.2 format, which allows defining key-value pairs
10
+ * with empty key, empty value, or both. If the value is not provided in YAML format,
11
+ * this plugin compensates for this missing value with the most appropriate semantic element type.
12
+ *
13
+ * https://yaml.org/spec/1.2.2/#72-empty-nodes
14
+ *
15
+ * @example
16
+ *
17
+ * ```yaml
18
+ * arazzo: 1.0.1
19
+ * info:
20
+ * ```
21
+ * Refracting result without this plugin:
22
+ *
23
+ * (ArazzoSpecificationElement
24
+ * (MemberElement
25
+ * (StringElement)
26
+ * (ArazzoSpecElement))
27
+ * (MemberElement
28
+ * (StringElement)
29
+ * (StringElement))
30
+ *
31
+ * Refracting result with this plugin:
32
+ *
33
+ * (ArazzoSpecificationElement
34
+ * (MemberElement
35
+ * (StringElement)
36
+ * (ArazzoSpecElement))
37
+ * (MemberElement
38
+ * (StringElement)
39
+ * (InfoElement))
40
+ */
41
+ const isEmptyElement = element => isStringElement(element) && includesClasses(['yaml-e-node', 'yaml-e-scalar'], element);
42
+ const schema = {
43
+ // concrete types handling (CTs)
44
+ ArazzoSpecification1Element: {
45
+ info(...args) {
46
+ return new InfoElement(...args);
47
+ }
48
+ }
49
+ };
50
+ const findElementFactory = (ancestor, keyName) => {
51
+ const elementType = getNodeType(ancestor); // @ts-ignore
52
+ const keyMapping = schema[elementType] || schema[toValue(ancestor.classes.first)];
53
+ return typeof keyMapping === 'undefined' ? undefined : Object.prototype.hasOwnProperty.call(keyMapping, '[key: *]') ? keyMapping['[key: *]'] : keyMapping[keyName];
54
+ };
55
+
56
+ /**
57
+ * @public
58
+ */
59
+ const plugin = () => () => ({
60
+ visitor: {
61
+ StringElement(element, key, parent, path, ancestors) {
62
+ if (!isEmptyElement(element)) return undefined;
63
+ const lineage = [...ancestors, parent].filter(isElement);
64
+ const parentElement = lineage[lineage.length - 1]; // @TODO(vladimir.gorej@gmail.com): can be replaced by Array.prototype.at in future
65
+ let elementFactory;
66
+ let context;
67
+ if (isArrayElement(parentElement)) {
68
+ context = element;
69
+ elementFactory = findElementFactory(parentElement, '<*>');
70
+ } else if (isMemberElement(parentElement)) {
71
+ context = lineage[lineage.length - 2]; // @TODO(vladimir.gorej@gmail.com): can be replaced by Array.prototype.at in future
72
+ elementFactory = findElementFactory(context, toValue(parentElement.key));
73
+ }
74
+
75
+ // no element factory found
76
+ if (typeof elementFactory !== 'function') return undefined;
77
+ return elementFactory.call({
78
+ context
79
+ }, undefined, cloneDeep(element.meta), cloneDeep(element.attributes));
80
+ }
81
+ }
82
+ });
83
+ export default plugin;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.isReferenceLikeElement = exports.isArazzoSpecificationExtension = void 0;
5
+ var _ramda = require("ramda");
6
+ var _apidomCore = require("@swagger-api/apidom-core");
7
+ /**
8
+ * @public
9
+ */
10
+ const isArazzoSpecificationExtension = element => {
11
+ return (0, _apidomCore.isStringElement)(element.key) && (0, _ramda.startsWith)('x-', (0, _apidomCore.toValue)(element.key));
12
+ };
13
+ exports.isArazzoSpecificationExtension = isArazzoSpecificationExtension;
14
+ const isReferenceLikeElement = element => {
15
+ return (0, _apidomCore.isObjectElement)(element) && element.hasKey('$ref');
16
+ };
17
+ exports.isReferenceLikeElement = isReferenceLikeElement;
@@ -0,0 +1,11 @@
1
+ import { startsWith } from 'ramda';
2
+ import { isStringElement, toValue, isObjectElement } from '@swagger-api/apidom-core';
3
+ /**
4
+ * @public
5
+ */
6
+ export const isArazzoSpecificationExtension = element => {
7
+ return isStringElement(element.key) && startsWith('x-', toValue(element.key));
8
+ };
9
+ export const isReferenceLikeElement = element => {
10
+ return isObjectElement(element) && element.hasKey('$ref');
11
+ };
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
+ exports.__esModule = true;
5
+ var _apidomNsJsonSchema = require("@swagger-api/apidom-ns-json-schema-2020-12");
6
+ exports.JSONSchemaElement = _apidomNsJsonSchema.JSONSchemaElement;
7
+ var _ArazzoSpecification = _interopRequireDefault(require("../elements/ArazzoSpecification1.cjs"));
8
+ exports.ArazzoSpecification1Element = _ArazzoSpecification.default;
9
+ var _ArazzoSpec = _interopRequireDefault(require("../elements/ArazzoSpec.cjs"));
10
+ exports.ArazzoSpecElement = _ArazzoSpec.default;
11
+ var _Info = _interopRequireDefault(require("../elements/Info.cjs"));
12
+ exports.InfoElement = _Info.default;
13
+ var _SourceDescription = _interopRequireDefault(require("../elements/SourceDescription.cjs"));
14
+ exports.SourceDescriptionElement = _SourceDescription.default;
15
+ var _Workflow = _interopRequireDefault(require("../elements/Workflow.cjs"));
16
+ exports.WorkflowElement = _Workflow.default;
17
+ var _Step = _interopRequireDefault(require("../elements/Step.cjs"));
18
+ exports.StepElement = _Step.default;
19
+ var _Parameter = _interopRequireDefault(require("../elements/Parameter.cjs"));
20
+ exports.ParameterElement = _Parameter.default;
21
+ var _SuccessAction = _interopRequireDefault(require("../elements/SuccessAction.cjs"));
22
+ exports.SuccessActionElement = _SuccessAction.default;
23
+ var _FailureAction = _interopRequireDefault(require("../elements/FailureAction.cjs"));
24
+ exports.FailureActionElement = _FailureAction.default;
25
+ var _Components = _interopRequireDefault(require("../elements/Components.cjs"));
26
+ exports.ComponentsElement = _Components.default;
27
+ var _Criterion = _interopRequireDefault(require("../elements/Criterion.cjs"));
28
+ exports.CriterionElement = _Criterion.default;
29
+ var _Reference = _interopRequireDefault(require("../elements/Reference.cjs"));
30
+ exports.ReferenceElement = _Reference.default;
31
+ var _index = require("./index.cjs");
32
+ _Info.default.refract = (0, _index.createRefractor)(['visitors', 'document', 'objects', 'Info', '$visitor']);
33
+ _ArazzoSpec.default.refract = (0, _index.createRefractor)(['visitors', 'document', 'objects', 'ArazzoSpecification', 'fixedFields', 'arazzo']);
34
+ _ArazzoSpecification.default.refract = (0, _index.createRefractor)(['visitors', 'document', 'objects', 'ArazzoSpecification', '$visitor']);
35
+ _SourceDescription.default.refract = (0, _index.createRefractor)(['visitors', 'document', 'objects', 'SourceDescription', '$visitor']);
36
+ _Workflow.default.refract = (0, _index.createRefractor)(['visitors', 'document', 'objects', 'Workflow', '$visitor']);
37
+ _Step.default.refract = (0, _index.createRefractor)(['visitors', 'document', 'objects', 'Step', '$visitor']);
38
+ _Parameter.default.refract = (0, _index.createRefractor)(['visitors', 'document', 'objects', 'Parameter', '$visitor']);
39
+ _SuccessAction.default.refract = (0, _index.createRefractor)(['visitors', 'document', 'objects', 'SuccessAction', '$visitor']);
40
+ _FailureAction.default.refract = (0, _index.createRefractor)(['visitors', 'document', 'objects', 'FailureAction', '$visitor']);
41
+ _Components.default.refract = (0, _index.createRefractor)(['visitors', 'document', 'objects', 'Components', '$visitor']);
42
+ _Criterion.default.refract = (0, _index.createRefractor)(['visitors', 'document', 'objects', 'Criterion', '$visitor']);
43
+ _Reference.default.refract = (0, _index.createRefractor)(['visitors', 'document', 'objects', 'Reference', '$visitor']);
44
+ _apidomNsJsonSchema.JSONSchemaElement.refract = (0, _index.createRefractor)(['visitors', 'document', 'objects', 'JSONSchema', '$visitor']);