@speclynx/apidom-ns-arazzo-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 (193) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/NOTICE +16 -7
  3. package/README.md +25 -25
  4. package/dist/apidom-ns-arazzo-1.browser.js +17185 -15251
  5. package/dist/apidom-ns-arazzo-1.browser.min.js +1 -1
  6. package/package.json +9 -8
  7. package/src/elements/Arazzo.cjs +2 -2
  8. package/src/elements/Arazzo.mjs +1 -1
  9. package/src/elements/ArazzoSpecification1.cjs +2 -2
  10. package/src/elements/ArazzoSpecification1.mjs +1 -1
  11. package/src/elements/Components.cjs +2 -2
  12. package/src/elements/Components.mjs +1 -1
  13. package/src/elements/Criterion.cjs +2 -2
  14. package/src/elements/Criterion.mjs +1 -1
  15. package/src/elements/CriterionExpressionType.cjs +2 -2
  16. package/src/elements/CriterionExpressionType.mjs +1 -1
  17. package/src/elements/FailureAction.cjs +2 -2
  18. package/src/elements/FailureAction.mjs +1 -1
  19. package/src/elements/Info.cjs +2 -2
  20. package/src/elements/Info.mjs +1 -1
  21. package/src/elements/Parameter.cjs +2 -2
  22. package/src/elements/Parameter.mjs +1 -1
  23. package/src/elements/PayloadReplacement.cjs +2 -2
  24. package/src/elements/PayloadReplacement.mjs +1 -1
  25. package/src/elements/RequestBody.cjs +2 -2
  26. package/src/elements/RequestBody.mjs +1 -1
  27. package/src/elements/Reusable.cjs +2 -2
  28. package/src/elements/Reusable.mjs +1 -1
  29. package/src/elements/SourceDescription.cjs +2 -2
  30. package/src/elements/SourceDescription.mjs +1 -1
  31. package/src/elements/Step.cjs +2 -2
  32. package/src/elements/Step.mjs +1 -1
  33. package/src/elements/SuccessAction.cjs +2 -2
  34. package/src/elements/SuccessAction.mjs +1 -1
  35. package/src/elements/Workflow.cjs +2 -2
  36. package/src/elements/Workflow.mjs +1 -1
  37. package/src/elements/nces/ComponentsFailureActions.cjs +2 -2
  38. package/src/elements/nces/ComponentsFailureActions.mjs +1 -1
  39. package/src/elements/nces/ComponentsInputs.cjs +2 -2
  40. package/src/elements/nces/ComponentsInputs.mjs +1 -1
  41. package/src/elements/nces/ComponentsParameters.cjs +2 -2
  42. package/src/elements/nces/ComponentsParameters.mjs +1 -1
  43. package/src/elements/nces/ComponentsSuccessActions.cjs +2 -2
  44. package/src/elements/nces/ComponentsSuccessActions.mjs +1 -1
  45. package/src/elements/nces/FailureActionCriteria.cjs +2 -2
  46. package/src/elements/nces/FailureActionCriteria.mjs +1 -1
  47. package/src/elements/nces/RequestBodyReplacements.cjs +2 -2
  48. package/src/elements/nces/RequestBodyReplacements.mjs +1 -1
  49. package/src/elements/nces/SourceDescriptions.cjs +2 -2
  50. package/src/elements/nces/SourceDescriptions.mjs +1 -1
  51. package/src/elements/nces/StepDependsOn.cjs +2 -2
  52. package/src/elements/nces/StepDependsOn.mjs +1 -1
  53. package/src/elements/nces/StepOnFailure.cjs +2 -2
  54. package/src/elements/nces/StepOnFailure.mjs +1 -1
  55. package/src/elements/nces/StepOnSuccess.cjs +2 -2
  56. package/src/elements/nces/StepOnSuccess.mjs +1 -1
  57. package/src/elements/nces/StepOutputs.cjs +2 -2
  58. package/src/elements/nces/StepOutputs.mjs +1 -1
  59. package/src/elements/nces/StepParameters.cjs +2 -2
  60. package/src/elements/nces/StepParameters.mjs +1 -1
  61. package/src/elements/nces/StepSuccessCriteria.cjs +2 -2
  62. package/src/elements/nces/StepSuccessCriteria.mjs +1 -1
  63. package/src/elements/nces/SuccessActionCriteria.cjs +2 -2
  64. package/src/elements/nces/SuccessActionCriteria.mjs +1 -1
  65. package/src/elements/nces/WorkflowDependsOn.cjs +2 -2
  66. package/src/elements/nces/WorkflowDependsOn.mjs +1 -1
  67. package/src/elements/nces/WorkflowFailureActions.cjs +2 -2
  68. package/src/elements/nces/WorkflowFailureActions.mjs +1 -1
  69. package/src/elements/nces/WorkflowOutputs.cjs +2 -2
  70. package/src/elements/nces/WorkflowOutputs.mjs +1 -1
  71. package/src/elements/nces/WorkflowParameters.cjs +2 -2
  72. package/src/elements/nces/WorkflowParameters.mjs +1 -1
  73. package/src/elements/nces/WorkflowSteps.cjs +2 -2
  74. package/src/elements/nces/WorkflowSteps.mjs +1 -1
  75. package/src/elements/nces/WorkflowSuccessActions.cjs +2 -2
  76. package/src/elements/nces/WorkflowSuccessActions.mjs +1 -1
  77. package/src/elements/nces/Workflows.cjs +2 -2
  78. package/src/elements/nces/Workflows.mjs +1 -1
  79. package/src/index.cjs +39 -34
  80. package/src/index.mjs +5 -5
  81. package/src/predicates.cjs +72 -277
  82. package/src/predicates.mjs +36 -277
  83. package/src/refractor/index.cjs +163 -17
  84. package/src/refractor/index.mjs +145 -16
  85. package/src/refractor/inspect.cjs +118 -0
  86. package/src/refractor/inspect.mjs +98 -0
  87. package/src/refractor/plugins/replace-empty-element.cjs +19 -18
  88. package/src/refractor/plugins/replace-empty-element.mjs +18 -17
  89. package/src/refractor/predicates.cjs +3 -2
  90. package/src/refractor/predicates.mjs +2 -1
  91. package/src/refractor/specification.cjs +19 -1
  92. package/src/refractor/specification.mjs +19 -1
  93. package/src/refractor/toolbox.cjs +4 -7
  94. package/src/refractor/toolbox.mjs +4 -6
  95. package/src/refractor/visitors/FallbackVisitor.cjs +4 -4
  96. package/src/refractor/visitors/FallbackVisitor.mjs +4 -4
  97. package/src/refractor/visitors/SpecificationExtensionVisitor.cjs +5 -4
  98. package/src/refractor/visitors/SpecificationExtensionVisitor.mjs +4 -3
  99. package/src/refractor/visitors/SpecificationVisitor.cjs +4 -3
  100. package/src/refractor/visitors/SpecificationVisitor.mjs +3 -2
  101. package/src/refractor/visitors/Visitor.cjs +10 -8
  102. package/src/refractor/visitors/Visitor.mjs +11 -9
  103. package/src/refractor/visitors/arazzo-1/ArazzoVisitor.cjs +5 -6
  104. package/src/refractor/visitors/arazzo-1/ArazzoVisitor.mjs +6 -7
  105. package/src/refractor/visitors/arazzo-1/SourceDescriptionsVisitor.cjs +5 -7
  106. package/src/refractor/visitors/arazzo-1/SourceDescriptionsVisitor.mjs +5 -7
  107. package/src/refractor/visitors/arazzo-1/WorkflowsVisitor.cjs +5 -7
  108. package/src/refractor/visitors/arazzo-1/WorkflowsVisitor.mjs +5 -7
  109. package/src/refractor/visitors/arazzo-1/bases.cjs +39 -0
  110. package/src/refractor/visitors/arazzo-1/bases.mjs +34 -0
  111. package/src/refractor/visitors/arazzo-1/components/FailureActionsVisitor.cjs +2 -4
  112. package/src/refractor/visitors/arazzo-1/components/FailureActionsVisitor.mjs +2 -4
  113. package/src/refractor/visitors/arazzo-1/components/InputsVisitor.cjs +2 -4
  114. package/src/refractor/visitors/arazzo-1/components/InputsVisitor.mjs +2 -4
  115. package/src/refractor/visitors/arazzo-1/components/ParametersVisitor.cjs +2 -4
  116. package/src/refractor/visitors/arazzo-1/components/ParametersVisitor.mjs +2 -4
  117. package/src/refractor/visitors/arazzo-1/components/SuccessActionsVisitor.cjs +2 -4
  118. package/src/refractor/visitors/arazzo-1/components/SuccessActionsVisitor.mjs +2 -4
  119. package/src/refractor/visitors/arazzo-1/components/index.cjs +2 -4
  120. package/src/refractor/visitors/arazzo-1/components/index.mjs +2 -4
  121. package/src/refractor/visitors/arazzo-1/criterion/TypeVisitor.cjs +4 -6
  122. package/src/refractor/visitors/arazzo-1/criterion/TypeVisitor.mjs +4 -5
  123. package/src/refractor/visitors/arazzo-1/criterion/index.cjs +2 -4
  124. package/src/refractor/visitors/arazzo-1/criterion/index.mjs +2 -4
  125. package/src/refractor/visitors/arazzo-1/criterion-expression-type/VersionVisitor.cjs +2 -3
  126. package/src/refractor/visitors/arazzo-1/criterion-expression-type/VersionVisitor.mjs +2 -3
  127. package/src/refractor/visitors/arazzo-1/criterion-expression-type/index.cjs +2 -4
  128. package/src/refractor/visitors/arazzo-1/criterion-expression-type/index.mjs +2 -4
  129. package/src/refractor/visitors/arazzo-1/failure-action/CriteriaVisitor.cjs +5 -7
  130. package/src/refractor/visitors/arazzo-1/failure-action/CriteriaVisitor.mjs +5 -7
  131. package/src/refractor/visitors/arazzo-1/failure-action/index.cjs +2 -4
  132. package/src/refractor/visitors/arazzo-1/failure-action/index.mjs +2 -4
  133. package/src/refractor/visitors/arazzo-1/index.cjs +4 -5
  134. package/src/refractor/visitors/arazzo-1/index.mjs +4 -5
  135. package/src/refractor/visitors/arazzo-1/info/VersionVisitor.cjs +2 -3
  136. package/src/refractor/visitors/arazzo-1/info/VersionVisitor.mjs +2 -3
  137. package/src/refractor/visitors/arazzo-1/info/index.cjs +2 -4
  138. package/src/refractor/visitors/arazzo-1/info/index.mjs +2 -4
  139. package/src/refractor/visitors/arazzo-1/parameter/index.cjs +2 -4
  140. package/src/refractor/visitors/arazzo-1/parameter/index.mjs +2 -4
  141. package/src/refractor/visitors/arazzo-1/payload-replacement/index.cjs +2 -4
  142. package/src/refractor/visitors/arazzo-1/payload-replacement/index.mjs +2 -4
  143. package/src/refractor/visitors/arazzo-1/request-body/Replacements.cjs +5 -7
  144. package/src/refractor/visitors/arazzo-1/request-body/Replacements.mjs +5 -7
  145. package/src/refractor/visitors/arazzo-1/request-body/index.cjs +2 -4
  146. package/src/refractor/visitors/arazzo-1/request-body/index.mjs +2 -4
  147. package/src/refractor/visitors/arazzo-1/reusable/ReferenceVisitor.cjs +2 -3
  148. package/src/refractor/visitors/arazzo-1/reusable/ReferenceVisitor.mjs +2 -3
  149. package/src/refractor/visitors/arazzo-1/reusable/index.cjs +6 -7
  150. package/src/refractor/visitors/arazzo-1/reusable/index.mjs +5 -6
  151. package/src/refractor/visitors/arazzo-1/source-description/UrlVisitor.cjs +2 -3
  152. package/src/refractor/visitors/arazzo-1/source-description/UrlVisitor.mjs +2 -3
  153. package/src/refractor/visitors/arazzo-1/source-description/index.cjs +2 -4
  154. package/src/refractor/visitors/arazzo-1/source-description/index.mjs +2 -4
  155. package/src/refractor/visitors/arazzo-1/step/OnFailureVisitor.cjs +6 -8
  156. package/src/refractor/visitors/arazzo-1/step/OnFailureVisitor.mjs +6 -8
  157. package/src/refractor/visitors/arazzo-1/step/OnSuccessVisitor.cjs +6 -8
  158. package/src/refractor/visitors/arazzo-1/step/OnSuccessVisitor.mjs +6 -8
  159. package/src/refractor/visitors/arazzo-1/step/OutputsVisitor.cjs +2 -4
  160. package/src/refractor/visitors/arazzo-1/step/OutputsVisitor.mjs +2 -4
  161. package/src/refractor/visitors/arazzo-1/step/ParametersVisitor.cjs +6 -8
  162. package/src/refractor/visitors/arazzo-1/step/ParametersVisitor.mjs +6 -8
  163. package/src/refractor/visitors/arazzo-1/step/SuccessCriteriaVisitor.cjs +5 -7
  164. package/src/refractor/visitors/arazzo-1/step/SuccessCriteriaVisitor.mjs +5 -7
  165. package/src/refractor/visitors/arazzo-1/step/index.cjs +2 -4
  166. package/src/refractor/visitors/arazzo-1/step/index.mjs +2 -4
  167. package/src/refractor/visitors/arazzo-1/success-action/CriteriaVisitor.cjs +5 -7
  168. package/src/refractor/visitors/arazzo-1/success-action/CriteriaVisitor.mjs +5 -7
  169. package/src/refractor/visitors/arazzo-1/success-action/index.cjs +2 -4
  170. package/src/refractor/visitors/arazzo-1/success-action/index.mjs +2 -4
  171. package/src/refractor/visitors/arazzo-1/workflow/DependsOnVisitor.cjs +5 -7
  172. package/src/refractor/visitors/arazzo-1/workflow/DependsOnVisitor.mjs +5 -7
  173. package/src/refractor/visitors/arazzo-1/workflow/FailureActionsVisitor.cjs +6 -8
  174. package/src/refractor/visitors/arazzo-1/workflow/FailureActionsVisitor.mjs +6 -8
  175. package/src/refractor/visitors/arazzo-1/workflow/OutputsVisitor.cjs +2 -4
  176. package/src/refractor/visitors/arazzo-1/workflow/OutputsVisitor.mjs +2 -4
  177. package/src/refractor/visitors/arazzo-1/workflow/ParametersVisitor.cjs +6 -8
  178. package/src/refractor/visitors/arazzo-1/workflow/ParametersVisitor.mjs +6 -8
  179. package/src/refractor/visitors/arazzo-1/workflow/StepsVisitor.cjs +5 -7
  180. package/src/refractor/visitors/arazzo-1/workflow/StepsVisitor.mjs +5 -7
  181. package/src/refractor/visitors/arazzo-1/workflow/SuccessActionsVisitor.cjs +6 -8
  182. package/src/refractor/visitors/arazzo-1/workflow/SuccessActionsVisitor.mjs +6 -8
  183. package/src/refractor/visitors/arazzo-1/workflow/index.cjs +2 -4
  184. package/src/refractor/visitors/arazzo-1/workflow/index.mjs +2 -4
  185. package/src/refractor/visitors/generics/FixedFieldsVisitor.cjs +9 -7
  186. package/src/refractor/visitors/generics/FixedFieldsVisitor.mjs +8 -6
  187. package/src/refractor/visitors/generics/PatternedFieldsVisitor.cjs +8 -6
  188. package/src/refractor/visitors/generics/PatternedFieldsVisitor.mjs +8 -6
  189. package/types/apidom-ns-arazzo-1.d.ts +325 -300
  190. package/src/refractor/registration.cjs +0 -53
  191. package/src/refractor/registration.mjs +0 -34
  192. package/src/traversal/visitor.cjs +0 -38
  193. package/src/traversal/visitor.mjs +0 -35
