@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.
- package/CHANGELOG.md +84 -0
- package/LICENSE +202 -0
- package/LICENSES/AFL-3.0.txt +182 -0
- package/LICENSES/Apache-2.0.txt +202 -0
- package/LICENSES/BSD-3-Clause.txt +26 -0
- package/LICENSES/MIT.txt +9 -0
- package/NOTICE +65 -0
- package/README.md +206 -0
- package/dist/apidom-ns-arazzo-1.browser.js +24106 -0
- package/dist/apidom-ns-arazzo-1.browser.min.js +1 -0
- package/package.json +64 -0
- package/src/elements/Arazzo.cjs +17 -0
- package/src/elements/Arazzo.mjs +14 -0
- package/src/elements/ArazzoSpecification1.cjs +47 -0
- package/src/elements/ArazzoSpecification1.mjs +43 -0
- package/src/elements/Components.cjs +39 -0
- package/src/elements/Components.mjs +35 -0
- package/src/elements/Criterion.cjs +33 -0
- package/src/elements/Criterion.mjs +29 -0
- package/src/elements/CriterionExpressionType.cjs +27 -0
- package/src/elements/CriterionExpressionType.mjs +24 -0
- package/src/elements/FailureAction.cjs +57 -0
- package/src/elements/FailureAction.mjs +53 -0
- package/src/elements/Info.cjs +40 -0
- package/src/elements/Info.mjs +37 -0
- package/src/elements/JSONSchema.cjs +10 -0
- package/src/elements/JSONSchema.mjs +7 -0
- package/src/elements/Parameter.cjs +33 -0
- package/src/elements/Parameter.mjs +30 -0
- package/src/elements/PayloadReplacement.cjs +27 -0
- package/src/elements/PayloadReplacement.mjs +24 -0
- package/src/elements/RequestBody.cjs +33 -0
- package/src/elements/RequestBody.mjs +29 -0
- package/src/elements/Reusable.cjs +28 -0
- package/src/elements/Reusable.mjs +25 -0
- package/src/elements/SourceDescription.cjs +33 -0
- package/src/elements/SourceDescription.mjs +30 -0
- package/src/elements/Step.cjs +81 -0
- package/src/elements/Step.mjs +77 -0
- package/src/elements/SuccessAction.cjs +45 -0
- package/src/elements/SuccessAction.mjs +41 -0
- package/src/elements/Workflow.cjs +75 -0
- package/src/elements/Workflow.mjs +71 -0
- package/src/elements/nces/ComponentsFailureActions.cjs +16 -0
- package/src/elements/nces/ComponentsFailureActions.mjs +13 -0
- package/src/elements/nces/ComponentsInputs.cjs +16 -0
- package/src/elements/nces/ComponentsInputs.mjs +13 -0
- package/src/elements/nces/ComponentsParameters.cjs +17 -0
- package/src/elements/nces/ComponentsParameters.mjs +14 -0
- package/src/elements/nces/ComponentsSuccessActions.cjs +16 -0
- package/src/elements/nces/ComponentsSuccessActions.mjs +13 -0
- package/src/elements/nces/FailureActionCriteria.cjs +17 -0
- package/src/elements/nces/FailureActionCriteria.mjs +14 -0
- package/src/elements/nces/RequestBodyReplacements.cjs +16 -0
- package/src/elements/nces/RequestBodyReplacements.mjs +13 -0
- package/src/elements/nces/SourceDescriptions.cjs +16 -0
- package/src/elements/nces/SourceDescriptions.mjs +13 -0
- package/src/elements/nces/StepDependsOn.cjs +16 -0
- package/src/elements/nces/StepDependsOn.mjs +13 -0
- package/src/elements/nces/StepOnFailure.cjs +16 -0
- package/src/elements/nces/StepOnFailure.mjs +13 -0
- package/src/elements/nces/StepOnSuccess.cjs +16 -0
- package/src/elements/nces/StepOnSuccess.mjs +13 -0
- package/src/elements/nces/StepOutputs.cjs +16 -0
- package/src/elements/nces/StepOutputs.mjs +13 -0
- package/src/elements/nces/StepParameters.cjs +17 -0
- package/src/elements/nces/StepParameters.mjs +14 -0
- package/src/elements/nces/StepSuccessCriteria.cjs +17 -0
- package/src/elements/nces/StepSuccessCriteria.mjs +14 -0
- package/src/elements/nces/SuccessActionCriteria.cjs +17 -0
- package/src/elements/nces/SuccessActionCriteria.mjs +14 -0
- package/src/elements/nces/WorkflowDependsOn.cjs +16 -0
- package/src/elements/nces/WorkflowDependsOn.mjs +13 -0
- package/src/elements/nces/WorkflowFailureActions.cjs +16 -0
- package/src/elements/nces/WorkflowFailureActions.mjs +13 -0
- package/src/elements/nces/WorkflowOutputs.cjs +16 -0
- package/src/elements/nces/WorkflowOutputs.mjs +13 -0
- package/src/elements/nces/WorkflowParameters.cjs +17 -0
- package/src/elements/nces/WorkflowParameters.mjs +14 -0
- package/src/elements/nces/WorkflowSteps.cjs +16 -0
- package/src/elements/nces/WorkflowSteps.mjs +13 -0
- package/src/elements/nces/WorkflowSuccessActions.cjs +16 -0
- package/src/elements/nces/WorkflowSuccessActions.mjs +13 -0
- package/src/elements/nces/Workflows.cjs +16 -0
- package/src/elements/nces/Workflows.mjs +13 -0
- package/src/index.cjs +146 -0
- package/src/index.mjs +38 -0
- package/src/media-types.cjs +34 -0
- package/src/media-types.mjs +30 -0
- package/src/namespace.cjs +49 -0
- package/src/namespace.mjs +44 -0
- package/src/predicates.cjs +467 -0
- package/src/predicates.mjs +461 -0
- package/src/refractor/index.cjs +52 -0
- package/src/refractor/index.mjs +46 -0
- package/src/refractor/plugins/replace-empty-element.cjs +89 -0
- package/src/refractor/plugins/replace-empty-element.mjs +83 -0
- package/src/refractor/predicates.cjs +17 -0
- package/src/refractor/predicates.mjs +11 -0
- package/src/refractor/registration.cjs +53 -0
- package/src/refractor/registration.mjs +34 -0
- package/src/refractor/specification.cjs +294 -0
- package/src/refractor/specification.mjs +289 -0
- package/src/refractor/toolbox.cjs +31 -0
- package/src/refractor/toolbox.mjs +23 -0
- package/src/refractor/visitors/FallbackVisitor.cjs +24 -0
- package/src/refractor/visitors/FallbackVisitor.mjs +18 -0
- package/src/refractor/visitors/SpecificationExtensionVisitor.cjs +18 -0
- package/src/refractor/visitors/SpecificationExtensionVisitor.mjs +13 -0
- package/src/refractor/visitors/SpecificationVisitor.cjs +74 -0
- package/src/refractor/visitors/SpecificationVisitor.mjs +68 -0
- package/src/refractor/visitors/Visitor.cjs +31 -0
- package/src/refractor/visitors/Visitor.mjs +28 -0
- package/src/refractor/visitors/arazzo-1/ArazzoVisitor.cjs +26 -0
- package/src/refractor/visitors/arazzo-1/ArazzoVisitor.mjs +20 -0
- package/src/refractor/visitors/arazzo-1/SourceDescriptionsVisitor.cjs +34 -0
- package/src/refractor/visitors/arazzo-1/SourceDescriptionsVisitor.mjs +28 -0
- package/src/refractor/visitors/arazzo-1/WorkflowsVisitor.cjs +34 -0
- package/src/refractor/visitors/arazzo-1/WorkflowsVisitor.mjs +28 -0
- package/src/refractor/visitors/arazzo-1/components/FailureActionsVisitor.cjs +26 -0
- package/src/refractor/visitors/arazzo-1/components/FailureActionsVisitor.mjs +20 -0
- package/src/refractor/visitors/arazzo-1/components/InputsVisitor.cjs +26 -0
- package/src/refractor/visitors/arazzo-1/components/InputsVisitor.mjs +20 -0
- package/src/refractor/visitors/arazzo-1/components/ParametersVisitor.cjs +26 -0
- package/src/refractor/visitors/arazzo-1/components/ParametersVisitor.mjs +20 -0
- package/src/refractor/visitors/arazzo-1/components/SuccessActionsVisitor.cjs +26 -0
- package/src/refractor/visitors/arazzo-1/components/SuccessActionsVisitor.mjs +20 -0
- package/src/refractor/visitors/arazzo-1/components/index.cjs +26 -0
- package/src/refractor/visitors/arazzo-1/components/index.mjs +20 -0
- package/src/refractor/visitors/arazzo-1/criterion/TypeVisitor.cjs +22 -0
- package/src/refractor/visitors/arazzo-1/criterion/TypeVisitor.mjs +16 -0
- package/src/refractor/visitors/arazzo-1/criterion/index.cjs +26 -0
- package/src/refractor/visitors/arazzo-1/criterion/index.mjs +20 -0
- package/src/refractor/visitors/arazzo-1/criterion-expression-type/VersionVisitor.cjs +17 -0
- package/src/refractor/visitors/arazzo-1/criterion-expression-type/VersionVisitor.mjs +12 -0
- package/src/refractor/visitors/arazzo-1/criterion-expression-type/index.cjs +26 -0
- package/src/refractor/visitors/arazzo-1/criterion-expression-type/index.mjs +20 -0
- package/src/refractor/visitors/arazzo-1/failure-action/CriteriaVisitor.cjs +34 -0
- package/src/refractor/visitors/arazzo-1/failure-action/CriteriaVisitor.mjs +28 -0
- package/src/refractor/visitors/arazzo-1/failure-action/index.cjs +26 -0
- package/src/refractor/visitors/arazzo-1/failure-action/index.mjs +20 -0
- package/src/refractor/visitors/arazzo-1/index.cjs +32 -0
- package/src/refractor/visitors/arazzo-1/index.mjs +26 -0
- package/src/refractor/visitors/arazzo-1/info/VersionVisitor.cjs +18 -0
- package/src/refractor/visitors/arazzo-1/info/VersionVisitor.mjs +13 -0
- package/src/refractor/visitors/arazzo-1/info/index.cjs +26 -0
- package/src/refractor/visitors/arazzo-1/info/index.mjs +20 -0
- package/src/refractor/visitors/arazzo-1/json-schema/index.cjs +17 -0
- package/src/refractor/visitors/arazzo-1/json-schema/index.mjs +12 -0
- package/src/refractor/visitors/arazzo-1/parameter/index.cjs +26 -0
- package/src/refractor/visitors/arazzo-1/parameter/index.mjs +20 -0
- package/src/refractor/visitors/arazzo-1/payload-replacement/index.cjs +26 -0
- package/src/refractor/visitors/arazzo-1/payload-replacement/index.mjs +20 -0
- package/src/refractor/visitors/arazzo-1/request-body/Replacements.cjs +34 -0
- package/src/refractor/visitors/arazzo-1/request-body/Replacements.mjs +28 -0
- package/src/refractor/visitors/arazzo-1/request-body/index.cjs +26 -0
- package/src/refractor/visitors/arazzo-1/request-body/index.mjs +20 -0
- package/src/refractor/visitors/arazzo-1/reusable/ReferenceVisitor.cjs +18 -0
- package/src/refractor/visitors/arazzo-1/reusable/ReferenceVisitor.mjs +12 -0
- package/src/refractor/visitors/arazzo-1/reusable/index.cjs +36 -0
- package/src/refractor/visitors/arazzo-1/reusable/index.mjs +30 -0
- package/src/refractor/visitors/arazzo-1/source-description/UrlVisitor.cjs +17 -0
- package/src/refractor/visitors/arazzo-1/source-description/UrlVisitor.mjs +12 -0
- package/src/refractor/visitors/arazzo-1/source-description/index.cjs +26 -0
- package/src/refractor/visitors/arazzo-1/source-description/index.mjs +20 -0
- package/src/refractor/visitors/arazzo-1/step/OnFailureVisitor.cjs +38 -0
- package/src/refractor/visitors/arazzo-1/step/OnFailureVisitor.mjs +32 -0
- package/src/refractor/visitors/arazzo-1/step/OnSuccessVisitor.cjs +38 -0
- package/src/refractor/visitors/arazzo-1/step/OnSuccessVisitor.mjs +32 -0
- package/src/refractor/visitors/arazzo-1/step/OutputsVisitor.cjs +25 -0
- package/src/refractor/visitors/arazzo-1/step/OutputsVisitor.mjs +19 -0
- package/src/refractor/visitors/arazzo-1/step/ParametersVisitor.cjs +38 -0
- package/src/refractor/visitors/arazzo-1/step/ParametersVisitor.mjs +32 -0
- package/src/refractor/visitors/arazzo-1/step/SuccessCriteriaVisitor.cjs +33 -0
- package/src/refractor/visitors/arazzo-1/step/SuccessCriteriaVisitor.mjs +27 -0
- package/src/refractor/visitors/arazzo-1/step/index.cjs +26 -0
- package/src/refractor/visitors/arazzo-1/step/index.mjs +20 -0
- package/src/refractor/visitors/arazzo-1/success-action/CriteriaVisitor.cjs +34 -0
- package/src/refractor/visitors/arazzo-1/success-action/CriteriaVisitor.mjs +28 -0
- package/src/refractor/visitors/arazzo-1/success-action/index.cjs +26 -0
- package/src/refractor/visitors/arazzo-1/success-action/index.mjs +20 -0
- package/src/refractor/visitors/arazzo-1/workflow/DependsOnVisitor.cjs +34 -0
- package/src/refractor/visitors/arazzo-1/workflow/DependsOnVisitor.mjs +28 -0
- package/src/refractor/visitors/arazzo-1/workflow/FailureActionsVisitor.cjs +38 -0
- package/src/refractor/visitors/arazzo-1/workflow/FailureActionsVisitor.mjs +32 -0
- package/src/refractor/visitors/arazzo-1/workflow/OutputsVisitor.cjs +25 -0
- package/src/refractor/visitors/arazzo-1/workflow/OutputsVisitor.mjs +19 -0
- package/src/refractor/visitors/arazzo-1/workflow/ParametersVisitor.cjs +38 -0
- package/src/refractor/visitors/arazzo-1/workflow/ParametersVisitor.mjs +32 -0
- package/src/refractor/visitors/arazzo-1/workflow/StepsVisitor.cjs +33 -0
- package/src/refractor/visitors/arazzo-1/workflow/StepsVisitor.mjs +27 -0
- package/src/refractor/visitors/arazzo-1/workflow/SuccessActionsVisitor.cjs +38 -0
- package/src/refractor/visitors/arazzo-1/workflow/SuccessActionsVisitor.mjs +32 -0
- package/src/refractor/visitors/arazzo-1/workflow/index.cjs +26 -0
- package/src/refractor/visitors/arazzo-1/workflow/index.mjs +20 -0
- package/src/refractor/visitors/generics/FixedFieldsVisitor.cjs +67 -0
- package/src/refractor/visitors/generics/FixedFieldsVisitor.mjs +60 -0
- package/src/refractor/visitors/generics/MapVisitor.cjs +21 -0
- package/src/refractor/visitors/generics/MapVisitor.mjs +15 -0
- package/src/refractor/visitors/generics/PatternedFieldsVisitor.cjs +67 -0
- package/src/refractor/visitors/generics/PatternedFieldsVisitor.mjs +61 -0
- package/src/traversal/visitor.cjs +38 -0
- package/src/traversal/visitor.mjs +35 -0
- 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;
|