@speclynx/apidom-ns-arazzo-1 1.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/CHANGELOG.md +84 -0
  2. package/LICENSE +202 -0
  3. package/LICENSES/AFL-3.0.txt +182 -0
  4. package/LICENSES/Apache-2.0.txt +202 -0
  5. package/LICENSES/BSD-3-Clause.txt +26 -0
  6. package/LICENSES/MIT.txt +9 -0
  7. package/NOTICE +65 -0
  8. package/README.md +206 -0
  9. package/dist/apidom-ns-arazzo-1.browser.js +24106 -0
  10. package/dist/apidom-ns-arazzo-1.browser.min.js +1 -0
  11. package/package.json +64 -0
  12. package/src/elements/Arazzo.cjs +17 -0
  13. package/src/elements/Arazzo.mjs +14 -0
  14. package/src/elements/ArazzoSpecification1.cjs +47 -0
  15. package/src/elements/ArazzoSpecification1.mjs +43 -0
  16. package/src/elements/Components.cjs +39 -0
  17. package/src/elements/Components.mjs +35 -0
  18. package/src/elements/Criterion.cjs +33 -0
  19. package/src/elements/Criterion.mjs +29 -0
  20. package/src/elements/CriterionExpressionType.cjs +27 -0
  21. package/src/elements/CriterionExpressionType.mjs +24 -0
  22. package/src/elements/FailureAction.cjs +57 -0
  23. package/src/elements/FailureAction.mjs +53 -0
  24. package/src/elements/Info.cjs +40 -0
  25. package/src/elements/Info.mjs +37 -0
  26. package/src/elements/JSONSchema.cjs +10 -0
  27. package/src/elements/JSONSchema.mjs +7 -0
  28. package/src/elements/Parameter.cjs +33 -0
  29. package/src/elements/Parameter.mjs +30 -0
  30. package/src/elements/PayloadReplacement.cjs +27 -0
  31. package/src/elements/PayloadReplacement.mjs +24 -0
  32. package/src/elements/RequestBody.cjs +33 -0
  33. package/src/elements/RequestBody.mjs +29 -0
  34. package/src/elements/Reusable.cjs +28 -0
  35. package/src/elements/Reusable.mjs +25 -0
  36. package/src/elements/SourceDescription.cjs +33 -0
  37. package/src/elements/SourceDescription.mjs +30 -0
  38. package/src/elements/Step.cjs +81 -0
  39. package/src/elements/Step.mjs +77 -0
  40. package/src/elements/SuccessAction.cjs +45 -0
  41. package/src/elements/SuccessAction.mjs +41 -0
  42. package/src/elements/Workflow.cjs +75 -0
  43. package/src/elements/Workflow.mjs +71 -0
  44. package/src/elements/nces/ComponentsFailureActions.cjs +16 -0
  45. package/src/elements/nces/ComponentsFailureActions.mjs +13 -0
  46. package/src/elements/nces/ComponentsInputs.cjs +16 -0
  47. package/src/elements/nces/ComponentsInputs.mjs +13 -0
  48. package/src/elements/nces/ComponentsParameters.cjs +17 -0
  49. package/src/elements/nces/ComponentsParameters.mjs +14 -0
  50. package/src/elements/nces/ComponentsSuccessActions.cjs +16 -0
  51. package/src/elements/nces/ComponentsSuccessActions.mjs +13 -0
  52. package/src/elements/nces/FailureActionCriteria.cjs +17 -0
  53. package/src/elements/nces/FailureActionCriteria.mjs +14 -0
  54. package/src/elements/nces/RequestBodyReplacements.cjs +16 -0
  55. package/src/elements/nces/RequestBodyReplacements.mjs +13 -0
  56. package/src/elements/nces/SourceDescriptions.cjs +16 -0
  57. package/src/elements/nces/SourceDescriptions.mjs +13 -0
  58. package/src/elements/nces/StepDependsOn.cjs +16 -0
  59. package/src/elements/nces/StepDependsOn.mjs +13 -0
  60. package/src/elements/nces/StepOnFailure.cjs +16 -0
  61. package/src/elements/nces/StepOnFailure.mjs +13 -0
  62. package/src/elements/nces/StepOnSuccess.cjs +16 -0
  63. package/src/elements/nces/StepOnSuccess.mjs +13 -0
  64. package/src/elements/nces/StepOutputs.cjs +16 -0
  65. package/src/elements/nces/StepOutputs.mjs +13 -0
  66. package/src/elements/nces/StepParameters.cjs +17 -0
  67. package/src/elements/nces/StepParameters.mjs +14 -0
  68. package/src/elements/nces/StepSuccessCriteria.cjs +17 -0
  69. package/src/elements/nces/StepSuccessCriteria.mjs +14 -0
  70. package/src/elements/nces/SuccessActionCriteria.cjs +17 -0
  71. package/src/elements/nces/SuccessActionCriteria.mjs +14 -0
  72. package/src/elements/nces/WorkflowDependsOn.cjs +16 -0
  73. package/src/elements/nces/WorkflowDependsOn.mjs +13 -0
  74. package/src/elements/nces/WorkflowFailureActions.cjs +16 -0
  75. package/src/elements/nces/WorkflowFailureActions.mjs +13 -0
  76. package/src/elements/nces/WorkflowOutputs.cjs +16 -0
  77. package/src/elements/nces/WorkflowOutputs.mjs +13 -0
  78. package/src/elements/nces/WorkflowParameters.cjs +17 -0
  79. package/src/elements/nces/WorkflowParameters.mjs +14 -0
  80. package/src/elements/nces/WorkflowSteps.cjs +16 -0
  81. package/src/elements/nces/WorkflowSteps.mjs +13 -0
  82. package/src/elements/nces/WorkflowSuccessActions.cjs +16 -0
  83. package/src/elements/nces/WorkflowSuccessActions.mjs +13 -0
  84. package/src/elements/nces/Workflows.cjs +16 -0
  85. package/src/elements/nces/Workflows.mjs +13 -0
  86. package/src/index.cjs +146 -0
  87. package/src/index.mjs +38 -0
  88. package/src/media-types.cjs +34 -0
  89. package/src/media-types.mjs +30 -0
  90. package/src/namespace.cjs +49 -0
  91. package/src/namespace.mjs +44 -0
  92. package/src/predicates.cjs +467 -0
  93. package/src/predicates.mjs +461 -0
  94. package/src/refractor/index.cjs +52 -0
  95. package/src/refractor/index.mjs +46 -0
  96. package/src/refractor/plugins/replace-empty-element.cjs +89 -0
  97. package/src/refractor/plugins/replace-empty-element.mjs +83 -0
  98. package/src/refractor/predicates.cjs +17 -0
  99. package/src/refractor/predicates.mjs +11 -0
  100. package/src/refractor/registration.cjs +53 -0
  101. package/src/refractor/registration.mjs +34 -0
  102. package/src/refractor/specification.cjs +294 -0
  103. package/src/refractor/specification.mjs +289 -0
  104. package/src/refractor/toolbox.cjs +31 -0
  105. package/src/refractor/toolbox.mjs +23 -0
  106. package/src/refractor/visitors/FallbackVisitor.cjs +24 -0
  107. package/src/refractor/visitors/FallbackVisitor.mjs +18 -0
  108. package/src/refractor/visitors/SpecificationExtensionVisitor.cjs +18 -0
  109. package/src/refractor/visitors/SpecificationExtensionVisitor.mjs +13 -0
  110. package/src/refractor/visitors/SpecificationVisitor.cjs +74 -0
  111. package/src/refractor/visitors/SpecificationVisitor.mjs +68 -0
  112. package/src/refractor/visitors/Visitor.cjs +31 -0
  113. package/src/refractor/visitors/Visitor.mjs +28 -0
  114. package/src/refractor/visitors/arazzo-1/ArazzoVisitor.cjs +26 -0
  115. package/src/refractor/visitors/arazzo-1/ArazzoVisitor.mjs +20 -0
  116. package/src/refractor/visitors/arazzo-1/SourceDescriptionsVisitor.cjs +34 -0
  117. package/src/refractor/visitors/arazzo-1/SourceDescriptionsVisitor.mjs +28 -0
  118. package/src/refractor/visitors/arazzo-1/WorkflowsVisitor.cjs +34 -0
  119. package/src/refractor/visitors/arazzo-1/WorkflowsVisitor.mjs +28 -0
  120. package/src/refractor/visitors/arazzo-1/components/FailureActionsVisitor.cjs +26 -0
  121. package/src/refractor/visitors/arazzo-1/components/FailureActionsVisitor.mjs +20 -0
  122. package/src/refractor/visitors/arazzo-1/components/InputsVisitor.cjs +26 -0
  123. package/src/refractor/visitors/arazzo-1/components/InputsVisitor.mjs +20 -0
  124. package/src/refractor/visitors/arazzo-1/components/ParametersVisitor.cjs +26 -0
  125. package/src/refractor/visitors/arazzo-1/components/ParametersVisitor.mjs +20 -0
  126. package/src/refractor/visitors/arazzo-1/components/SuccessActionsVisitor.cjs +26 -0
  127. package/src/refractor/visitors/arazzo-1/components/SuccessActionsVisitor.mjs +20 -0
  128. package/src/refractor/visitors/arazzo-1/components/index.cjs +26 -0
  129. package/src/refractor/visitors/arazzo-1/components/index.mjs +20 -0
  130. package/src/refractor/visitors/arazzo-1/criterion/TypeVisitor.cjs +22 -0
  131. package/src/refractor/visitors/arazzo-1/criterion/TypeVisitor.mjs +16 -0
  132. package/src/refractor/visitors/arazzo-1/criterion/index.cjs +26 -0
  133. package/src/refractor/visitors/arazzo-1/criterion/index.mjs +20 -0
  134. package/src/refractor/visitors/arazzo-1/criterion-expression-type/VersionVisitor.cjs +17 -0
  135. package/src/refractor/visitors/arazzo-1/criterion-expression-type/VersionVisitor.mjs +12 -0
  136. package/src/refractor/visitors/arazzo-1/criterion-expression-type/index.cjs +26 -0
  137. package/src/refractor/visitors/arazzo-1/criterion-expression-type/index.mjs +20 -0
  138. package/src/refractor/visitors/arazzo-1/failure-action/CriteriaVisitor.cjs +34 -0
  139. package/src/refractor/visitors/arazzo-1/failure-action/CriteriaVisitor.mjs +28 -0
  140. package/src/refractor/visitors/arazzo-1/failure-action/index.cjs +26 -0
  141. package/src/refractor/visitors/arazzo-1/failure-action/index.mjs +20 -0
  142. package/src/refractor/visitors/arazzo-1/index.cjs +32 -0
  143. package/src/refractor/visitors/arazzo-1/index.mjs +26 -0
  144. package/src/refractor/visitors/arazzo-1/info/VersionVisitor.cjs +18 -0
  145. package/src/refractor/visitors/arazzo-1/info/VersionVisitor.mjs +13 -0
  146. package/src/refractor/visitors/arazzo-1/info/index.cjs +26 -0
  147. package/src/refractor/visitors/arazzo-1/info/index.mjs +20 -0
  148. package/src/refractor/visitors/arazzo-1/json-schema/index.cjs +17 -0
  149. package/src/refractor/visitors/arazzo-1/json-schema/index.mjs +12 -0
  150. package/src/refractor/visitors/arazzo-1/parameter/index.cjs +26 -0
  151. package/src/refractor/visitors/arazzo-1/parameter/index.mjs +20 -0
  152. package/src/refractor/visitors/arazzo-1/payload-replacement/index.cjs +26 -0
  153. package/src/refractor/visitors/arazzo-1/payload-replacement/index.mjs +20 -0
  154. package/src/refractor/visitors/arazzo-1/request-body/Replacements.cjs +34 -0
  155. package/src/refractor/visitors/arazzo-1/request-body/Replacements.mjs +28 -0
  156. package/src/refractor/visitors/arazzo-1/request-body/index.cjs +26 -0
  157. package/src/refractor/visitors/arazzo-1/request-body/index.mjs +20 -0
  158. package/src/refractor/visitors/arazzo-1/reusable/ReferenceVisitor.cjs +18 -0
  159. package/src/refractor/visitors/arazzo-1/reusable/ReferenceVisitor.mjs +12 -0
  160. package/src/refractor/visitors/arazzo-1/reusable/index.cjs +36 -0
  161. package/src/refractor/visitors/arazzo-1/reusable/index.mjs +30 -0
  162. package/src/refractor/visitors/arazzo-1/source-description/UrlVisitor.cjs +17 -0
  163. package/src/refractor/visitors/arazzo-1/source-description/UrlVisitor.mjs +12 -0
  164. package/src/refractor/visitors/arazzo-1/source-description/index.cjs +26 -0
  165. package/src/refractor/visitors/arazzo-1/source-description/index.mjs +20 -0
  166. package/src/refractor/visitors/arazzo-1/step/OnFailureVisitor.cjs +38 -0
  167. package/src/refractor/visitors/arazzo-1/step/OnFailureVisitor.mjs +32 -0
  168. package/src/refractor/visitors/arazzo-1/step/OnSuccessVisitor.cjs +38 -0
  169. package/src/refractor/visitors/arazzo-1/step/OnSuccessVisitor.mjs +32 -0
  170. package/src/refractor/visitors/arazzo-1/step/OutputsVisitor.cjs +25 -0
  171. package/src/refractor/visitors/arazzo-1/step/OutputsVisitor.mjs +19 -0
  172. package/src/refractor/visitors/arazzo-1/step/ParametersVisitor.cjs +38 -0
  173. package/src/refractor/visitors/arazzo-1/step/ParametersVisitor.mjs +32 -0
  174. package/src/refractor/visitors/arazzo-1/step/SuccessCriteriaVisitor.cjs +33 -0
  175. package/src/refractor/visitors/arazzo-1/step/SuccessCriteriaVisitor.mjs +27 -0
  176. package/src/refractor/visitors/arazzo-1/step/index.cjs +26 -0
  177. package/src/refractor/visitors/arazzo-1/step/index.mjs +20 -0
  178. package/src/refractor/visitors/arazzo-1/success-action/CriteriaVisitor.cjs +34 -0
  179. package/src/refractor/visitors/arazzo-1/success-action/CriteriaVisitor.mjs +28 -0
  180. package/src/refractor/visitors/arazzo-1/success-action/index.cjs +26 -0
  181. package/src/refractor/visitors/arazzo-1/success-action/index.mjs +20 -0
  182. package/src/refractor/visitors/arazzo-1/workflow/DependsOnVisitor.cjs +34 -0
  183. package/src/refractor/visitors/arazzo-1/workflow/DependsOnVisitor.mjs +28 -0
  184. package/src/refractor/visitors/arazzo-1/workflow/FailureActionsVisitor.cjs +38 -0
  185. package/src/refractor/visitors/arazzo-1/workflow/FailureActionsVisitor.mjs +32 -0
  186. package/src/refractor/visitors/arazzo-1/workflow/OutputsVisitor.cjs +25 -0
  187. package/src/refractor/visitors/arazzo-1/workflow/OutputsVisitor.mjs +19 -0
  188. package/src/refractor/visitors/arazzo-1/workflow/ParametersVisitor.cjs +38 -0
  189. package/src/refractor/visitors/arazzo-1/workflow/ParametersVisitor.mjs +32 -0
  190. package/src/refractor/visitors/arazzo-1/workflow/StepsVisitor.cjs +33 -0
  191. package/src/refractor/visitors/arazzo-1/workflow/StepsVisitor.mjs +27 -0
  192. package/src/refractor/visitors/arazzo-1/workflow/SuccessActionsVisitor.cjs +38 -0
  193. package/src/refractor/visitors/arazzo-1/workflow/SuccessActionsVisitor.mjs +32 -0
  194. package/src/refractor/visitors/arazzo-1/workflow/index.cjs +26 -0
  195. package/src/refractor/visitors/arazzo-1/workflow/index.mjs +20 -0
  196. package/src/refractor/visitors/generics/FixedFieldsVisitor.cjs +67 -0
  197. package/src/refractor/visitors/generics/FixedFieldsVisitor.mjs +60 -0
  198. package/src/refractor/visitors/generics/MapVisitor.cjs +21 -0
  199. package/src/refractor/visitors/generics/MapVisitor.mjs +15 -0
  200. package/src/refractor/visitors/generics/PatternedFieldsVisitor.cjs +67 -0
  201. package/src/refractor/visitors/generics/PatternedFieldsVisitor.mjs +61 -0
  202. package/src/traversal/visitor.cjs +38 -0
  203. package/src/traversal/visitor.mjs +35 -0
  204. package/types/apidom-ns-arazzo-1.d.ts +1852 -0