@@ -1,4 +1,3 @@
1
- import { createPredicate } from '@speclynx/apidom-core';
2
1
  import { isJSONSchemaElement } from '@speclynx/apidom-ns-json-schema-2020-12';
3
2
 
4
3
  // Arazzo 1.0.1 elements
@@ -43,419 +42,179 @@ export { isJSONSchemaElement };
43
42
  /**
44
43
  * @public
45
44
  */
46
- export const isArazzoElement = createPredicate(({
47
- hasBasicElementProps,
48
- isElementType,
49
- primitiveEq
50
- }) => {
51
- return element => element instanceof ArazzoElement || hasBasicElementProps(element) && isElementType('arazzo', element) && primitiveEq('string', element);
52
- });
45
+ export const isArazzoElement = element => element instanceof ArazzoElement;
53
46
 
54
47
  /**
55
48
  * @public
56
49
  */
57
- export const isArazzoSpecification1Element = createPredicate(({
58
- hasBasicElementProps,
59
- isElementType,
60
- primitiveEq,
61
- hasClass
62
- }) => {
63
- return element => element instanceof ArazzoSpecification1Element || hasBasicElementProps(element) && isElementType('arazzoSpecification1', element) && primitiveEq('object', element) && hasClass('api', element) && hasClass('arazzo', element);
64
- });
50
+ export const isArazzoSpecification1Element = element => element instanceof ArazzoSpecification1Element;
65
51
 
66
52
  /**
67
53
  * @public
68
54
  */
69
- export const isComponentsElement = createPredicate(({
70
- hasBasicElementProps,
71
- isElementType,
72
- primitiveEq
73
- }) => {
74
- return element => element instanceof ComponentsElement || hasBasicElementProps(element) && isElementType('components', element) && primitiveEq('object', element);
75
- });
55
+ export const isComponentsElement = element => element instanceof ComponentsElement;
76
56
 
77
57
  /**
78
58
  * @public
79
59
  */
80
- export const isCriterionElement = createPredicate(({
81
- hasBasicElementProps,
82
- isElementType,
83
- primitiveEq
84
- }) => {
85
- return element => element instanceof CriterionElement || hasBasicElementProps(element) && isElementType('criterion', element) && primitiveEq('object', element);
86
- });
60
+ export const isCriterionElement = element => element instanceof CriterionElement;
87
61
 
88
62
  /**
89
63
  * @public
90
64
  */
91
- export const isCriterionExpressionTypeElement = createPredicate(({
92
- hasBasicElementProps,
93
- isElementType,
94
- primitiveEq
95
- }) => {
96
- return element => element instanceof CriterionExpressionTypeElement || hasBasicElementProps(element) && isElementType('criterionExpressionType', element) && primitiveEq('object', element);
97
- });
65
+ export const isCriterionExpressionTypeElement = element => element instanceof CriterionExpressionTypeElement;
98
66
 