@@ -0,0 +1,289 @@
1
+ import { specificationObj as JSONSchema202012Specification } from '@speclynx/apidom-ns-json-schema-2020-12';
2
+ import ArazzoSpecificationVisitor from "./visitors/arazzo-1/index.mjs";
3
+ import ArazzoSpecificationArazzoVisitor from "./visitors/arazzo-1/ArazzoVisitor.mjs";
4
+ import ArazzoSpecificationSourceDescriptionsVisitor from "./visitors/arazzo-1/SourceDescriptionsVisitor.mjs";
5
+ import ArazzoSpecificationWorkflowsVisitor from "./visitors/arazzo-1/WorkflowsVisitor.mjs";
6
+ import InfoVisitor from "./visitors/arazzo-1/info/index.mjs";
7
+ import InfoVersionVisitor from "./visitors/arazzo-1/info/VersionVisitor.mjs";
8
+ import SourceDescriptionVisitor from "./visitors/arazzo-1/source-description/index.mjs";
9
+ import SourceDescriptionUrlVisitor from "./visitors/arazzo-1/source-description/UrlVisitor.mjs";
10
+ import WorkflowVisitor from "./visitors/arazzo-1/workflow/index.mjs";
11
+ import WorkflowDependsOnVisitor from "./visitors/arazzo-1/workflow/DependsOnVisitor.mjs";
12
+ import WorkflowStepsVisitor from "./visitors/arazzo-1/workflow/StepsVisitor.mjs";
13
+ import WorkflowSuccessActionsVisitor from "./visitors/arazzo-1/workflow/SuccessActionsVisitor.mjs";
14
+ import WorkflowFailureActionsVisitor from "./visitors/arazzo-1/workflow/FailureActionsVisitor.mjs";
15
+ import WorkflowOutputsVisitor from "./visitors/arazzo-1/workflow/OutputsVisitor.mjs";
16
+ import WorkflowParametersVisitor from "./visitors/arazzo-1/workflow/ParametersVisitor.mjs";
17
+ import StepVisitor from "./visitors/arazzo-1/step/index.mjs";
18
+ import StepParametersVisitor from "./visitors/arazzo-1/step/ParametersVisitor.mjs";
19
+ import StepSuccessCriteriaVisitor from "./visitors/arazzo-1/step/SuccessCriteriaVisitor.mjs";
20
+ import StepOnSuccessVisitor from "./visitors/arazzo-1/step/OnSuccessVisitor.mjs";
21
+ import StepOnFailureVisitor from "./visitors/arazzo-1/step/OnFailureVisitor.mjs";
22
+ import StepOutputsVisitor from "./visitors/arazzo-1/step/OutputsVisitor.mjs";
23
+ import ParameterVisitor from "./visitors/arazzo-1/parameter/index.mjs";
24
+ import SuccessActionVisitor from "./visitors/arazzo-1/success-action/index.mjs";
25
+ import SuccessActionCriteriaVisitor from "./visitors/arazzo-1/success-action/CriteriaVisitor.mjs";
26
+ import FailureActionVisitor from "./visitors/arazzo-1/failure-action/index.mjs";
27
+ import FailureActionCriteriaVisitor from "./visitors/arazzo-1/failure-action/CriteriaVisitor.mjs";
28
+ import ComponentsVisitor from "./visitors/arazzo-1/components/index.mjs";
29
+ import ComponentsInputsVisitor from "./visitors/arazzo-1/components/InputsVisitor.mjs";
30
+ import ComponentsParametersVisitor from "./visitors/arazzo-1/components/ParametersVisitor.mjs";
31
+ import ComponentsSuccessActionsVisitor from "./visitors/arazzo-1/components/SuccessActionsVisitor.mjs";
32
+ import ComponentsFailureActionsVisitor from "./visitors/arazzo-1/components/FailureActionsVisitor.mjs";
33
+ import ReusableVisitor from "./visitors/arazzo-1/reusable/index.mjs";
34
+ import ReusableReferenceVisitor from "./visitors/arazzo-1/reusable/ReferenceVisitor.mjs";
35
+ import CriterionVisitor from "./visitors/arazzo-1/criterion/index.mjs";
36
+ import CriterionTypeVisitor from "./visitors/arazzo-1/criterion/TypeVisitor.mjs";
37
+ import CriterionExpressionTypeVisitor from "./visitors/arazzo-1/criterion-expression-type/index.mjs";
38
+ import CriterionExpressionTypeVersionVisitor from "./visitors/arazzo-1/criterion-expression-type/VersionVisitor.mjs";
39
+ import RequestBodyVisitor from "./visitors/arazzo-1/request-body/index.mjs";
40
+ import RequestBodyReplacementsVisitor from "./visitors/arazzo-1/request-body/Replacements.mjs";
41
+ import PayloadReplacementVisitor from "./visitors/arazzo-1/payload-replacement/index.mjs";
42
+ import JSONSchemaVisitor from "./visitors/arazzo-1/json-schema/index.mjs";
43
+ import SpecificationExtensionVisitor from "./visitors/SpecificationExtensionVisitor.mjs";
44
+ import FallbackVisitor from "./visitors/FallbackVisitor.mjs";
45
+ const {
46
+ JSONSchema: {
47
+ fixedFields: jsonSchemaFixedFields
48
+ }
49
+ } = JSONSchema202012Specification.visitors.document.objects;
50
+
51
+ /**
52
+ * Specification object allows us to have complete control over visitors
53
+ * when traversing the ApiDOM.
54
+ * Specification also allows us to create amended refractors from
55
+ * existing ones by manipulating it.
56
+ *
57
+ * Note: Specification object allows to use absolute internal JSON pointers.
58
+ */
59
+
60
+ /**
61
+ * @public
62
+ */
63
+ const specification = {
64
+ visitors: {
65
+ value: FallbackVisitor,
66
+ document: {
67
+ objects: {
68
+ ArazzoSpecification: {
69
+ $visitor: ArazzoSpecificationVisitor,
70
+ fixedFields: {
71
+ arazzo: ArazzoSpecificationArazzoVisitor,
72
+ info: {
73
+ $ref: '#/visitors/document/objects/Info'
74
+ },
75
+ sourceDescriptions: ArazzoSpecificationSourceDescriptionsVisitor,
76
+ workflows: ArazzoSpecificationWorkflowsVisitor,
77
+ components: {
78
+ $ref: '#/visitors/document/objects/Components'
79
+ }
80
+ }
81
+ },
82
+ Info: {
83
+ $visitor: InfoVisitor,
84
+ fixedFields: {
85
+ title: {
86
+ $ref: '#/visitors/value'
87
+ },
88
+ summary: {
89
+ $ref: '#/visitors/value'
90
+ },
91
+ description: {
92
+ $ref: '#/visitors/value'
93
+ },
94
+ version: InfoVersionVisitor
95
+ }
96
+ },
97
+ SourceDescription: {
98
+ $visitor: SourceDescriptionVisitor,
99
+ fixedFields: {
100
+ name: {
101
+ $ref: '#/visitors/value'
102
+ },
103
+ url: SourceDescriptionUrlVisitor,
104
+ type: {
105
+ $ref: '#/visitors/value'
106
+ }
107
+ }
108
+ },
109
+ Workflow: {
110
+ $visitor: WorkflowVisitor,
111
+ fixedFields: {
112
+ workflowId: {
113
+ $ref: '#/visitors/value'
114
+ },
115
+ summary: {
116
+ $ref: '#/visitors/value'
117
+ },
118
+ description: {
119
+ $ref: '#/visitors/value'
120
+ },
121
+ inputs: JSONSchemaVisitor,
122
+ dependsOn: WorkflowDependsOnVisitor,
123
+ steps: WorkflowStepsVisitor,
124
+ successActions: WorkflowSuccessActionsVisitor,
125
+ failureActions: WorkflowFailureActionsVisitor,
126
+ outputs: WorkflowOutputsVisitor,
127
+ parameters: WorkflowParametersVisitor
128
+ }
129
+ },
130
+ Step: {
131
+ $visitor: StepVisitor,
132
+ fixedFields: {
133
+ description: {
134
+ $ref: '#/visitors/value'
135
+ },
136
+ stepId: {
137
+ $ref: '#/visitors/value'
138
+ },
139
+ operationId: {
140
+ $ref: '#/visitors/value'
141
+ },
142
+ operationPath: {
143
+ $ref: '#/visitors/value'
144
+ },
145
+ workflowId: {
146
+ $ref: '#/visitors/value'
147
+ },
148
+ parameters: StepParametersVisitor,
149
+ requestBody: {
150
+ $ref: '#/visitors/document/objects/RequestBody'
151
+ },
152
+ successCriteria: StepSuccessCriteriaVisitor,
153
+ onSuccess: StepOnSuccessVisitor,
154
+ onFailure: StepOnFailureVisitor,
155
+ outputs: StepOutputsVisitor
156
+ }
157
+ },
158
+ Parameter: {
159
+ $visitor: ParameterVisitor,
160
+ fixedFields: {
161
+ name: {
162
+ $ref: '#/visitors/value'
163
+ },
164
+ in: {
165
+ $ref: '#/visitors/value'
166
+ },
167
+ value: {
168
+ $ref: '#/visitors/value'
169
+ }
170
+ }
171
+ },
172
+ SuccessAction: {
173
+ $visitor: SuccessActionVisitor,
174
+ fixedFields: {
175
+ name: {
176
+ $ref: '#/visitors/value'
177
+ },
178
+ type: {
179
+ $ref: '#/visitors/value'
180
+ },
181
+ workflowId: {
182
+ $ref: '#/visitors/value'
183
+ },
184
+ stepId: {
185
+ $ref: '#/visitors/value'
186
+ },
187
+ criteria: SuccessActionCriteriaVisitor
188
+ }
189
+ },
190
+ FailureAction: {
191
+ $visitor: FailureActionVisitor,
192
+ fixedFields: {
193
+ name: {
194
+ $ref: '#/visitors/value'
195
+ },
196
+ type: {
197
+ $ref: '#/visitors/value'
198
+ },
199
+ workflowId: {
200
+ $ref: '#/visitors/value'
201
+ },
202
+ stepId: {
203
+ $ref: '#/visitors/value'
204
+ },
205
+ retryAfter: {
206
+ $ref: '#/visitors/value'
207
+ },
208
+ retryLimit: {
209
+ $ref: '#/visitors/value'
210
+ },
211
+ criteria: FailureActionCriteriaVisitor
212
+ }
213
+ },
214
+ Components: {
215
+ $visitor: ComponentsVisitor,
216
+ fixedFields: {
217
+ inputs: ComponentsInputsVisitor,
218
+ parameters: ComponentsParametersVisitor,
219
+ successActions: ComponentsSuccessActionsVisitor,
220
+ failureActions: ComponentsFailureActionsVisitor
221
+ }
222
+ },
223
+ Reusable: {
224
+ $visitor: ReusableVisitor,
225
+ fixedFields: {
226
+ reference: ReusableReferenceVisitor,
227
+ value: {
228
+ $ref: '#/visitors/value'
229
+ }
230
+ }
231
+ },
232
+ Criterion: {
233
+ $visitor: CriterionVisitor,
234
+ fixedFields: {
235
+ context: {
236
+ $ref: '#/visitors/value'
237
+ },
238
+ condition: {
239
+ $ref: '#/visitors/value'
240
+ },
241
+ type: CriterionTypeVisitor
242
+ }
243
+ },
244
+ CriterionExpressionType: {
245
+ $visitor: CriterionExpressionTypeVisitor,
246
+ fixedFields: {
247
+ type: {
248
+ $ref: '#/visitors/value'
249
+ },
250
+ version: CriterionExpressionTypeVersionVisitor
251
+ }
252
+ },
253
+ RequestBody: {
254
+ $visitor: RequestBodyVisitor,
255
+ fixedFields: {
256
+ contentType: {
257
+ $ref: '#/visitors/value'
258
+ },
259
+ payload: {
260
+ $ref: '#/visitors/value'
261
+ },
262
+ replacements: RequestBodyReplacementsVisitor
263
+ }
264
+ },
265
+ PayloadReplacement: {
266
+ $visitor: PayloadReplacementVisitor,
267
+ fixedFields: {
268
+ target: {
269
+ $ref: '#/visitors/value'
270
+ },
271
+ value: {
272
+ $ref: '#/visitors/value'
273
+ }
274
+ }
275
+ },
276
+ JSONSchema: {
277
+ $visitor: JSONSchemaVisitor,
278
+ fixedFields: {
279
+ ...jsonSchemaFixedFields
280
+ }
281
+ }
282
+ },
283
+ extension: {
284
+ $visitor: SpecificationExtensionVisitor
285
+ }
286
+ }
287
+ }
288
+ };
289
+ export default specification;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime-corejs3/helpers/interopRequireWildcard").default;
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+ var _apidomCore = require("@speclynx/apidom-core");
8
+ var arazzo1Predicates = _interopRequireWildcard(require("../predicates.cjs"));
9
+ var refractorPredicates = _interopRequireWildcard(require("./predicates.cjs"));
10
+ var _namespace = _interopRequireDefault(require("../namespace.cjs"));
11
+ /**
12
+ * @public
13
+ */
14
+
15
+ /**
16
+ * @public
17
+ */
18
+
19
+ const createToolbox = () => {
20
+ const namespace = (0, _apidomCore.createNamespace)(_namespace.default);
21
+ const predicates = {
22
+ ...refractorPredicates,
23
+ ...arazzo1Predicates,
24
+ isStringElement: _apidomCore.isStringElement
25
+ };
26
+ return {
27
+ predicates,
28
+ namespace
29
+ };
30
+ };
31
+ var _default = exports.default = createToolbox;
@@ -0,0 +1,23 @@
1
+ import { createNamespace, isStringElement } from '@speclynx/apidom-core';
2
+ import * as arazzo1Predicates from "../predicates.mjs";
3
+ import * as refractorPredicates from "./predicates.mjs";
4
+ import workflowsNamespace from "../namespace.mjs";
5
+ /**
6
+ * @public
7
+ */
8
+ /**
9
+ * @public
10
+ */
11
+ const createToolbox = () => {
12
+ const namespace = createNamespace(workflowsNamespace);
13
+ const predicates = {
14
+ ...refractorPredicates,
15
+ ...arazzo1Predicates,
16
+ isStringElement
17
+ };
18
+ return {
19
+ predicates,
20
+ namespace
21
+ };
22
+ };
23
+ export default createToolbox;
@@ -0,0 +1,24 @@
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("@speclynx/apidom-core");
7
+ var _Visitor = _interopRequireDefault(require("./Visitor.cjs"));
8
+ /**
9
+ * This visitor is responsible for falling back to current traversed element.
10
+ * Given ArazzoSpecificationVisitor expects ObjectElement to be traversed. If
11
+ * different Element is provided FallBackVisitor is responsible to assigning
12
+ * this Element as current element.
13
+ */
14
+
15
+ /**
16
+ * @public
17
+ */
18
+ class FallbackVisitor extends _Visitor.default {
19
+ enter(element) {
20
+ this.element = (0, _apidomCore.cloneDeep)(element);
21
+ return _apidomCore.BREAK;
22
+ }
23
+ }
24
+ var _default = exports.default = FallbackVisitor;
@@ -0,0 +1,18 @@
1
+ import { BREAK, cloneDeep } from '@speclynx/apidom-core';
2
+ import Visitor from "./Visitor.mjs";
3
+ /**
4
+ * This visitor is responsible for falling back to current traversed element.
5
+ * Given ArazzoSpecificationVisitor expects ObjectElement to be traversed. If
6
+ * different Element is provided FallBackVisitor is responsible to assigning
7
+ * this Element as current element.
8
+ */
9
+ /**
10
+ * @public
11
+ */
12
+ class FallbackVisitor extends Visitor {
13
+ enter(element) {
14
+ this.element = cloneDeep(element);
15
+ return BREAK;
16
+ }
17
+ }
18
+ export default FallbackVisitor;
@@ -0,0 +1,18 @@
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("@speclynx/apidom-core");
7
+ var _SpecificationVisitor = _interopRequireDefault(require("./SpecificationVisitor.cjs"));
8
+ /**
9
+ * @public
10
+ */
11
+ class SpecificationExtensionVisitor extends _SpecificationVisitor.default {
12
+ MemberElement(memberElement) {
13
+ this.element = (0, _apidomCore.cloneDeep)(memberElement);
14
+ this.element.classes.push('specification-extension');
15
+ return _apidomCore.BREAK;
16
+ }
17
+ }
18
+ var _default = exports.default = SpecificationExtensionVisitor;
@@ -0,0 +1,13 @@
1
+ import { BREAK, cloneDeep } from '@speclynx/apidom-core';
2
+ import SpecificationVisitor from "./SpecificationVisitor.mjs";
3
+ /**
4
+ * @public
5
+ */
6
+ class SpecificationExtensionVisitor extends SpecificationVisitor {
7
+ MemberElement(memberElement) {
8
+ this.element = cloneDeep(memberElement);
9
+ this.element.classes.push('specification-extension');
10
+ return BREAK;
11
+ }
12
+ }
13
+ export default SpecificationExtensionVisitor;
@@ -0,0 +1,74 @@
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 _ramda = require("ramda");
7
+ var _ramdaAdjunct = require("ramda-adjunct");
8
+ var _apidomCore = require("@speclynx/apidom-core");
9
+ var _Visitor = _interopRequireDefault(require("./Visitor.cjs"));
10
+ var _FallbackVisitor = _interopRequireDefault(require("./FallbackVisitor.cjs"));
11
+ /**
12
+ * This is a base Type for every visitor that does
13
+ * internal look-ups to retrieve other child visitors.
14
+ * @public
15
+ */
16
+
17
+ /**
18
+ * @public
19
+ */
20
+ class SpecificationVisitor extends _Visitor.default {
21
+ specObj;
22
+ passingOptionsNames = ['specObj'];
23
+ constructor({
24
+ specObj,
25
+ ...rest
26
+ }) {
27
+ super({
28
+ ...rest
29
+ });
30
+ this.specObj = specObj;
31
+ }
32
+ retrievePassingOptions() {
33
+ return (0, _ramda.pick)(this.passingOptionsNames, this);
34
+ }
35
+ retrieveFixedFields(specPath) {
36
+ const fixedFields = (0, _ramda.path)(['visitors', ...specPath, 'fixedFields'], this.specObj);
37
+ if (typeof fixedFields === 'object' && fixedFields !== null) {
38
+ return Object.keys(fixedFields);
39
+ }
40
+ return [];
41
+ }
42
+ retrieveVisitor(specPath) {
43
+ if ((0, _ramda.pathSatisfies)(_ramdaAdjunct.isFunction, ['visitors', ...specPath], this.specObj)) {
44
+ return (0, _ramda.path)(['visitors', ...specPath], this.specObj);
45
+ }
46
+ return (0, _ramda.path)(['visitors', ...specPath, '$visitor'], this.specObj);
47
+ }
48
+ retrieveVisitorInstance(specPath, options = {}) {
49
+ const passingOpts = this.retrievePassingOptions();
50
+ const VisitorClz = this.retrieveVisitor(specPath);
51
+ const visitorOpts = {
52
+ ...passingOpts,
53
+ ...options
54
+ };
55
+ return new VisitorClz(visitorOpts);
56
+ }
57
+ toRefractedElement(specPath, element, options = {}) {
58
+ /**
59
+ * This is `Visitor shortcut`: a mechanism for short-circuiting the traversal and replacing
60
+ * it by basic node cloning.
61
+ *
62
+ * Visiting the element is equivalent to cloning it if the prototype of a visitor
63
+ * is the same as the prototype of FallbackVisitor. If that's the case, we can avoid
64
+ * bootstrapping the traversal cycle for fields that don't require any special visiting.
65
+ */
66
+ const visitor = this.retrieveVisitorInstance(specPath, options);
67
+ if (visitor instanceof _FallbackVisitor.default && visitor?.constructor === _FallbackVisitor.default) {
68
+ return (0, _apidomCore.cloneDeep)(element);
69
+ }
70
+ (0, _apidomCore.visit)(element, visitor, options);
71
+ return visitor.element;
72
+ }
73
+ }
74
+ var _default = exports.default = SpecificationVisitor;
@@ -0,0 +1,68 @@
1
+ import { pathSatisfies, path, pick } from 'ramda';
2
+ import { isFunction } from 'ramda-adjunct';
3
+ import { visit, cloneDeep } from '@speclynx/apidom-core';
4
+ import Visitor from "./Visitor.mjs";
5
+ import FallbackVisitor from "./FallbackVisitor.mjs";
6
+ /**
7
+ * This is a base Type for every visitor that does
8
+ * internal look-ups to retrieve other child visitors.
9
+ * @public
10
+ */
11
+ /**
12
+ * @public
13
+ */
14
+ class SpecificationVisitor extends Visitor {
15
+ specObj;
16
+ passingOptionsNames = ['specObj'];
17
+ constructor({
18
+ specObj,
19
+ ...rest
20
+ }) {
21
+ super({
22
+ ...rest
23
+ });
24
+ this.specObj = specObj;
25
+ }
26
+ retrievePassingOptions() {
27
+ return pick(this.passingOptionsNames, this);
28
+ }
29
+ retrieveFixedFields(specPath) {
30
+ const fixedFields = path(['visitors', ...specPath, 'fixedFields'], this.specObj);
31
+ if (typeof fixedFields === 'object' && fixedFields !== null) {
32
+ return Object.keys(fixedFields);
33
+ }
34
+ return [];
35
+ }
36
+ retrieveVisitor(specPath) {
37
+ if (pathSatisfies(isFunction, ['visitors', ...specPath], this.specObj)) {
38
+ return path(['visitors', ...specPath], this.specObj);
39
+ }
40
+ return path(['visitors', ...specPath, '$visitor'], this.specObj);
41
+ }
42
+ retrieveVisitorInstance(specPath, options = {}) {
43
+ const passingOpts = this.retrievePassingOptions();
44
+ const VisitorClz = this.retrieveVisitor(specPath);
45
+ const visitorOpts = {
46
+ ...passingOpts,
47
+ ...options
48
+ };
49
+ return new VisitorClz(visitorOpts);
50
+ }
51
+ toRefractedElement(specPath, element, options = {}) {
52
+ /**
53
+ * This is `Visitor shortcut`: a mechanism for short-circuiting the traversal and replacing
54
+ * it by basic node cloning.
55
+ *
56
+ * Visiting the element is equivalent to cloning it if the prototype of a visitor
57
+ * is the same as the prototype of FallbackVisitor. If that's the case, we can avoid
58
+ * bootstrapping the traversal cycle for fields that don't require any special visiting.
59
+ */
60
+ const visitor = this.retrieveVisitorInstance(specPath, options);
61
+ if (visitor instanceof FallbackVisitor && visitor?.constructor === FallbackVisitor) {
62
+ return cloneDeep(element);
63
+ }
64
+ visit(element, visitor, options);
65
+ return visitor.element;
66
+ }
67
+ }
68
+ export default SpecificationVisitor;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+ var _apidomCore = require("@speclynx/apidom-core");
6
+ /**
7
+ * @public
8
+ */
9
+
10
+ /**
11
+ * @public
12
+ */
13
+ class Visitor {
14
+ element;
15
+ constructor(options = {}) {
16
+ Object.assign(this, options);
17
+ }
18
+ copyMetaAndAttributes(from, to) {
19
+ if (from.meta.length > 0 || to.meta.length > 0) {
20
+ to.meta = (0, _apidomCore.deepmerge)(to.meta, from.meta);
21
+ if ((0, _apidomCore.hasElementSourceMap)(from)) {
22
+ // avoid deep merging of source maps
23
+ to.meta.set('sourceMap', from.meta.get('sourceMap'));
24
+ }
25
+ }
26
+ if (from.attributes.length > 0 || from.meta.length > 0) {
27
+ to.attributes = (0, _apidomCore.deepmerge)(to.attributes, from.attributes);
28
+ }
29
+ }
30
+ }
31
+ var _default = exports.default = Visitor;
@@ -0,0 +1,28 @@
1
+ import { deepmerge, hasElementSourceMap } from '@speclynx/apidom-core';
2
+
3
+ /**
4
+ * @public
5
+ */
6
+
7
+ /**
8
+ * @public
9
+ */
10
+ class Visitor {
11
+ element;
12
+ constructor(options = {}) {
13
+ Object.assign(this, options);
14
+ }
15
+ copyMetaAndAttributes(from, to) {
16
+ if (from.meta.length > 0 || to.meta.length > 0) {
17
+ to.meta = deepmerge(to.meta, from.meta);
18
+ if (hasElementSourceMap(from)) {
19
+ // avoid deep merging of source maps
20
+ to.meta.set('sourceMap', from.meta.get('sourceMap'));
21
+ }
22
+ }
23
+ if (from.attributes.length > 0 || from.meta.length > 0) {
24
+ to.attributes = deepmerge(to.attributes, from.attributes);
25
+ }
26
+ }
27
+ }
28
+ export default Visitor;
@@ -0,0 +1,26 @@
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 _tsMixer = require("ts-mixer");
7
+ var _apidomCore = require("@speclynx/apidom-core");
8
+ var _FallbackVisitor = _interopRequireDefault(require("../FallbackVisitor.cjs"));
9
+ var _SpecificationVisitor = _interopRequireDefault(require("../SpecificationVisitor.cjs"));
10
+ var _Arazzo = _interopRequireDefault(require("../../../elements/Arazzo.cjs"));
11
+ /**
12
+ * @public
13
+ */
14
+
15
+ /**
16
+ * @public
17
+ */
18
+ class ArazzoVisitor extends (0, _tsMixer.Mixin)(_SpecificationVisitor.default, _FallbackVisitor.default) {
19
+ StringElement(stringElement) {
20
+ const arazzoElement = new _Arazzo.default((0, _apidomCore.toValue)(stringElement));
21
+ this.copyMetaAndAttributes(stringElement, arazzoElement);
22
+ this.element = arazzoElement;
23
+ return _apidomCore.BREAK;
24
+ }
25
+ }
26
+ var _default = exports.default = ArazzoVisitor;
@@ -0,0 +1,20 @@
1
+ import { Mixin } from 'ts-mixer';
2
+ import { BREAK, toValue } from '@speclynx/apidom-core';
3
+ import FallbackVisitor from "../FallbackVisitor.mjs";
4
+ import SpecificationVisitor from "../SpecificationVisitor.mjs";
5
+ import ArazzoElement from "../../../elements/Arazzo.mjs";
6
+ /**
7
+ * @public
8
+ */
9
+ /**
10
+ * @public
11
+ */
12
+ class ArazzoVisitor extends Mixin(SpecificationVisitor, FallbackVisitor) {
13
+ StringElement(stringElement) {
14
+ const arazzoElement = new ArazzoElement(toValue(stringElement));
15
+ this.copyMetaAndAttributes(stringElement, arazzoElement);
16
+ this.element = arazzoElement;
17
+ return BREAK;
18
+ }
19
+ }
20
+ export default ArazzoVisitor;