99
67
  /**
100
68
  * @public
101
69
  */
102
- export const isFailureActionElement = createPredicate(({
103
- hasBasicElementProps,
104
- isElementType,
105
- primitiveEq
106
- }) => {
107
- return element => element instanceof FailureActionElement || hasBasicElementProps(element) && isElementType('failureAction', element) && primitiveEq('object', element);
108
- });
70
+ export const isFailureActionElement = element => element instanceof FailureActionElement;
109
71
 
110
72
  /**
111
73
  * @public
112
74
  */
113
- export const isInfoElement = createPredicate(({
114
- hasBasicElementProps,
115
- isElementType,
116
- primitiveEq,
117
- hasClass
118
- }) => {
119
- return element => element instanceof InfoElement || hasBasicElementProps(element) && isElementType('info', element) && primitiveEq('object', element) && hasClass('info', element);
120
- });
75
+ export const isInfoElement = element => element instanceof InfoElement;
121
76
 
122
77
  /**
123
78
  * @public
124
79
  */
125
- export const isParameterElement = createPredicate(({
126
- hasBasicElementProps,
127
- isElementType,
128
- primitiveEq
129
- }) => {
130
- return element => element instanceof ParameterElement || hasBasicElementProps(element) && isElementType('parameter', element) && primitiveEq('object', element);
131
- });
80
+ export const isParameterElement = element => element instanceof ParameterElement;
132
81
 
133
82
  /**
134
83
  * @public
135
84
  */
136
- export const isPayloadReplacementElement = createPredicate(({
137
- hasBasicElementProps,
138
- isElementType,
139
- primitiveEq
140
- }) => {
141
- return element => element instanceof PayloadReplacementElement || hasBasicElementProps(element) && isElementType('payloadReplacement', element) && primitiveEq('object', element);
142
- });
85
+ export const isPayloadReplacementElement = element => element instanceof PayloadReplacementElement;
143
86
 
144
87
  /**
145
88
  * @public
146
89
  */
147
- export const isRequestBodyElement = createPredicate(({
148
- hasBasicElementProps,
149
- isElementType,
150
- primitiveEq
151
- }) => {
152
- return element => element instanceof RequestBodyElement || hasBasicElementProps(element) && isElementType('requestBody', element) && primitiveEq('object', element);
153
- });
90
+ export const isRequestBodyElement = element => element instanceof RequestBodyElement;
154
91
 
155
92
  /**
156
93
  * @public
157
94
  */
158
- export const isReusableElement = createPredicate(({
159
- hasBasicElementProps,
160
- isElementType,
161
- primitiveEq,
162
- hasClass
163
- }) => {
164
- return element => element instanceof ReusableElement || hasBasicElementProps(element) && isElementType('reusable', element) && primitiveEq('object', element) && hasClass('arazzo-reference', element);
165
- });
95
+ export const isReusableElement = element => element instanceof ReusableElement;
166
96
 
167
97
  /**
168
98
  * @public
169
99
  */
170
- export const isSourceDescriptionElement = createPredicate(({
171
- hasBasicElementProps,
172
- isElementType,
173
- primitiveEq
174
- }) => {
175
- return element => element instanceof SourceDescriptionElement || hasBasicElementProps(element) && isElementType('sourceDescription', element) && primitiveEq('object', element);
176
- });
100
+ export const isSourceDescriptionElement = element => element instanceof SourceDescriptionElement;
177
101
 
178
102
  /**
179
103
  * @public
180
104
  */
181
- export const isStepElement = createPredicate(({
182
- hasBasicElementProps,
183
- isElementType,
184
- primitiveEq
185
- }) => {
186
- return element => element instanceof StepElement || hasBasicElementProps(element) && isElementType('step', element) && primitiveEq('object', element);
187
- });
105
+ export const isStepElement = element => element instanceof StepElement;
188
106
 
189
107
  /**
190
108
  * @public
191
109
  */
192
- export const isSuccessActionElement = createPredicate(({
193
- hasBasicElementProps,
194
- isElementType,
195
- primitiveEq
196
- }) => {
197
- return element => element instanceof SuccessActionElement || hasBasicElementProps(element) && isElementType('successAction', element) && primitiveEq('object', element);
198
- });
110
+ export const isSuccessActionElement = element => element instanceof SuccessActionElement;
199
111
 
200
112
  /**
201
113
  * @public
202
114
  */
203
- export const isWorkflowElement = createPredicate(({
204
- hasBasicElementProps,
205
- isElementType,
206
- primitiveEq
207
- }) => {
208
- return element => element instanceof WorkflowElement || hasBasicElementProps(element) && isElementType('workflow', element) && primitiveEq('object', element);
209
- });
115
+ export const isWorkflowElement = element => element instanceof WorkflowElement;
210
116
 
211
117
  /**
212
118
  * @public
213
119
  */
214
- export const isComponentsFailureActionsElement = createPredicate(({
215
- hasBasicElementProps,
216
- isElementType,
217
- primitiveEq,
218
- hasClass
219
- }) => {
220
- return element => element instanceof ComponentsFailureActionsElement || hasBasicElementProps(element) && isElementType('object', element) && primitiveEq('object', element) && hasClass('components-failure-actions', element);
221
- });
120
+ export const isComponentsFailureActionsElement = element => element instanceof ComponentsFailureActionsElement;
222
121
 
223
122
  /**
224
123
  * @public
225
124
  */
226
- export const isComponentsInputsElement = createPredicate(({
227
- hasBasicElementProps,
228
- isElementType,
229
- primitiveEq,
230
- hasClass
231
- }) => {
232
- return element => element instanceof ComponentsInputsElement || hasBasicElementProps(element) && isElementType('object', element) && primitiveEq('object', element) && hasClass('components-inputs', element);
233
- });
125
+ export const isComponentsInputsElement = element => element instanceof ComponentsInputsElement;
234
126
 
235
127
  /**
236
128
  * @public
237
129
  */
238
- export const isComponentsParametersElement = createPredicate(({
239
- hasBasicElementProps,
240
- isElementType,
241
- primitiveEq,
242
- hasClass
243
- }) => {
244
- return element => element instanceof ComponentsParametersElement || hasBasicElementProps(element) && isElementType('object', element) && primitiveEq('object', element) && hasClass('components-parameters', element) && hasClass('parameters', element);
245
- });
130
+ export const isComponentsParametersElement = element => element instanceof ComponentsParametersElement;
246
131
 
247
132
  /**
248
133
  * @public
249
134
  */
250
- export const isComponentsSuccessActionsElement = createPredicate(({
251
- hasBasicElementProps,
252
- isElementType,
253
- primitiveEq,
254
- hasClass
255
- }) => {
256
- return element => element instanceof ComponentsSuccessActionsElement || hasBasicElementProps(element) && isElementType('object', element) && primitiveEq('object', element) && hasClass('components-success-actions', element);
257
- });
135
+ export const isComponentsSuccessActionsElement = element => element instanceof ComponentsSuccessActionsElement;
258
136
 
259
137
  /**
260
138
  * @public
261
139
  */
262
- export const isFailureActionCriteriaElement = createPredicate(({
263
- hasBasicElementProps,
264
- isElementType,
265
- primitiveEq,
266
- hasClass
267
- }) => {
268
- return element => element instanceof FailureActionCriteriaElement || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('failure-action-criteria', element) && hasClass('criteria', element);
269
- });
140
+ export const isFailureActionCriteriaElement = element => element instanceof FailureActionCriteriaElement;
270
141
 
271
142
  /**
272
143
  * @public
273
144
  */
274
- export const isRequestBodyReplacementsElement = createPredicate(({
275
- hasBasicElementProps,
276
- isElementType,
277
- primitiveEq,
278
- hasClass
279
- }) => {
280
- return element => element instanceof RequestBodyReplacementsElement || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('request-body-replacements', element);
281
- });
145
+ export const isRequestBodyReplacementsElement = element => element instanceof RequestBodyReplacementsElement;
282
146
 
283
147
  /**
284
148
  * @public
285
149
  */
286
- export const isSourceDescriptionsElement = createPredicate(({
287
- hasBasicElementProps,
288
- isElementType,
289
- primitiveEq,
290
- hasClass
291
- }) => {
292
- return element => element instanceof SourceDescriptionsElement || hasBasicElementProps(element) && isElementType('sourceDescriptions', element) && primitiveEq('array', element) && hasClass('sourceDescriptions', element);
293
- });
150
+ export const isSourceDescriptionsElement = element => element instanceof SourceDescriptionsElement;
294
151
 
295
152
  /**
296
153
  * @public
297
154
  */
298
- export const isStepDependsOnElement = createPredicate(({
299
- hasBasicElementProps,
300
- isElementType,
301
- primitiveEq,
302
- hasClass
303
- }) => {
304
- return element => element instanceof StepDependsOnElement || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('step-depends-on', element);
305
- });
155
+ export const isStepDependsOnElement = element => element instanceof StepDependsOnElement;
306
156
 
307
157
  /**
308
158
  * @public
309
159
  */
310
- export const isStepOnFailureElement = createPredicate(({
311
- hasBasicElementProps,
312
- isElementType,
313
- primitiveEq,
314
- hasClass
315
- }) => {
316
- return element => element instanceof StepOnFailureElement || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('step-on-failure', element);
317
- });
160
+ export const isStepOnFailureElement = element => element instanceof StepOnFailureElement;
318
161
 
319
162
  /**
320
163
  * @public
321
164
  */
322
- export const isStepOnSuccessElement = createPredicate(({
323
- hasBasicElementProps,
324
- isElementType,
325
- primitiveEq,
326
- hasClass
327
- }) => {
328
- return element => element instanceof StepOnSuccessElement || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('step-on-success', element);
329
- });
165
+ export const isStepOnSuccessElement = element => element instanceof StepOnSuccessElement;
330
166
 
331
167
  /**
332
168
  * @public
333
169
  */
334
- export const isStepOutputsElement = createPredicate(({
335
- hasBasicElementProps,
336
- isElementType,
337
- primitiveEq,
338
- hasClass
339
- }) => {
340
- return element => element instanceof StepOutputsElement || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('step-outputs', element);
341
- });
170
+ export const isStepOutputsElement = element => element instanceof StepOutputsElement;
342
171
 
343
172
  /**
344
173
  * @public
345
174
  */
346
- export const isStepParametersElement = createPredicate(({
347
- hasBasicElementProps,
348
- isElementType,
349
- primitiveEq,
350
- hasClass
351
- }) => {
352
- return element => element instanceof StepParametersElement || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('step-parameters', element);
353
- });
175
+ export const isStepParametersElement = element => element instanceof StepParametersElement;
354
176
 
355
177
  /**
356
178
  * @public
357
179
  */
358
- export const isStepSuccessCriteriaElement = createPredicate(({
359
- hasBasicElementProps,
360
- isElementType,
361
- primitiveEq,
362
- hasClass
363
- }) => {
364
- return element => element instanceof StepSuccessCriteriaElement || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('step-success-criteria', element) && hasClass('criteria', element);
365
- });
180
+ export const isStepSuccessCriteriaElement = element => element instanceof StepSuccessCriteriaElement;
366
181
 
367
182
  /**
368
183
  * @public
369
184
  */
370
- export const isSuccessActionCriteriaElement = createPredicate(({
371
- hasBasicElementProps,
372
- isElementType,
373
- primitiveEq,
374
- hasClass
375
- }) => {
376
- return element => element instanceof SuccessActionCriteriaElement || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('success-action-criteria', element) && hasClass('criteria', element);
377
- });
185
+ export const isSuccessActionCriteriaElement = element => element instanceof SuccessActionCriteriaElement;
378
186
 
379
187
  /**
380
188
  * @public
381
189
  */
382
- export const isWorkflowDependsOnElement = createPredicate(({
383
- hasBasicElementProps,
384
- isElementType,
385
- primitiveEq,
386
- hasClass
387
- }) => {
388
- return element => element instanceof WorkflowDependsOnElement || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('workflow-depends-on', element);
389
- });
190
+ export const isWorkflowDependsOnElement = element => element instanceof WorkflowDependsOnElement;
390
191
 
391
192
  /**
392
193
  * @public
393
194
  */
394
- export const isWorkflowFailureActionsElement = createPredicate(({
395
- hasBasicElementProps,
396
- isElementType,
397
- primitiveEq,
398
- hasClass
399
- }) => {
400
- return element => element instanceof WorkflowFailureActionsElement || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('workflow-failure-actions', element);
401
- });
195
+ export const isWorkflowFailureActionsElement = element => element instanceof WorkflowFailureActionsElement;
402
196
 
403
197
  /**
404
198
  * @public
405
199
  */
406
- export const isWorkflowOutputsElement = createPredicate(({
407
- hasBasicElementProps,
408
- isElementType,
409
- primitiveEq,
410
- hasClass
411
- }) => {
412
- return element => element instanceof WorkflowOutputsElement || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('workflow-outputs', element);
413
- });
200
+ export const isWorkflowOutputsElement = element => element instanceof WorkflowOutputsElement;
414
201
 
415
202
  /**
416
203
  * @public
417
204
  */
418
- export const isWorkflowParametersElement = createPredicate(({
419
- hasBasicElementProps,
420
- isElementType,
421
- primitiveEq,
422
- hasClass
423
- }) => {
424
- return element => element instanceof WorkflowParametersElement || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('workflow-parameters', element) && hasClass('parameters', element);
425
- });
205
+ export const isWorkflowParametersElement = element => element instanceof WorkflowParametersElement;
426
206
 
427
207
  /**
428
208
  * @public
429
209
  */
430
- export const isWorkflowsElement = createPredicate(({
431
- hasBasicElementProps,
432
- isElementType,
433
- primitiveEq,
434
- hasClass
435
- }) => {
436
- return element => element instanceof WorkflowsElement || hasBasicElementProps(element) && isElementType('workflows', element) && primitiveEq('array', element) && hasClass('workflows', element);
437
- });
210
+ export const isWorkflowsElement = element => element instanceof WorkflowsElement;
438
211
 
439
212
  /**
440
213
  * @public
441
214
  */
442
- export const isWorkflowStepsElement = createPredicate(({
443
- hasBasicElementProps,
444
- isElementType,
445
- primitiveEq,
446
- hasClass
447
- }) => {
448
- return element => element instanceof WorkflowStepsElement || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('workflow-steps', element);
449
- });
215
+ export const isWorkflowStepsElement = element => element instanceof WorkflowStepsElement;
450
216
 
451
217
  /**
452
218
  * @public
453
219
  */
454
- export const isWorkflowSuccessActionsElement = createPredicate(({
455
- hasBasicElementProps,
456
- isElementType,
457
- primitiveEq,
458
- hasClass
459
- }) => {
460
- return element => element instanceof WorkflowSuccessActionsElement || hasBasicElementProps(element) && isElementType('array', element) && primitiveEq('array', element) && hasClass('workflow-success-actions', element);
461
- });
220
+ export const isWorkflowSuccessActionsElement = element => element instanceof WorkflowSuccessActionsElement;
@@ -2,51 +2,197 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
4
  exports.__esModule = true;
5
- exports.default = exports.createRefractor = void 0;
5
+ exports.refractWorkflow = exports.refractSuccessAction = exports.refractStep = exports.refractSourceDescription = exports.refractReusable = exports.refractRequestBody = exports.refractPayloadReplacement = exports.refractParameter = exports.refractJSONSchema = exports.refractInfo = exports.refractFailureAction = exports.refractCriterionExpressionType = exports.refractCriterion = exports.refractComponents = exports.refractArazzoSpecification1 = exports.refractArazzo = exports.default = void 0;
6
6
  var _apidomCore = require("@speclynx/apidom-core");
7
+ var _apidomTraverse = require("@speclynx/apidom-traverse");
8
+ var _apidomDatamodel = require("@speclynx/apidom-datamodel");
7
9
  var _ramda = require("ramda");
8
10
  var _specification = _interopRequireDefault(require("./specification.cjs"));
9
- var _visitor = require("../traversal/visitor.cjs");
10
11
  var _toolbox = _interopRequireDefault(require("./toolbox.cjs"));
12
+ /**
13
+ * @public
14
+ */
15
+
16
+ /**
17
+ * @public
18
+ */
19
+
11
20
  /**
12
21
  * @public
13
22
  */
14
23
  const refract = (value, {
15
- specPath = ['visitors', 'document', 'objects', 'ArazzoSpecification', '$visitor'],
16
- plugins = []
24
+ element = 'arazzoSpecification1',
25
+ plugins = [],
26
+ specificationObj = _specification.default
17
27
  } = {}) => {
18
- const element = (0, _apidomCore.refract)(value);
19
- const resolvedSpec = (0, _apidomCore.dereference)(_specification.default);
28
+ const genericElement = (0, _apidomDatamodel.refract)(value);
29
+ const resolvedSpec = (0, _apidomCore.resolveSpecification)(specificationObj);
30
+ const elementMap = resolvedSpec.elementMap;
31
+ const specPath = elementMap[element];
32
+ if (!specPath) {
33
+ throw new Error(`Unknown element type: "${element}"`);
34
+ }
20
35
 
21
36
  /**
22
37
  * This is where generic ApiDOM becomes semantic (namespace applied).
23
38
  * We don't allow consumers to hook into this translation.
24
- * Though we allow consumers to define their onw plugins on already transformed ApiDOM.
39
+ * Though we allow consumers to define their own plugins on already transformed ApiDOM.
25
40
  */
26
41
  const RootVisitorClass = (0, _ramda.path)(specPath, resolvedSpec);
27
42
  const rootVisitor = new RootVisitorClass({
28
43
  specObj: resolvedSpec
29
44
  });
30
- (0, _apidomCore.visit)(element, rootVisitor);
45
+ (0, _apidomTraverse.traverse)(genericElement, rootVisitor);
31
46
 
32
47
  /**
33
48
  * Running plugins visitors means extra single traversal === performance hit.
34
49
  */
35
50
  return (0, _apidomCore.dispatchRefractorPlugins)(rootVisitor.element, plugins, {
36
- toolboxCreator: _toolbox.default,
37
- visitorOptions: {
38
- keyMap: _visitor.keyMap,
39
- nodeTypeGetter: _visitor.getNodeType
40
- }
51
+ toolboxCreator: _toolbox.default
41
52
  });
42
53
  };
43
54
 
44
55
  /**
45
56
  * @public
46
57
  */
47
- const createRefractor = specPath => (value, options = {}) => refract(value, {
48
- specPath,
49
- ...options
58
+ const refractArazzo = (value, options = {}) => refract(value, {
59
+ ...options,
60
+ element: 'arazzo'
61
+ });
62
+
63
+ /**
64
+ * @public
65
+ */
66
+ exports.refractArazzo = refractArazzo;
67
+ const refractArazzoSpecification1 = (value, options = {}) => refract(value, {
68
+ ...options,
69
+ element: 'arazzoSpecification1'
70
+ });
71
+
72
+ /**
73
+ * @public
74
+ */
75
+ exports.refractArazzoSpecification1 = refractArazzoSpecification1;
76
+ const refractComponents = (value, options = {}) => refract(value, {
77
+ ...options,
78
+ element: 'components'
79
+ });
80
+
81
+ /**
82
+ * @public
83
+ */
84
+ exports.refractComponents = refractComponents;
85
+ const refractCriterion = (value, options = {}) => refract(value, {
86
+ ...options,
87
+ element: 'criterion'
88
+ });
89
+
90
+ /**
91
+ * @public
92
+ */
93
+ exports.refractCriterion = refractCriterion;
94
+ const refractCriterionExpressionType = (value, options = {}) => refract(value, {
95
+ ...options,
96
+ element: 'criterionExpressionType'
97
+ });
98
+
99
+ /**
100
+ * @public
101
+ */
102
+ exports.refractCriterionExpressionType = refractCriterionExpressionType;
103
+ const refractFailureAction = (value, options = {}) => refract(value, {
104
+ ...options,
105
+ element: 'failureAction'
106
+ });
107
+
108
+ /**
109
+ * @public
110
+ */
111
+ exports.refractFailureAction = refractFailureAction;
112
+ const refractInfo = (value, options = {}) => refract(value, {
113
+ ...options,
114
+ element: 'info'
115
+ });
116
+
117
+ /**
118
+ * @public
119
+ */
120
+ exports.refractInfo = refractInfo;
121
+ const refractJSONSchema = (value, options = {}) => refract(value, {
122
+ ...options,
123
+ element: 'jSONSchema202012'
124
+ });
125
+
126
+ /**
127
+ * @public
128
+ */
129
+ exports.refractJSONSchema = refractJSONSchema;
130
+ const refractParameter = (value, options = {}) => refract(value, {
131
+ ...options,
132
+ element: 'parameter'
133
+ });
134
+
135
+ /**
136
+ * @public
137
+ */
138
+ exports.refractParameter = refractParameter;
139
+ const refractPayloadReplacement = (value, options = {}) => refract(value, {
140
+ ...options,
141
+ element: 'payloadReplacement'
142
+ });
143
+
144
+ /**
145
+ * @public
146
+ */
147
+ exports.refractPayloadReplacement = refractPayloadReplacement;
148
+ const refractRequestBody = (value, options = {}) => refract(value, {
149
+ ...options,
150
+ element: 'requestBody'
151
+ });
152
+
153
+ /**
154
+ * @public
155
+ */
156
+ exports.refractRequestBody = refractRequestBody;
157
+ const refractReusable = (value, options = {}) => refract(value, {
158
+ ...options,
159
+ element: 'reusable'
160
+ });
161
+
162
+ /**
163
+ * @public
164
+ */
165
+ exports.refractReusable = refractReusable;
166
+ const refractSourceDescription = (value, options = {}) => refract(value, {
167
+ ...options,
168
+ element: 'sourceDescription'
169
+ });
170
+
171
+ /**
172
+ * @public
173
+ */
174
+ exports.refractSourceDescription = refractSourceDescription;
175
+ const refractStep = (value, options = {}) => refract(value, {
176
+ ...options,
177
+ element: 'step'
178
+ });
179
+
180
+ /**
181
+ * @public
182
+ */
183
+ exports.refractStep = refractStep;
184
+ const refractSuccessAction = (value, options = {}) => refract(value, {
185
+ ...options,
186
+ element: 'successAction'
187
+ });
188
+
189
+ /**
190
+ * @public
191
+ */
192
+ exports.refractSuccessAction = refractSuccessAction;
193
+ const refractWorkflow = (value, options = {}) => refract(value, {
194
+ ...options,
195
+ element: 'workflow'
50
196
  });
51
- exports.createRefractor = createRefractor;
197
+ exports.refractWorkflow = refractWorkflow;
52
198
  var _default = exports.default = refract;