@speclynx/apidom-ls 2.11.7 → 2.12.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.
- package/CHANGELOG.md +6 -0
- package/dist/apidom-ls.browser.min.js +3 -3
- package/package.json +35 -30
- package/src/config/arazzo/arazzoSpecification1/lint/$self--format-uri.cjs +23 -0
- package/src/config/arazzo/arazzoSpecification1/lint/$self--format-uri.mjs +16 -0
- package/src/config/arazzo/arazzoSpecification1/lint/$self--no-fragment.cjs +23 -0
- package/src/config/arazzo/arazzoSpecification1/lint/$self--no-fragment.mjs +16 -0
- package/src/config/arazzo/arazzoSpecification1/lint/$self--type.cjs +23 -0
- package/src/config/arazzo/arazzoSpecification1/lint/$self--type.mjs +16 -0
- package/src/config/arazzo/arazzoSpecification1/lint/{allowed-fields.cjs → allowed-fields-1-0.cjs} +4 -3
- package/src/config/arazzo/arazzoSpecification1/lint/{allowed-fields.mjs → allowed-fields-1-0.mjs} +4 -4
- package/src/config/arazzo/arazzoSpecification1/lint/allowed-fields-1-1.cjs +21 -0
- package/src/config/arazzo/arazzoSpecification1/lint/allowed-fields-1-1.mjs +14 -0
- package/src/config/arazzo/arazzoSpecification1/lint/arazzo--pattern.cjs +2 -2
- package/src/config/arazzo/arazzoSpecification1/lint/arazzo--pattern.mjs +2 -2
- package/src/config/arazzo/arazzoSpecification1/lint/index.cjs +6 -2
- package/src/config/arazzo/arazzoSpecification1/lint/index.mjs +6 -2
- package/src/config/arazzo/config.cjs +6 -4
- package/src/config/arazzo/config.mjs +4 -2
- package/src/config/arazzo/criterion/lint/type--equals.cjs +1 -1
- package/src/config/arazzo/criterion/lint/type--equals.mjs +1 -1
- package/src/config/arazzo/{criterionExpressionType → expressionType}/lint/index.cjs +7 -3
- package/src/config/arazzo/expressionType/lint/index.mjs +12 -0
- package/src/config/arazzo/{criterionExpressionType/lint/type--equals.cjs → expressionType/lint/type--equals-1-0.cjs} +5 -4
- package/src/config/arazzo/{criterionExpressionType/lint/type--equals.mjs → expressionType/lint/type--equals-1-0.mjs} +5 -5
- package/src/config/arazzo/expressionType/lint/type--equals-1-1.cjs +23 -0
- package/src/config/arazzo/expressionType/lint/type--equals-1-1.mjs +16 -0
- package/src/config/arazzo/{criterionExpressionType → expressionType}/lint/type--required.cjs +1 -1
- package/src/config/arazzo/{criterionExpressionType → expressionType}/lint/type--required.mjs +1 -1
- package/src/config/arazzo/{criterionExpressionType → expressionType}/lint/type--type.cjs +1 -1
- package/src/config/arazzo/{criterionExpressionType → expressionType}/lint/type--type.mjs +1 -1
- package/src/config/arazzo/expressionType/lint/version--equals-jsonpath.cjs +30 -0
- package/src/config/arazzo/expressionType/lint/version--equals-jsonpath.mjs +23 -0
- package/src/config/arazzo/expressionType/lint/version--equals-jsonpointer.cjs +30 -0
- package/src/config/arazzo/expressionType/lint/version--equals-jsonpointer.mjs +23 -0
- package/src/config/arazzo/expressionType/lint/version--equals-xpath.cjs +30 -0
- package/src/config/arazzo/expressionType/lint/version--equals-xpath.mjs +23 -0
- package/src/config/arazzo/{criterionExpressionType/lint/version--required.cjs → expressionType/lint/version--required-1-0.cjs} +9 -4
- package/src/config/arazzo/expressionType/lint/version--required-1-0.mjs +26 -0
- package/src/config/arazzo/{criterionExpressionType → expressionType}/lint/version--type.cjs +1 -1
- package/src/config/arazzo/{criterionExpressionType → expressionType}/lint/version--type.mjs +1 -1
- package/src/config/arazzo/failureAction/lint/allowed-fields-1-0.cjs +27 -0
- package/src/config/arazzo/failureAction/lint/allowed-fields-1-0.mjs +19 -0
- package/src/config/arazzo/failureAction/lint/{allowed-fields.cjs → allowed-fields-1-1.cjs} +4 -4
- package/src/config/arazzo/failureAction/lint/{allowed-fields.mjs → allowed-fields-1-1.mjs} +5 -5
- package/src/config/arazzo/failureAction/lint/index.cjs +8 -2
- package/src/config/arazzo/failureAction/lint/index.mjs +8 -2
- package/src/config/arazzo/failureAction/lint/parameters--only-workflow-id.cjs +28 -0
- package/src/config/arazzo/failureAction/lint/parameters--only-workflow-id.mjs +21 -0
- package/src/config/arazzo/failureAction/lint/parameters--type.cjs +23 -0
- package/src/config/arazzo/failureAction/lint/parameters--type.mjs +16 -0
- package/src/config/arazzo/failureAction/lint/step-id--pattern.cjs +26 -0
- package/src/config/arazzo/failureAction/lint/step-id--pattern.mjs +18 -0
- package/src/config/arazzo/failureAction/lint/workflow-id--pattern.cjs +35 -0
- package/src/config/arazzo/failureAction/lint/workflow-id--pattern.mjs +27 -0
- package/src/config/arazzo/failureAction/lint/workflow-id--source-type-consistency.cjs +23 -0
- package/src/config/arazzo/failureAction/lint/workflow-id--source-type-consistency.mjs +16 -0
- package/src/config/arazzo/payloadReplacement/lint/allowed-fields-1-0.cjs +23 -0
- package/src/config/arazzo/payloadReplacement/lint/allowed-fields-1-0.mjs +15 -0
- package/src/config/arazzo/payloadReplacement/lint/allowed-fields-1-1.cjs +21 -0
- package/src/config/arazzo/payloadReplacement/lint/allowed-fields-1-1.mjs +14 -0
- package/src/config/arazzo/payloadReplacement/lint/index.cjs +5 -2
- package/src/config/arazzo/payloadReplacement/lint/index.mjs +5 -2
- package/src/config/arazzo/payloadReplacement/lint/target-selector-type--equals.cjs +30 -0
- package/src/config/arazzo/payloadReplacement/lint/target-selector-type--equals.mjs +23 -0
- package/src/config/arazzo/payloadReplacement/lint/target-selector-type--type.cjs +31 -0
- package/src/config/arazzo/payloadReplacement/lint/target-selector-type--type.mjs +24 -0
- package/src/config/arazzo/{payloadReplacement → selector}/lint/allowed-fields.cjs +2 -2
- package/src/config/arazzo/{payloadReplacement → selector}/lint/allowed-fields.mjs +3 -3
- package/src/config/arazzo/selector/lint/context--type.cjs +23 -0
- package/src/config/arazzo/selector/lint/context--type.mjs +16 -0
- package/src/config/arazzo/selector/lint/index.cjs +18 -0
- package/src/config/arazzo/selector/lint/index.mjs +10 -0
- package/src/config/arazzo/selector/lint/selector--type.cjs +23 -0
- package/src/config/arazzo/selector/lint/selector--type.mjs +16 -0
- package/src/config/arazzo/selector/lint/type--equals.cjs +30 -0
- package/src/config/arazzo/selector/lint/type--equals.mjs +23 -0
- package/src/config/arazzo/selector/lint/type--type.cjs +31 -0
- package/src/config/arazzo/selector/lint/type--type.mjs +24 -0
- package/src/config/arazzo/selector/meta.cjs +12 -0
- package/src/config/arazzo/selector/meta.mjs +5 -0
- package/src/config/arazzo/sourceDescription/lint/index.cjs +3 -2
- package/src/config/arazzo/sourceDescription/lint/index.mjs +3 -2
- package/src/config/arazzo/sourceDescription/lint/name--pattern.cjs +2 -2
- package/src/config/arazzo/sourceDescription/lint/name--pattern.mjs +2 -2
- package/src/config/arazzo/sourceDescription/lint/{type--equals.cjs → type--equals-1-0.cjs} +3 -3
- package/src/config/arazzo/sourceDescription/lint/{type--equals.mjs → type--equals-1-0.mjs} +4 -4
- package/src/config/arazzo/sourceDescription/lint/type--equals-1-1.cjs +23 -0
- package/src/config/arazzo/sourceDescription/lint/type--equals-1-1.mjs +16 -0
- package/src/config/arazzo/step/lint/action--equals.cjs +23 -0
- package/src/config/arazzo/step/lint/action--equals.mjs +16 -0
- package/src/config/arazzo/step/lint/action--type.cjs +23 -0
- package/src/config/arazzo/step/lint/action--type.mjs +16 -0
- package/src/config/arazzo/step/lint/{allowed-fields.cjs → allowed-fields-1-0.cjs} +5 -3
- package/src/config/arazzo/step/lint/{allowed-fields.mjs → allowed-fields-1-0.mjs} +5 -4
- package/src/config/arazzo/step/lint/allowed-fields-1-1.cjs +21 -0
- package/src/config/arazzo/step/lint/allowed-fields-1-1.mjs +14 -0
- package/src/config/arazzo/step/lint/channel-path--mutually-exclusive.cjs +28 -0
- package/src/config/arazzo/step/lint/channel-path--mutually-exclusive.mjs +21 -0
- package/src/config/arazzo/step/lint/channel-path--type.cjs +23 -0
- package/src/config/arazzo/step/lint/channel-path--type.mjs +16 -0
- package/src/config/arazzo/step/lint/correlation-id--only-action-receive.cjs +34 -0
- package/src/config/arazzo/step/lint/correlation-id--only-action-receive.mjs +26 -0
- package/src/config/arazzo/step/lint/correlation-id--requires-action.cjs +30 -0
- package/src/config/arazzo/step/lint/correlation-id--requires-action.mjs +22 -0
- package/src/config/arazzo/step/lint/depends-on--resolved.cjs +32 -0
- package/src/config/arazzo/step/lint/depends-on--resolved.mjs +24 -0
- package/src/config/arazzo/step/lint/depends-on--source-type-consistency.cjs +23 -0
- package/src/config/arazzo/step/lint/depends-on--source-type-consistency.mjs +16 -0
- package/src/config/arazzo/step/lint/depends-on--type.cjs +23 -0
- package/src/config/arazzo/step/lint/depends-on--type.mjs +16 -0
- package/src/config/arazzo/step/lint/depends-on--unique.cjs +23 -0
- package/src/config/arazzo/step/lint/depends-on--unique.mjs +16 -0
- package/src/config/arazzo/step/lint/index.cjs +20 -3
- package/src/config/arazzo/step/lint/index.mjs +20 -3
- package/src/config/arazzo/step/lint/operation-id--mutually-exclusive.cjs +2 -2
- package/src/config/arazzo/step/lint/operation-id--mutually-exclusive.mjs +2 -2
- package/src/config/arazzo/step/lint/operation-id--source-type-consistency-1-0.cjs +25 -0
- package/src/config/arazzo/step/lint/operation-id--source-type-consistency-1-0.mjs +17 -0
- package/src/config/arazzo/step/lint/operation-id--source-type-consistency-1-1.cjs +23 -0
- package/src/config/arazzo/step/lint/operation-id--source-type-consistency-1-1.mjs +16 -0
- package/src/config/arazzo/step/lint/operation-path--mutually-exclusive.cjs +2 -2
- package/src/config/arazzo/step/lint/operation-path--mutually-exclusive.mjs +2 -2
- package/src/config/arazzo/step/lint/{outputs--values-type.cjs → outputs--values-type-1-0.cjs} +5 -3
- package/src/config/arazzo/step/lint/{outputs--values-type.mjs → outputs--values-type-1-0.mjs} +5 -4
- package/src/config/arazzo/step/lint/outputs--values-type-1-1.cjs +24 -0
- package/src/config/arazzo/step/lint/outputs--values-type-1-1.mjs +16 -0
- package/src/config/arazzo/step/lint/step-id--pattern.cjs +2 -2
- package/src/config/arazzo/step/lint/step-id--pattern.mjs +2 -2
- package/src/config/arazzo/step/lint/timeout--type.cjs +23 -0
- package/src/config/arazzo/step/lint/timeout--type.mjs +16 -0
- package/src/config/arazzo/step/lint/workflow-id--mutually-exclusive.cjs +2 -2
- package/src/config/arazzo/step/lint/workflow-id--mutually-exclusive.mjs +2 -2
- package/src/config/arazzo/step/lint/workflow-id--pattern.cjs +34 -0
- package/src/config/arazzo/step/lint/workflow-id--pattern.mjs +26 -0
- package/src/config/arazzo/step/lint/workflow-id--source-type-consistency.cjs +23 -0
- package/src/config/arazzo/step/lint/workflow-id--source-type-consistency.mjs +16 -0
- package/src/config/arazzo/successAction/lint/{allowed-fields.cjs → allowed-fields-1-0.cjs} +5 -3
- package/src/config/arazzo/successAction/lint/{allowed-fields.mjs → allowed-fields-1-0.mjs} +5 -4
- package/src/config/arazzo/successAction/lint/allowed-fields-1-1.cjs +25 -0
- package/src/config/arazzo/successAction/lint/allowed-fields-1-1.mjs +18 -0
- package/src/config/arazzo/successAction/lint/index.cjs +8 -2
- package/src/config/arazzo/successAction/lint/index.mjs +8 -2
- package/src/config/arazzo/successAction/lint/parameters--only-workflow-id.cjs +28 -0
- package/src/config/arazzo/successAction/lint/parameters--only-workflow-id.mjs +21 -0
- package/src/config/arazzo/successAction/lint/parameters--type.cjs +23 -0
- package/src/config/arazzo/successAction/lint/parameters--type.mjs +16 -0
- package/src/config/arazzo/successAction/lint/step-id--pattern.cjs +26 -0
- package/src/config/arazzo/successAction/lint/step-id--pattern.mjs +18 -0
- package/src/config/arazzo/successAction/lint/workflow-id--pattern.cjs +35 -0
- package/src/config/arazzo/successAction/lint/workflow-id--pattern.mjs +27 -0
- package/src/config/arazzo/successAction/lint/workflow-id--source-type-consistency.cjs +23 -0
- package/src/config/arazzo/successAction/lint/workflow-id--source-type-consistency.mjs +16 -0
- package/src/config/arazzo/target-specs.cjs +33 -5
- package/src/config/arazzo/target-specs.mjs +32 -4
- package/src/config/arazzo/workflow/lint/depends-on--source-type-consistency.cjs +23 -0
- package/src/config/arazzo/workflow/lint/depends-on--source-type-consistency.mjs +16 -0
- package/src/config/arazzo/workflow/lint/index.cjs +4 -2
- package/src/config/arazzo/workflow/lint/index.mjs +4 -2
- package/src/config/arazzo/workflow/lint/{outputs--values-type.cjs → outputs--values-type-1-0.cjs} +5 -3
- package/src/config/arazzo/workflow/lint/{outputs--values-type.mjs → outputs--values-type-1-0.mjs} +5 -4
- package/src/config/arazzo/workflow/lint/outputs--values-type-1-1.cjs +24 -0
- package/src/config/arazzo/workflow/lint/outputs--values-type-1-1.mjs +16 -0
- package/src/config/arazzo/workflow/lint/workflow-id--pattern.cjs +2 -2
- package/src/config/arazzo/workflow/lint/workflow-id--pattern.mjs +2 -2
- package/src/config/codes.cjs +50 -7
- package/src/config/codes.mjs +50 -7
- package/src/index.cjs +7 -0
- package/src/index.mjs +1 -0
- package/src/services/validation/linter-functions.cjs +150 -1
- package/src/services/validation/linter-functions.mjs +151 -2
- package/src/services/validation/providers/arazzo-11-json-schema-validation-provider.cjs +852 -0
- package/src/services/validation/providers/arazzo-11-json-schema-validation-provider.mjs +845 -0
- package/src/services/validation/validation-service.cjs +7 -1
- package/src/services/validation/validation-service.mjs +7 -1
- package/types/apidom-ls.d.ts +82 -7
- package/src/config/arazzo/criterionExpressionType/lint/index.mjs +0 -8
- package/src/config/arazzo/criterionExpressionType/lint/version--required.mjs +0 -22
- /package/src/config/arazzo/{criterionExpressionType → expressionType}/lint/allowed-fields.cjs +0 -0
- /package/src/config/arazzo/{criterionExpressionType → expressionType}/lint/allowed-fields.mjs +0 -0
- /package/src/config/arazzo/{criterionExpressionType → expressionType}/meta.cjs +0 -0
- /package/src/config/arazzo/{criterionExpressionType → expressionType}/meta.mjs +0 -0
package/src/config/codes.cjs
CHANGED
|
@@ -1045,6 +1045,9 @@ var ApilintCodes = /*#__PURE__*/function (ApilintCodes) {
|
|
|
1045
1045
|
ApilintCodes[ApilintCodes["ARAZZO_SPEC_FIELD_WORKFLOWS_NON_EMPTY"] = 9020402] = "ARAZZO_SPEC_FIELD_WORKFLOWS_NON_EMPTY";
|
|
1046
1046
|
ApilintCodes[ApilintCodes["ARAZZO_SPEC_FIELD_COMPONENTS_TYPE"] = 9020500] = "ARAZZO_SPEC_FIELD_COMPONENTS_TYPE";
|
|
1047
1047
|
ApilintCodes[ApilintCodes["ARAZZO_SPEC_NO_SCRIPT_TAGS"] = 9020600] = "ARAZZO_SPEC_NO_SCRIPT_TAGS";
|
|
1048
|
+
ApilintCodes[ApilintCodes["ARAZZO_SPEC_FIELD_$SELF_TYPE"] = 9020700] = "ARAZZO_SPEC_FIELD_$SELF_TYPE";
|
|
1049
|
+
ApilintCodes[ApilintCodes["ARAZZO_SPEC_FIELD_$SELF_FORMAT_URI"] = 9020701] = "ARAZZO_SPEC_FIELD_$SELF_FORMAT_URI";
|
|
1050
|
+
ApilintCodes[ApilintCodes["ARAZZO_SPEC_FIELD_$SELF_NO_FRAGMENT"] = 9020702] = "ARAZZO_SPEC_FIELD_$SELF_NO_FRAGMENT";
|
|
1048
1051
|
// Source Description Object
|
|
1049
1052
|
ApilintCodes[ApilintCodes["ARAZZO_SOURCE_DESCRIPTION"] = 9030000] = "ARAZZO_SOURCE_DESCRIPTION";
|
|
1050
1053
|
ApilintCodes[ApilintCodes["ARAZZO_SOURCE_DESCRIPTION_FIELD_NAME_REQUIRED"] = 9030100] = "ARAZZO_SOURCE_DESCRIPTION_FIELD_NAME_REQUIRED";
|
|
@@ -1077,6 +1080,7 @@ var ApilintCodes = /*#__PURE__*/function (ApilintCodes) {
|
|
|
1077
1080
|
ApilintCodes[ApilintCodes["ARAZZO_WORKFLOW_FIELD_WORKFLOW_ID_UNIQUE"] = 9040103] = "ARAZZO_WORKFLOW_FIELD_WORKFLOW_ID_UNIQUE";
|
|
1078
1081
|
ApilintCodes[ApilintCodes["ARAZZO_WORKFLOW_FIELD_DEPENDS_ON_UNIQUE"] = 9040501] = "ARAZZO_WORKFLOW_FIELD_DEPENDS_ON_UNIQUE";
|
|
1079
1082
|
ApilintCodes[ApilintCodes["ARAZZO_WORKFLOW_FIELD_DEPENDS_ON_RESOLVED"] = 9040502] = "ARAZZO_WORKFLOW_FIELD_DEPENDS_ON_RESOLVED";
|
|
1083
|
+
ApilintCodes[ApilintCodes["ARAZZO_WORKFLOW_FIELD_DEPENDS_ON_SOURCE_TYPE"] = 9040503] = "ARAZZO_WORKFLOW_FIELD_DEPENDS_ON_SOURCE_TYPE";
|
|
1080
1084
|
ApilintCodes[ApilintCodes["ARAZZO_WORKFLOW_FIELD_STEP_ID_UNIQUE"] = 9040403] = "ARAZZO_WORKFLOW_FIELD_STEP_ID_UNIQUE";
|
|
1081
1085
|
ApilintCodes[ApilintCodes["ARAZZO_WORKFLOW_FIELD_OUTPUTS_NAMES_UNIQUE"] = 9040803] = "ARAZZO_WORKFLOW_FIELD_OUTPUTS_NAMES_UNIQUE";
|
|
1082
1086
|
ApilintCodes[ApilintCodes["ARAZZO_WORKFLOW_FIELD_OUTPUTS_VALUES_RUNTIME_EXPRESSION"] = 9040804] = "ARAZZO_WORKFLOW_FIELD_OUTPUTS_VALUES_RUNTIME_EXPRESSION";
|
|
@@ -1108,6 +1112,20 @@ var ApilintCodes = /*#__PURE__*/function (ApilintCodes) {
|
|
|
1108
1112
|
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_SUCCESS_ACTIONS_NAMES_UNIQUE"] = 9050601] = "ARAZZO_STEP_FIELD_SUCCESS_ACTIONS_NAMES_UNIQUE";
|
|
1109
1113
|
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_FAILURE_ACTIONS_NAMES_UNIQUE"] = 9050701] = "ARAZZO_STEP_FIELD_FAILURE_ACTIONS_NAMES_UNIQUE";
|
|
1110
1114
|
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_WORKFLOW_ID_RESOLVED"] = 9050304] = "ARAZZO_STEP_FIELD_WORKFLOW_ID_RESOLVED";
|
|
1115
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_WORKFLOW_ID_PATTERN"] = 9050305] = "ARAZZO_STEP_FIELD_WORKFLOW_ID_PATTERN";
|
|
1116
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_OPERATION_ID_SOURCE_TYPE"] = 9050306] = "ARAZZO_STEP_FIELD_OPERATION_ID_SOURCE_TYPE";
|
|
1117
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_WORKFLOW_ID_SOURCE_TYPE"] = 9050307] = "ARAZZO_STEP_FIELD_WORKFLOW_ID_SOURCE_TYPE";
|
|
1118
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_CHANNEL_PATH_TYPE"] = 9051100] = "ARAZZO_STEP_FIELD_CHANNEL_PATH_TYPE";
|
|
1119
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_CHANNEL_PATH_MUTUALLY_EXCLUSIVE"] = 9051101] = "ARAZZO_STEP_FIELD_CHANNEL_PATH_MUTUALLY_EXCLUSIVE";
|
|
1120
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_TIMEOUT_TYPE"] = 9051200] = "ARAZZO_STEP_FIELD_TIMEOUT_TYPE";
|
|
1121
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_CORRELATION_ID_ONLY_ACTION_RECEIVE"] = 9051300] = "ARAZZO_STEP_FIELD_CORRELATION_ID_ONLY_ACTION_RECEIVE";
|
|
1122
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_CORRELATION_ID_REQUIRES_ACTION"] = 9051301] = "ARAZZO_STEP_FIELD_CORRELATION_ID_REQUIRES_ACTION";
|
|
1123
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_ACTION_TYPE"] = 9051400] = "ARAZZO_STEP_FIELD_ACTION_TYPE";
|
|
1124
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_ACTION_EQUALS"] = 9051401] = "ARAZZO_STEP_FIELD_ACTION_EQUALS";
|
|
1125
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_DEPENDS_ON_TYPE"] = 9051500] = "ARAZZO_STEP_FIELD_DEPENDS_ON_TYPE";
|
|
1126
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_DEPENDS_ON_UNIQUE"] = 9051501] = "ARAZZO_STEP_FIELD_DEPENDS_ON_UNIQUE";
|
|
1127
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_DEPENDS_ON_RESOLVED"] = 9051502] = "ARAZZO_STEP_FIELD_DEPENDS_ON_RESOLVED";
|
|
1128
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_DEPENDS_ON_SOURCE_TYPE"] = 9051503] = "ARAZZO_STEP_FIELD_DEPENDS_ON_SOURCE_TYPE";
|
|
1111
1129
|
// Parameter Object
|
|
1112
1130
|
ApilintCodes[ApilintCodes["ARAZZO_PARAMETER"] = 9060000] = "ARAZZO_PARAMETER";
|
|
1113
1131
|
ApilintCodes[ApilintCodes["ARAZZO_PARAMETER_FIELD_NAME_REQUIRED"] = 9060100] = "ARAZZO_PARAMETER_FIELD_NAME_REQUIRED";
|
|
@@ -1129,7 +1147,12 @@ var ApilintCodes = /*#__PURE__*/function (ApilintCodes) {
|
|
|
1129
1147
|
ApilintCodes[ApilintCodes["ARAZZO_SUCCESS_ACTION_FIELD_WORKFLOW_ID_MUTUALLY_EXCLUSIVE"] = 9070600] = "ARAZZO_SUCCESS_ACTION_FIELD_WORKFLOW_ID_MUTUALLY_EXCLUSIVE";
|
|
1130
1148
|
ApilintCodes[ApilintCodes["ARAZZO_SUCCESS_ACTION_FIELD_STEP_ID_MUTUALLY_EXCLUSIVE"] = 9070601] = "ARAZZO_SUCCESS_ACTION_FIELD_STEP_ID_MUTUALLY_EXCLUSIVE";
|
|
1131
1149
|
ApilintCodes[ApilintCodes["ARAZZO_SUCCESS_ACTION_FIELD_WORKFLOW_ID_RESOLVED"] = 9070301] = "ARAZZO_SUCCESS_ACTION_FIELD_WORKFLOW_ID_RESOLVED";
|
|
1150
|
+
ApilintCodes[ApilintCodes["ARAZZO_SUCCESS_ACTION_FIELD_WORKFLOW_ID_PATTERN"] = 9070302] = "ARAZZO_SUCCESS_ACTION_FIELD_WORKFLOW_ID_PATTERN";
|
|
1151
|
+
ApilintCodes[ApilintCodes["ARAZZO_SUCCESS_ACTION_FIELD_WORKFLOW_ID_SOURCE_TYPE"] = 9070303] = "ARAZZO_SUCCESS_ACTION_FIELD_WORKFLOW_ID_SOURCE_TYPE";
|
|
1132
1152
|
ApilintCodes[ApilintCodes["ARAZZO_SUCCESS_ACTION_FIELD_STEP_ID_RESOLVED"] = 9070401] = "ARAZZO_SUCCESS_ACTION_FIELD_STEP_ID_RESOLVED";
|
|
1153
|
+
ApilintCodes[ApilintCodes["ARAZZO_SUCCESS_ACTION_FIELD_STEP_ID_PATTERN"] = 9070402] = "ARAZZO_SUCCESS_ACTION_FIELD_STEP_ID_PATTERN";
|
|
1154
|
+
ApilintCodes[ApilintCodes["ARAZZO_SUCCESS_ACTION_FIELD_PARAMETERS_TYPE"] = 9070700] = "ARAZZO_SUCCESS_ACTION_FIELD_PARAMETERS_TYPE";
|
|
1155
|
+
ApilintCodes[ApilintCodes["ARAZZO_SUCCESS_ACTION_FIELD_PARAMETERS_ONLY_WORKFLOW_ID"] = 9070701] = "ARAZZO_SUCCESS_ACTION_FIELD_PARAMETERS_ONLY_WORKFLOW_ID";
|
|
1133
1156
|
// Failure Action Object
|
|
1134
1157
|
ApilintCodes[ApilintCodes["ARAZZO_FAILURE_ACTION"] = 9080000] = "ARAZZO_FAILURE_ACTION";
|
|
1135
1158
|
ApilintCodes[ApilintCodes["ARAZZO_FAILURE_ACTION_FIELD_NAME_REQUIRED"] = 9080100] = "ARAZZO_FAILURE_ACTION_FIELD_NAME_REQUIRED";
|
|
@@ -1149,7 +1172,12 @@ var ApilintCodes = /*#__PURE__*/function (ApilintCodes) {
|
|
|
1149
1172
|
ApilintCodes[ApilintCodes["ARAZZO_FAILURE_ACTION_FIELD_RETRY_AFTER_ONLY_RETRY"] = 9080900] = "ARAZZO_FAILURE_ACTION_FIELD_RETRY_AFTER_ONLY_RETRY";
|
|
1150
1173
|
ApilintCodes[ApilintCodes["ARAZZO_FAILURE_ACTION_FIELD_RETRY_LIMIT_ONLY_RETRY"] = 9080901] = "ARAZZO_FAILURE_ACTION_FIELD_RETRY_LIMIT_ONLY_RETRY";
|
|
1151
1174
|
ApilintCodes[ApilintCodes["ARAZZO_FAILURE_ACTION_FIELD_WORKFLOW_ID_RESOLVED"] = 9080301] = "ARAZZO_FAILURE_ACTION_FIELD_WORKFLOW_ID_RESOLVED";
|
|
1175
|
+
ApilintCodes[ApilintCodes["ARAZZO_FAILURE_ACTION_FIELD_WORKFLOW_ID_PATTERN"] = 9080302] = "ARAZZO_FAILURE_ACTION_FIELD_WORKFLOW_ID_PATTERN";
|
|
1176
|
+
ApilintCodes[ApilintCodes["ARAZZO_FAILURE_ACTION_FIELD_WORKFLOW_ID_SOURCE_TYPE"] = 9080303] = "ARAZZO_FAILURE_ACTION_FIELD_WORKFLOW_ID_SOURCE_TYPE";
|
|
1152
1177
|
ApilintCodes[ApilintCodes["ARAZZO_FAILURE_ACTION_FIELD_STEP_ID_RESOLVED"] = 9080401] = "ARAZZO_FAILURE_ACTION_FIELD_STEP_ID_RESOLVED";
|
|
1178
|
+
ApilintCodes[ApilintCodes["ARAZZO_FAILURE_ACTION_FIELD_STEP_ID_PATTERN"] = 9080402] = "ARAZZO_FAILURE_ACTION_FIELD_STEP_ID_PATTERN";
|
|
1179
|
+
ApilintCodes[ApilintCodes["ARAZZO_FAILURE_ACTION_FIELD_PARAMETERS_TYPE"] = 9081000] = "ARAZZO_FAILURE_ACTION_FIELD_PARAMETERS_TYPE";
|
|
1180
|
+
ApilintCodes[ApilintCodes["ARAZZO_FAILURE_ACTION_FIELD_PARAMETERS_ONLY_WORKFLOW_ID"] = 9081001] = "ARAZZO_FAILURE_ACTION_FIELD_PARAMETERS_ONLY_WORKFLOW_ID";
|
|
1153
1181
|
// Components Object
|
|
1154
1182
|
ApilintCodes[ApilintCodes["ARAZZO_COMPONENTS"] = 9090000] = "ARAZZO_COMPONENTS";
|
|
1155
1183
|
ApilintCodes[ApilintCodes["ARAZZO_COMPONENTS_FIELD_INPUTS_TYPE"] = 9090100] = "ARAZZO_COMPONENTS_FIELD_INPUTS_TYPE";
|
|
@@ -1174,13 +1202,17 @@ var ApilintCodes = /*#__PURE__*/function (ApilintCodes) {
|
|
|
1174
1202
|
ApilintCodes[ApilintCodes["ARAZZO_CRITERION_FIELD_CONTEXT_REQUIRED_WHEN_TYPE"] = 9100400] = "ARAZZO_CRITERION_FIELD_CONTEXT_REQUIRED_WHEN_TYPE";
|
|
1175
1203
|
ApilintCodes[ApilintCodes["ARAZZO_CRITERION_FIELD_CONTEXT_RUNTIME_EXPRESSION"] = 9100201] = "ARAZZO_CRITERION_FIELD_CONTEXT_RUNTIME_EXPRESSION";
|
|
1176
1204
|
ApilintCodes[ApilintCodes["ARAZZO_CRITERION_FIELD_CONDITION_REGEX_VALID"] = 9100102] = "ARAZZO_CRITERION_FIELD_CONDITION_REGEX_VALID";
|
|
1177
|
-
// Criterion Expression Type Object
|
|
1178
|
-
|
|
1179
|
-
ApilintCodes[ApilintCodes["
|
|
1180
|
-
ApilintCodes[ApilintCodes["
|
|
1181
|
-
ApilintCodes[ApilintCodes["
|
|
1182
|
-
ApilintCodes[ApilintCodes["
|
|
1183
|
-
ApilintCodes[ApilintCodes["
|
|
1205
|
+
// Expression Type Object (renamed from Criterion Expression Type Object in Arazzo 1.1;
|
|
1206
|
+
// shared by Criterion, Selector, and Payload Replacement Objects)
|
|
1207
|
+
ApilintCodes[ApilintCodes["ARAZZO_EXPRESSION_TYPE"] = 9110000] = "ARAZZO_EXPRESSION_TYPE";
|
|
1208
|
+
ApilintCodes[ApilintCodes["ARAZZO_EXPRESSION_TYPE_FIELD_TYPE_REQUIRED"] = 9110100] = "ARAZZO_EXPRESSION_TYPE_FIELD_TYPE_REQUIRED";
|
|
1209
|
+
ApilintCodes[ApilintCodes["ARAZZO_EXPRESSION_TYPE_FIELD_TYPE_TYPE"] = 9110101] = "ARAZZO_EXPRESSION_TYPE_FIELD_TYPE_TYPE";
|
|
1210
|
+
ApilintCodes[ApilintCodes["ARAZZO_EXPRESSION_TYPE_FIELD_TYPE_EQUALS"] = 9110102] = "ARAZZO_EXPRESSION_TYPE_FIELD_TYPE_EQUALS";
|
|
1211
|
+
ApilintCodes[ApilintCodes["ARAZZO_EXPRESSION_TYPE_FIELD_VERSION_REQUIRED"] = 9110200] = "ARAZZO_EXPRESSION_TYPE_FIELD_VERSION_REQUIRED";
|
|
1212
|
+
ApilintCodes[ApilintCodes["ARAZZO_EXPRESSION_TYPE_FIELD_VERSION_TYPE"] = 9110201] = "ARAZZO_EXPRESSION_TYPE_FIELD_VERSION_TYPE";
|
|
1213
|
+
ApilintCodes[ApilintCodes["ARAZZO_EXPRESSION_TYPE_FIELD_VERSION_EQUALS_JSONPATH"] = 9110300] = "ARAZZO_EXPRESSION_TYPE_FIELD_VERSION_EQUALS_JSONPATH";
|
|
1214
|
+
ApilintCodes[ApilintCodes["ARAZZO_EXPRESSION_TYPE_FIELD_VERSION_EQUALS_XPATH"] = 9110301] = "ARAZZO_EXPRESSION_TYPE_FIELD_VERSION_EQUALS_XPATH";
|
|
1215
|
+
ApilintCodes[ApilintCodes["ARAZZO_EXPRESSION_TYPE_FIELD_VERSION_EQUALS_JSONPOINTER"] = 9110302] = "ARAZZO_EXPRESSION_TYPE_FIELD_VERSION_EQUALS_JSONPOINTER";
|
|
1184
1216
|
// Request Body Object
|
|
1185
1217
|
ApilintCodes[ApilintCodes["ARAZZO_REQUEST_BODY"] = 9120000] = "ARAZZO_REQUEST_BODY";
|
|
1186
1218
|
ApilintCodes[ApilintCodes["ARAZZO_REQUEST_BODY_FIELD_CONTENT_TYPE_TYPE"] = 9120100] = "ARAZZO_REQUEST_BODY_FIELD_CONTENT_TYPE_TYPE";
|
|
@@ -1191,11 +1223,22 @@ var ApilintCodes = /*#__PURE__*/function (ApilintCodes) {
|
|
|
1191
1223
|
ApilintCodes[ApilintCodes["ARAZZO_PAYLOAD_REPLACEMENT_FIELD_TARGET_REQUIRED"] = 9130100] = "ARAZZO_PAYLOAD_REPLACEMENT_FIELD_TARGET_REQUIRED";
|
|
1192
1224
|
ApilintCodes[ApilintCodes["ARAZZO_PAYLOAD_REPLACEMENT_FIELD_TARGET_TYPE"] = 9130101] = "ARAZZO_PAYLOAD_REPLACEMENT_FIELD_TARGET_TYPE";
|
|
1193
1225
|
ApilintCodes[ApilintCodes["ARAZZO_PAYLOAD_REPLACEMENT_FIELD_VALUE_REQUIRED"] = 9130200] = "ARAZZO_PAYLOAD_REPLACEMENT_FIELD_VALUE_REQUIRED";
|
|
1226
|
+
ApilintCodes[ApilintCodes["ARAZZO_PAYLOAD_REPLACEMENT_FIELD_TARGET_SELECTOR_TYPE_TYPE"] = 9130300] = "ARAZZO_PAYLOAD_REPLACEMENT_FIELD_TARGET_SELECTOR_TYPE_TYPE";
|
|
1227
|
+
ApilintCodes[ApilintCodes["ARAZZO_PAYLOAD_REPLACEMENT_FIELD_TARGET_SELECTOR_TYPE_EQUALS"] = 9130301] = "ARAZZO_PAYLOAD_REPLACEMENT_FIELD_TARGET_SELECTOR_TYPE_EQUALS";
|
|
1194
1228
|
// Reusable Object
|
|
1195
1229
|
ApilintCodes[ApilintCodes["ARAZZO_REUSABLE"] = 9140000] = "ARAZZO_REUSABLE";
|
|
1196
1230
|
ApilintCodes[ApilintCodes["ARAZZO_REUSABLE_FIELD_REFERENCE_REQUIRED"] = 9140100] = "ARAZZO_REUSABLE_FIELD_REFERENCE_REQUIRED";
|
|
1197
1231
|
ApilintCodes[ApilintCodes["ARAZZO_REUSABLE_FIELD_REFERENCE_TYPE"] = 9140101] = "ARAZZO_REUSABLE_FIELD_REFERENCE_TYPE";
|
|
1198
1232
|
ApilintCodes[ApilintCodes["ARAZZO_REUSABLE_FIELD_VALUE_TYPE"] = 9140200] = "ARAZZO_REUSABLE_FIELD_VALUE_TYPE";
|
|
1233
|
+
// Selector Object (introduced in Arazzo 1.1)
|
|
1234
|
+
// `context`, `selector` and `type` have no "required" codes: apidom only disambiguates an
|
|
1235
|
+
// object as a `selector` element once all three are already present (see
|
|
1236
|
+
// OAI/Arazzo-Specification#519), so those checks could never fire.
|
|
1237
|
+
ApilintCodes[ApilintCodes["ARAZZO_SELECTOR"] = 9150000] = "ARAZZO_SELECTOR";
|
|
1238
|
+
ApilintCodes[ApilintCodes["ARAZZO_SELECTOR_FIELD_CONTEXT_TYPE"] = 9150101] = "ARAZZO_SELECTOR_FIELD_CONTEXT_TYPE";
|
|
1239
|
+
ApilintCodes[ApilintCodes["ARAZZO_SELECTOR_FIELD_SELECTOR_TYPE"] = 9150201] = "ARAZZO_SELECTOR_FIELD_SELECTOR_TYPE";
|
|
1240
|
+
ApilintCodes[ApilintCodes["ARAZZO_SELECTOR_FIELD_TYPE_TYPE"] = 9150301] = "ARAZZO_SELECTOR_FIELD_TYPE_TYPE";
|
|
1241
|
+
ApilintCodes[ApilintCodes["ARAZZO_SELECTOR_FIELD_TYPE_EQUALS"] = 9150302] = "ARAZZO_SELECTOR_FIELD_TYPE_EQUALS";
|
|
1199
1242
|
ApilintCodes[ApilintCodes["OVERLAY"] = 10000000] = "OVERLAY";
|
|
1200
1243
|
ApilintCodes[ApilintCodes["OVERLAY_NOT_DETECTED"] = 10000001] = "OVERLAY_NOT_DETECTED";
|
|
1201
1244
|
// Overlay Specification Object (root)
|
package/src/config/codes.mjs
CHANGED
|
@@ -1039,6 +1039,9 @@ var ApilintCodes = /*#__PURE__*/function (ApilintCodes) {
|
|
|
1039
1039
|
ApilintCodes[ApilintCodes["ARAZZO_SPEC_FIELD_WORKFLOWS_NON_EMPTY"] = 9020402] = "ARAZZO_SPEC_FIELD_WORKFLOWS_NON_EMPTY";
|
|
1040
1040
|
ApilintCodes[ApilintCodes["ARAZZO_SPEC_FIELD_COMPONENTS_TYPE"] = 9020500] = "ARAZZO_SPEC_FIELD_COMPONENTS_TYPE";
|
|
1041
1041
|
ApilintCodes[ApilintCodes["ARAZZO_SPEC_NO_SCRIPT_TAGS"] = 9020600] = "ARAZZO_SPEC_NO_SCRIPT_TAGS";
|
|
1042
|
+
ApilintCodes[ApilintCodes["ARAZZO_SPEC_FIELD_$SELF_TYPE"] = 9020700] = "ARAZZO_SPEC_FIELD_$SELF_TYPE";
|
|
1043
|
+
ApilintCodes[ApilintCodes["ARAZZO_SPEC_FIELD_$SELF_FORMAT_URI"] = 9020701] = "ARAZZO_SPEC_FIELD_$SELF_FORMAT_URI";
|
|
1044
|
+
ApilintCodes[ApilintCodes["ARAZZO_SPEC_FIELD_$SELF_NO_FRAGMENT"] = 9020702] = "ARAZZO_SPEC_FIELD_$SELF_NO_FRAGMENT";
|
|
1042
1045
|
// Source Description Object
|
|
1043
1046
|
ApilintCodes[ApilintCodes["ARAZZO_SOURCE_DESCRIPTION"] = 9030000] = "ARAZZO_SOURCE_DESCRIPTION";
|
|
1044
1047
|
ApilintCodes[ApilintCodes["ARAZZO_SOURCE_DESCRIPTION_FIELD_NAME_REQUIRED"] = 9030100] = "ARAZZO_SOURCE_DESCRIPTION_FIELD_NAME_REQUIRED";
|
|
@@ -1071,6 +1074,7 @@ var ApilintCodes = /*#__PURE__*/function (ApilintCodes) {
|
|
|
1071
1074
|
ApilintCodes[ApilintCodes["ARAZZO_WORKFLOW_FIELD_WORKFLOW_ID_UNIQUE"] = 9040103] = "ARAZZO_WORKFLOW_FIELD_WORKFLOW_ID_UNIQUE";
|
|
1072
1075
|
ApilintCodes[ApilintCodes["ARAZZO_WORKFLOW_FIELD_DEPENDS_ON_UNIQUE"] = 9040501] = "ARAZZO_WORKFLOW_FIELD_DEPENDS_ON_UNIQUE";
|
|
1073
1076
|
ApilintCodes[ApilintCodes["ARAZZO_WORKFLOW_FIELD_DEPENDS_ON_RESOLVED"] = 9040502] = "ARAZZO_WORKFLOW_FIELD_DEPENDS_ON_RESOLVED";
|
|
1077
|
+
ApilintCodes[ApilintCodes["ARAZZO_WORKFLOW_FIELD_DEPENDS_ON_SOURCE_TYPE"] = 9040503] = "ARAZZO_WORKFLOW_FIELD_DEPENDS_ON_SOURCE_TYPE";
|
|
1074
1078
|
ApilintCodes[ApilintCodes["ARAZZO_WORKFLOW_FIELD_STEP_ID_UNIQUE"] = 9040403] = "ARAZZO_WORKFLOW_FIELD_STEP_ID_UNIQUE";
|
|
1075
1079
|
ApilintCodes[ApilintCodes["ARAZZO_WORKFLOW_FIELD_OUTPUTS_NAMES_UNIQUE"] = 9040803] = "ARAZZO_WORKFLOW_FIELD_OUTPUTS_NAMES_UNIQUE";
|
|
1076
1080
|
ApilintCodes[ApilintCodes["ARAZZO_WORKFLOW_FIELD_OUTPUTS_VALUES_RUNTIME_EXPRESSION"] = 9040804] = "ARAZZO_WORKFLOW_FIELD_OUTPUTS_VALUES_RUNTIME_EXPRESSION";
|
|
@@ -1102,6 +1106,20 @@ var ApilintCodes = /*#__PURE__*/function (ApilintCodes) {
|
|
|
1102
1106
|
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_SUCCESS_ACTIONS_NAMES_UNIQUE"] = 9050601] = "ARAZZO_STEP_FIELD_SUCCESS_ACTIONS_NAMES_UNIQUE";
|
|
1103
1107
|
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_FAILURE_ACTIONS_NAMES_UNIQUE"] = 9050701] = "ARAZZO_STEP_FIELD_FAILURE_ACTIONS_NAMES_UNIQUE";
|
|
1104
1108
|
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_WORKFLOW_ID_RESOLVED"] = 9050304] = "ARAZZO_STEP_FIELD_WORKFLOW_ID_RESOLVED";
|
|
1109
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_WORKFLOW_ID_PATTERN"] = 9050305] = "ARAZZO_STEP_FIELD_WORKFLOW_ID_PATTERN";
|
|
1110
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_OPERATION_ID_SOURCE_TYPE"] = 9050306] = "ARAZZO_STEP_FIELD_OPERATION_ID_SOURCE_TYPE";
|
|
1111
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_WORKFLOW_ID_SOURCE_TYPE"] = 9050307] = "ARAZZO_STEP_FIELD_WORKFLOW_ID_SOURCE_TYPE";
|
|
1112
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_CHANNEL_PATH_TYPE"] = 9051100] = "ARAZZO_STEP_FIELD_CHANNEL_PATH_TYPE";
|
|
1113
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_CHANNEL_PATH_MUTUALLY_EXCLUSIVE"] = 9051101] = "ARAZZO_STEP_FIELD_CHANNEL_PATH_MUTUALLY_EXCLUSIVE";
|
|
1114
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_TIMEOUT_TYPE"] = 9051200] = "ARAZZO_STEP_FIELD_TIMEOUT_TYPE";
|
|
1115
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_CORRELATION_ID_ONLY_ACTION_RECEIVE"] = 9051300] = "ARAZZO_STEP_FIELD_CORRELATION_ID_ONLY_ACTION_RECEIVE";
|
|
1116
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_CORRELATION_ID_REQUIRES_ACTION"] = 9051301] = "ARAZZO_STEP_FIELD_CORRELATION_ID_REQUIRES_ACTION";
|
|
1117
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_ACTION_TYPE"] = 9051400] = "ARAZZO_STEP_FIELD_ACTION_TYPE";
|
|
1118
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_ACTION_EQUALS"] = 9051401] = "ARAZZO_STEP_FIELD_ACTION_EQUALS";
|
|
1119
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_DEPENDS_ON_TYPE"] = 9051500] = "ARAZZO_STEP_FIELD_DEPENDS_ON_TYPE";
|
|
1120
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_DEPENDS_ON_UNIQUE"] = 9051501] = "ARAZZO_STEP_FIELD_DEPENDS_ON_UNIQUE";
|
|
1121
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_DEPENDS_ON_RESOLVED"] = 9051502] = "ARAZZO_STEP_FIELD_DEPENDS_ON_RESOLVED";
|
|
1122
|
+
ApilintCodes[ApilintCodes["ARAZZO_STEP_FIELD_DEPENDS_ON_SOURCE_TYPE"] = 9051503] = "ARAZZO_STEP_FIELD_DEPENDS_ON_SOURCE_TYPE";
|
|
1105
1123
|
// Parameter Object
|
|
1106
1124
|
ApilintCodes[ApilintCodes["ARAZZO_PARAMETER"] = 9060000] = "ARAZZO_PARAMETER";
|
|
1107
1125
|
ApilintCodes[ApilintCodes["ARAZZO_PARAMETER_FIELD_NAME_REQUIRED"] = 9060100] = "ARAZZO_PARAMETER_FIELD_NAME_REQUIRED";
|
|
@@ -1123,7 +1141,12 @@ var ApilintCodes = /*#__PURE__*/function (ApilintCodes) {
|
|
|
1123
1141
|
ApilintCodes[ApilintCodes["ARAZZO_SUCCESS_ACTION_FIELD_WORKFLOW_ID_MUTUALLY_EXCLUSIVE"] = 9070600] = "ARAZZO_SUCCESS_ACTION_FIELD_WORKFLOW_ID_MUTUALLY_EXCLUSIVE";
|
|
1124
1142
|
ApilintCodes[ApilintCodes["ARAZZO_SUCCESS_ACTION_FIELD_STEP_ID_MUTUALLY_EXCLUSIVE"] = 9070601] = "ARAZZO_SUCCESS_ACTION_FIELD_STEP_ID_MUTUALLY_EXCLUSIVE";
|
|
1125
1143
|
ApilintCodes[ApilintCodes["ARAZZO_SUCCESS_ACTION_FIELD_WORKFLOW_ID_RESOLVED"] = 9070301] = "ARAZZO_SUCCESS_ACTION_FIELD_WORKFLOW_ID_RESOLVED";
|
|
1144
|
+
ApilintCodes[ApilintCodes["ARAZZO_SUCCESS_ACTION_FIELD_WORKFLOW_ID_PATTERN"] = 9070302] = "ARAZZO_SUCCESS_ACTION_FIELD_WORKFLOW_ID_PATTERN";
|
|
1145
|
+
ApilintCodes[ApilintCodes["ARAZZO_SUCCESS_ACTION_FIELD_WORKFLOW_ID_SOURCE_TYPE"] = 9070303] = "ARAZZO_SUCCESS_ACTION_FIELD_WORKFLOW_ID_SOURCE_TYPE";
|
|
1126
1146
|
ApilintCodes[ApilintCodes["ARAZZO_SUCCESS_ACTION_FIELD_STEP_ID_RESOLVED"] = 9070401] = "ARAZZO_SUCCESS_ACTION_FIELD_STEP_ID_RESOLVED";
|
|
1147
|
+
ApilintCodes[ApilintCodes["ARAZZO_SUCCESS_ACTION_FIELD_STEP_ID_PATTERN"] = 9070402] = "ARAZZO_SUCCESS_ACTION_FIELD_STEP_ID_PATTERN";
|
|
1148
|
+
ApilintCodes[ApilintCodes["ARAZZO_SUCCESS_ACTION_FIELD_PARAMETERS_TYPE"] = 9070700] = "ARAZZO_SUCCESS_ACTION_FIELD_PARAMETERS_TYPE";
|
|
1149
|
+
ApilintCodes[ApilintCodes["ARAZZO_SUCCESS_ACTION_FIELD_PARAMETERS_ONLY_WORKFLOW_ID"] = 9070701] = "ARAZZO_SUCCESS_ACTION_FIELD_PARAMETERS_ONLY_WORKFLOW_ID";
|
|
1127
1150
|
// Failure Action Object
|
|
1128
1151
|
ApilintCodes[ApilintCodes["ARAZZO_FAILURE_ACTION"] = 9080000] = "ARAZZO_FAILURE_ACTION";
|
|
1129
1152
|
ApilintCodes[ApilintCodes["ARAZZO_FAILURE_ACTION_FIELD_NAME_REQUIRED"] = 9080100] = "ARAZZO_FAILURE_ACTION_FIELD_NAME_REQUIRED";
|
|
@@ -1143,7 +1166,12 @@ var ApilintCodes = /*#__PURE__*/function (ApilintCodes) {
|
|
|
1143
1166
|
ApilintCodes[ApilintCodes["ARAZZO_FAILURE_ACTION_FIELD_RETRY_AFTER_ONLY_RETRY"] = 9080900] = "ARAZZO_FAILURE_ACTION_FIELD_RETRY_AFTER_ONLY_RETRY";
|
|
1144
1167
|
ApilintCodes[ApilintCodes["ARAZZO_FAILURE_ACTION_FIELD_RETRY_LIMIT_ONLY_RETRY"] = 9080901] = "ARAZZO_FAILURE_ACTION_FIELD_RETRY_LIMIT_ONLY_RETRY";
|
|
1145
1168
|
ApilintCodes[ApilintCodes["ARAZZO_FAILURE_ACTION_FIELD_WORKFLOW_ID_RESOLVED"] = 9080301] = "ARAZZO_FAILURE_ACTION_FIELD_WORKFLOW_ID_RESOLVED";
|
|
1169
|
+
ApilintCodes[ApilintCodes["ARAZZO_FAILURE_ACTION_FIELD_WORKFLOW_ID_PATTERN"] = 9080302] = "ARAZZO_FAILURE_ACTION_FIELD_WORKFLOW_ID_PATTERN";
|
|
1170
|
+
ApilintCodes[ApilintCodes["ARAZZO_FAILURE_ACTION_FIELD_WORKFLOW_ID_SOURCE_TYPE"] = 9080303] = "ARAZZO_FAILURE_ACTION_FIELD_WORKFLOW_ID_SOURCE_TYPE";
|
|
1146
1171
|
ApilintCodes[ApilintCodes["ARAZZO_FAILURE_ACTION_FIELD_STEP_ID_RESOLVED"] = 9080401] = "ARAZZO_FAILURE_ACTION_FIELD_STEP_ID_RESOLVED";
|
|
1172
|
+
ApilintCodes[ApilintCodes["ARAZZO_FAILURE_ACTION_FIELD_STEP_ID_PATTERN"] = 9080402] = "ARAZZO_FAILURE_ACTION_FIELD_STEP_ID_PATTERN";
|
|
1173
|
+
ApilintCodes[ApilintCodes["ARAZZO_FAILURE_ACTION_FIELD_PARAMETERS_TYPE"] = 9081000] = "ARAZZO_FAILURE_ACTION_FIELD_PARAMETERS_TYPE";
|
|
1174
|
+
ApilintCodes[ApilintCodes["ARAZZO_FAILURE_ACTION_FIELD_PARAMETERS_ONLY_WORKFLOW_ID"] = 9081001] = "ARAZZO_FAILURE_ACTION_FIELD_PARAMETERS_ONLY_WORKFLOW_ID";
|
|
1147
1175
|
// Components Object
|
|
1148
1176
|
ApilintCodes[ApilintCodes["ARAZZO_COMPONENTS"] = 9090000] = "ARAZZO_COMPONENTS";
|
|
1149
1177
|
ApilintCodes[ApilintCodes["ARAZZO_COMPONENTS_FIELD_INPUTS_TYPE"] = 9090100] = "ARAZZO_COMPONENTS_FIELD_INPUTS_TYPE";
|
|
@@ -1168,13 +1196,17 @@ var ApilintCodes = /*#__PURE__*/function (ApilintCodes) {
|
|
|
1168
1196
|
ApilintCodes[ApilintCodes["ARAZZO_CRITERION_FIELD_CONTEXT_REQUIRED_WHEN_TYPE"] = 9100400] = "ARAZZO_CRITERION_FIELD_CONTEXT_REQUIRED_WHEN_TYPE";
|
|
1169
1197
|
ApilintCodes[ApilintCodes["ARAZZO_CRITERION_FIELD_CONTEXT_RUNTIME_EXPRESSION"] = 9100201] = "ARAZZO_CRITERION_FIELD_CONTEXT_RUNTIME_EXPRESSION";
|
|
1170
1198
|
ApilintCodes[ApilintCodes["ARAZZO_CRITERION_FIELD_CONDITION_REGEX_VALID"] = 9100102] = "ARAZZO_CRITERION_FIELD_CONDITION_REGEX_VALID";
|
|
1171
|
-
// Criterion Expression Type Object
|
|
1172
|
-
|
|
1173
|
-
ApilintCodes[ApilintCodes["
|
|
1174
|
-
ApilintCodes[ApilintCodes["
|
|
1175
|
-
ApilintCodes[ApilintCodes["
|
|
1176
|
-
ApilintCodes[ApilintCodes["
|
|
1177
|
-
ApilintCodes[ApilintCodes["
|
|
1199
|
+
// Expression Type Object (renamed from Criterion Expression Type Object in Arazzo 1.1;
|
|
1200
|
+
// shared by Criterion, Selector, and Payload Replacement Objects)
|
|
1201
|
+
ApilintCodes[ApilintCodes["ARAZZO_EXPRESSION_TYPE"] = 9110000] = "ARAZZO_EXPRESSION_TYPE";
|
|
1202
|
+
ApilintCodes[ApilintCodes["ARAZZO_EXPRESSION_TYPE_FIELD_TYPE_REQUIRED"] = 9110100] = "ARAZZO_EXPRESSION_TYPE_FIELD_TYPE_REQUIRED";
|
|
1203
|
+
ApilintCodes[ApilintCodes["ARAZZO_EXPRESSION_TYPE_FIELD_TYPE_TYPE"] = 9110101] = "ARAZZO_EXPRESSION_TYPE_FIELD_TYPE_TYPE";
|
|
1204
|
+
ApilintCodes[ApilintCodes["ARAZZO_EXPRESSION_TYPE_FIELD_TYPE_EQUALS"] = 9110102] = "ARAZZO_EXPRESSION_TYPE_FIELD_TYPE_EQUALS";
|
|
1205
|
+
ApilintCodes[ApilintCodes["ARAZZO_EXPRESSION_TYPE_FIELD_VERSION_REQUIRED"] = 9110200] = "ARAZZO_EXPRESSION_TYPE_FIELD_VERSION_REQUIRED";
|
|
1206
|
+
ApilintCodes[ApilintCodes["ARAZZO_EXPRESSION_TYPE_FIELD_VERSION_TYPE"] = 9110201] = "ARAZZO_EXPRESSION_TYPE_FIELD_VERSION_TYPE";
|
|
1207
|
+
ApilintCodes[ApilintCodes["ARAZZO_EXPRESSION_TYPE_FIELD_VERSION_EQUALS_JSONPATH"] = 9110300] = "ARAZZO_EXPRESSION_TYPE_FIELD_VERSION_EQUALS_JSONPATH";
|
|
1208
|
+
ApilintCodes[ApilintCodes["ARAZZO_EXPRESSION_TYPE_FIELD_VERSION_EQUALS_XPATH"] = 9110301] = "ARAZZO_EXPRESSION_TYPE_FIELD_VERSION_EQUALS_XPATH";
|
|
1209
|
+
ApilintCodes[ApilintCodes["ARAZZO_EXPRESSION_TYPE_FIELD_VERSION_EQUALS_JSONPOINTER"] = 9110302] = "ARAZZO_EXPRESSION_TYPE_FIELD_VERSION_EQUALS_JSONPOINTER";
|
|
1178
1210
|
// Request Body Object
|
|
1179
1211
|
ApilintCodes[ApilintCodes["ARAZZO_REQUEST_BODY"] = 9120000] = "ARAZZO_REQUEST_BODY";
|
|
1180
1212
|
ApilintCodes[ApilintCodes["ARAZZO_REQUEST_BODY_FIELD_CONTENT_TYPE_TYPE"] = 9120100] = "ARAZZO_REQUEST_BODY_FIELD_CONTENT_TYPE_TYPE";
|
|
@@ -1185,11 +1217,22 @@ var ApilintCodes = /*#__PURE__*/function (ApilintCodes) {
|
|
|
1185
1217
|
ApilintCodes[ApilintCodes["ARAZZO_PAYLOAD_REPLACEMENT_FIELD_TARGET_REQUIRED"] = 9130100] = "ARAZZO_PAYLOAD_REPLACEMENT_FIELD_TARGET_REQUIRED";
|
|
1186
1218
|
ApilintCodes[ApilintCodes["ARAZZO_PAYLOAD_REPLACEMENT_FIELD_TARGET_TYPE"] = 9130101] = "ARAZZO_PAYLOAD_REPLACEMENT_FIELD_TARGET_TYPE";
|
|
1187
1219
|
ApilintCodes[ApilintCodes["ARAZZO_PAYLOAD_REPLACEMENT_FIELD_VALUE_REQUIRED"] = 9130200] = "ARAZZO_PAYLOAD_REPLACEMENT_FIELD_VALUE_REQUIRED";
|
|
1220
|
+
ApilintCodes[ApilintCodes["ARAZZO_PAYLOAD_REPLACEMENT_FIELD_TARGET_SELECTOR_TYPE_TYPE"] = 9130300] = "ARAZZO_PAYLOAD_REPLACEMENT_FIELD_TARGET_SELECTOR_TYPE_TYPE";
|
|
1221
|
+
ApilintCodes[ApilintCodes["ARAZZO_PAYLOAD_REPLACEMENT_FIELD_TARGET_SELECTOR_TYPE_EQUALS"] = 9130301] = "ARAZZO_PAYLOAD_REPLACEMENT_FIELD_TARGET_SELECTOR_TYPE_EQUALS";
|
|
1188
1222
|
// Reusable Object
|
|
1189
1223
|
ApilintCodes[ApilintCodes["ARAZZO_REUSABLE"] = 9140000] = "ARAZZO_REUSABLE";
|
|
1190
1224
|
ApilintCodes[ApilintCodes["ARAZZO_REUSABLE_FIELD_REFERENCE_REQUIRED"] = 9140100] = "ARAZZO_REUSABLE_FIELD_REFERENCE_REQUIRED";
|
|
1191
1225
|
ApilintCodes[ApilintCodes["ARAZZO_REUSABLE_FIELD_REFERENCE_TYPE"] = 9140101] = "ARAZZO_REUSABLE_FIELD_REFERENCE_TYPE";
|
|
1192
1226
|
ApilintCodes[ApilintCodes["ARAZZO_REUSABLE_FIELD_VALUE_TYPE"] = 9140200] = "ARAZZO_REUSABLE_FIELD_VALUE_TYPE";
|
|
1227
|
+
// Selector Object (introduced in Arazzo 1.1)
|
|
1228
|
+
// `context`, `selector` and `type` have no "required" codes: apidom only disambiguates an
|
|
1229
|
+
// object as a `selector` element once all three are already present (see
|
|
1230
|
+
// OAI/Arazzo-Specification#519), so those checks could never fire.
|
|
1231
|
+
ApilintCodes[ApilintCodes["ARAZZO_SELECTOR"] = 9150000] = "ARAZZO_SELECTOR";
|
|
1232
|
+
ApilintCodes[ApilintCodes["ARAZZO_SELECTOR_FIELD_CONTEXT_TYPE"] = 9150101] = "ARAZZO_SELECTOR_FIELD_CONTEXT_TYPE";
|
|
1233
|
+
ApilintCodes[ApilintCodes["ARAZZO_SELECTOR_FIELD_SELECTOR_TYPE"] = 9150201] = "ARAZZO_SELECTOR_FIELD_SELECTOR_TYPE";
|
|
1234
|
+
ApilintCodes[ApilintCodes["ARAZZO_SELECTOR_FIELD_TYPE_TYPE"] = 9150301] = "ARAZZO_SELECTOR_FIELD_TYPE_TYPE";
|
|
1235
|
+
ApilintCodes[ApilintCodes["ARAZZO_SELECTOR_FIELD_TYPE_EQUALS"] = 9150302] = "ARAZZO_SELECTOR_FIELD_TYPE_EQUALS";
|
|
1193
1236
|
ApilintCodes[ApilintCodes["OVERLAY"] = 10000000] = "OVERLAY";
|
|
1194
1237
|
ApilintCodes[ApilintCodes["OVERLAY_NOT_DETECTED"] = 10000001] = "OVERLAY_NOT_DETECTED";
|
|
1195
1238
|
// Overlay Specification Object (root)
|
package/src/index.cjs
CHANGED
|
@@ -10,6 +10,12 @@ Object.defineProperty(exports, "ApilintCodes", {
|
|
|
10
10
|
return _codes.default;
|
|
11
11
|
}
|
|
12
12
|
});
|
|
13
|
+
Object.defineProperty(exports, "Arazzo11JsonSchemaValidationProvider", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function () {
|
|
16
|
+
return _arazzo11JsonSchemaValidationProvider.Arazzo11JsonSchemaValidationProvider;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
13
19
|
Object.defineProperty(exports, "Arazzo1JsonSchemaValidationProvider", {
|
|
14
20
|
enumerable: true,
|
|
15
21
|
get: function () {
|
|
@@ -279,6 +285,7 @@ var _openapi20JsonSchemaValidationProvider = require("./services/validation/prov
|
|
|
279
285
|
var _openapi30JsonSchemaValidationProvider = require("./services/validation/providers/openapi-30-json-schema-validation-provider.cjs");
|
|
280
286
|
var _openapi31JsonSchemaValidationProvider = require("./services/validation/providers/openapi-31-json-schema-validation-provider.cjs");
|
|
281
287
|
var _arazzo1JsonSchemaValidationProvider = require("./services/validation/providers/arazzo-1-json-schema-validation-provider.cjs");
|
|
288
|
+
var _arazzo11JsonSchemaValidationProvider = require("./services/validation/providers/arazzo-11-json-schema-validation-provider.cjs");
|
|
282
289
|
var _overlay1JsonSchemaValidationProvider = require("./services/validation/providers/overlay-1-json-schema-validation-provider.cjs");
|
|
283
290
|
var _codes = _interopRequireDefault(require("./config/codes.cjs"));
|
|
284
291
|
var _utils = require("./utils/utils.cjs");
|
package/src/index.mjs
CHANGED
|
@@ -3,6 +3,7 @@ export { OpenAPi20JsonSchemaValidationProvider } from "./services/validation/pro
|
|
|
3
3
|
export { OpenAPi30JsonSchemaValidationProvider } from "./services/validation/providers/openapi-30-json-schema-validation-provider.mjs";
|
|
4
4
|
export { OpenAPi31JsonSchemaValidationProvider } from "./services/validation/providers/openapi-31-json-schema-validation-provider.mjs";
|
|
5
5
|
export { Arazzo1JsonSchemaValidationProvider } from "./services/validation/providers/arazzo-1-json-schema-validation-provider.mjs";
|
|
6
|
+
export { Arazzo11JsonSchemaValidationProvider } from "./services/validation/providers/arazzo-11-json-schema-validation-provider.mjs";
|
|
6
7
|
export { Overlay1JsonSchemaValidationProvider } from "./services/validation/providers/overlay-1-json-schema-validation-provider.mjs";
|
|
7
8
|
export { default as ApilintCodes } from "./config/codes.mjs";
|
|
8
9
|
export { perfStart, perfEnd, isJsonDoc, isJsonDocSync, isYamlDoc, getText, findNamespace } from "./utils/utils.mjs";
|
|
@@ -132,6 +132,47 @@ const casing = (value, casingStyle, noNumbers, separatorChar, separatorAsFirstCh
|
|
|
132
132
|
}
|
|
133
133
|
return getCachedRegex(pattern).test(value);
|
|
134
134
|
};
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Looks up a Source Description Object by `name` and returns its declared `type`, or `undefined`
|
|
138
|
+
* when the source doesn't exist locally or omits `type` (it's optional per spec).
|
|
139
|
+
*/
|
|
140
|
+
const resolveArazzoSourceDescriptionType = (api, sourceName) => {
|
|
141
|
+
const sourceDescriptions = getElementsByTypeOrClass(api, 'sourceDescription');
|
|
142
|
+
const matchingSource = sourceDescriptions.find(sd => (0, _utils.isObject)(sd) && sd.hasKey('name') && (0, _apidomCore.toValue)(sd.get('name')) === sourceName);
|
|
143
|
+
if (!matchingSource || !(0, _utils.isObject)(matchingSource) || !matchingSource.hasKey('type')) {
|
|
144
|
+
return undefined;
|
|
145
|
+
}
|
|
146
|
+
const declaredType = (0, _apidomCore.toValue)(matchingSource.get('type'));
|
|
147
|
+
return typeof declaredType === 'string' ? declaredType : undefined;
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Shared by apilintArazzoSourceDescriptionTypeConsistency and its array variant. Non-string,
|
|
152
|
+
* non-`$sourceDescriptions.`-prefixed, or unparseable values are treated as "not this check's
|
|
153
|
+
* concern" (true) - other rules cover type/shape. Explicitly checks `=== undefined` rather than
|
|
154
|
+
* a falsy check, so a source with `type: ''` (already invalid on its own) doesn't get treated the
|
|
155
|
+
* same as a source that simply omits `type`.
|
|
156
|
+
*/
|
|
157
|
+
const isArazzoSourceDescriptionTypeConsistent = (value, expectedTypes, api) => {
|
|
158
|
+
if (typeof value !== 'string' || !value.startsWith('$sourceDescriptions.')) return true;
|
|
159
|
+
const {
|
|
160
|
+
result,
|
|
161
|
+
tree
|
|
162
|
+
} = (0, _arazzoRuntimeExpression.parse)(value);
|
|
163
|
+
if (!result.success || !tree || tree.type !== 'SourceDescriptionsExpression') return true;
|
|
164
|
+
const declaredType = resolveArazzoSourceDescriptionType(api, tree.sourceName);
|
|
165
|
+
if (declaredType === undefined) return true;
|
|
166
|
+
return expectedTypes.includes(declaredType);
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Shared by apilintArazzoWorkflowIdResolved and apilintArazzoStepDependsOnResolved: finds a
|
|
171
|
+
* `workflow` element by its `workflowId` field within an already-collected list of workflows.
|
|
172
|
+
* Takes the list rather than `api` so callers that check multiple ids (e.g. across a `dependsOn`
|
|
173
|
+
* array) can collect it once and reuse it, instead of re-walking the tree per id.
|
|
174
|
+
*/
|
|
175
|
+
const findArazzoWorkflowByWorkflowId = (workflows, workflowId) => workflows.find(w => (0, _utils.isObject)(w) && w.hasKey('workflowId') && (0, _apidomCore.toValue)(w.get('workflowId')) === workflowId);
|
|
135
176
|
const isType = (element, elementType) => {
|
|
136
177
|
switch (elementType) {
|
|
137
178
|
case 'object':
|
|
@@ -454,6 +495,22 @@ const standardLinterfunctions = exports.standardLinterfunctions = [{
|
|
|
454
495
|
}
|
|
455
496
|
return true;
|
|
456
497
|
}
|
|
498
|
+
}, {
|
|
499
|
+
functionName: 'apilintChildrenOfTypeOrElementClass',
|
|
500
|
+
function: (element, type, elementsOrClasses, nonEmpty) => {
|
|
501
|
+
if (element && (0, _utils.isObject)(element)) {
|
|
502
|
+
for (const member of element) {
|
|
503
|
+
const value = member.value;
|
|
504
|
+
if (!isType(value, type) && !apilintElementOrClass(value, elementsOrClasses)) {
|
|
505
|
+
return false;
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
if (nonEmpty && element.length === 0) {
|
|
509
|
+
return false;
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
return true;
|
|
513
|
+
}
|
|
457
514
|
}, {
|
|
458
515
|
functionName: 'apilintKeyIsRegex',
|
|
459
516
|
function: element => {
|
|
@@ -589,6 +646,72 @@ const standardLinterfunctions = exports.standardLinterfunctions = [{
|
|
|
589
646
|
}
|
|
590
647
|
return true;
|
|
591
648
|
}
|
|
649
|
+
}, {
|
|
650
|
+
functionName: 'apilintArazzoStepDependsOnResolved',
|
|
651
|
+
function: element => {
|
|
652
|
+
// `element` is expected to be the step object (no `target` set), so its parent is the
|
|
653
|
+
// `steps` array of the workflow it belongs to. Unlike workflowId, stepId is only unique
|
|
654
|
+
// within a workflow, so a plain entry must resolve against that workflow's own steps
|
|
655
|
+
// rather than a document-wide search.
|
|
656
|
+
//
|
|
657
|
+
// `$workflows.<workflowId>.steps.<stepId>` and the `$sourceDescriptions.<name>.<reference>`
|
|
658
|
+
// form's optional `stepsReference` are both parsed by
|
|
659
|
+
// @swaggerexpert/arazzo-runtime-expression >=3.2.0, which added grammar support for exactly
|
|
660
|
+
// this dependsOn-specific syntax (previously `$workflows.` rejected it outright, and
|
|
661
|
+
// `$sourceDescriptions.` only saw it as an opaque string). Parsing is left entirely to the
|
|
662
|
+
// grammar here rather than re-implemented locally, so this always matches whatever that
|
|
663
|
+
// shared parser considers valid - including its documented limitation that a workflowId
|
|
664
|
+
// containing a literal dot won't be recognized (its `workflow-id` production is
|
|
665
|
+
// `identifier-strict`, which excludes dots). Only document-local existence resolution
|
|
666
|
+
// happens here; a `$sourceDescriptions.` reference stays unresolved beyond its shape, since
|
|
667
|
+
// it points at an external document.
|
|
668
|
+
if (!element || !(0, _utils.isObject)(element) || !element.hasKey('dependsOn')) return true;
|
|
669
|
+
const dependsOn = element.get('dependsOn');
|
|
670
|
+
if (!dependsOn || !(0, _utils.isArray)(dependsOn)) return true;
|
|
671
|
+
const steps = element.parent;
|
|
672
|
+
if (!steps || !(0, _utils.isArray)(steps)) return true;
|
|
673
|
+
// Excludes the current step itself: a step depending on its own stepId is never
|
|
674
|
+
// meaningful, and would otherwise silently "resolve" since it's a member of its own
|
|
675
|
+
// `steps` sibling array.
|
|
676
|
+
const stepIds = new Set(steps.filter(s => s !== element && (0, _utils.isObject)(s) && s.hasKey('stepId')).map(s => (0, _apidomCore.toValue)(s.get('stepId'))));
|
|
677
|
+
let workflows;
|
|
678
|
+
const resolvesToWorkflowStep = (workflowId, stepId) => {
|
|
679
|
+
workflows ??= getElementsByTypeOrClass(root(element), 'workflow');
|
|
680
|
+
const targetWorkflow = findArazzoWorkflowByWorkflowId(workflows, workflowId);
|
|
681
|
+
if (!targetWorkflow || !(0, _utils.isObject)(targetWorkflow) || !targetWorkflow.hasKey('steps')) {
|
|
682
|
+
return false;
|
|
683
|
+
}
|
|
684
|
+
const targetSteps = targetWorkflow.get('steps');
|
|
685
|
+
if (!targetSteps || !(0, _utils.isArray)(targetSteps)) return false;
|
|
686
|
+
const targetStepIds = targetSteps.filter(s => (0, _utils.isObject)(s) && s.hasKey('stepId')).map(s => (0, _apidomCore.toValue)(s.get('stepId')));
|
|
687
|
+
return targetStepIds.includes(stepId);
|
|
688
|
+
};
|
|
689
|
+
for (const item of dependsOn) {
|
|
690
|
+
const val = (0, _apidomCore.toValue)(item);
|
|
691
|
+
if (typeof val !== 'string') continue;
|
|
692
|
+
if (val.startsWith('$workflows.')) {
|
|
693
|
+
const {
|
|
694
|
+
result,
|
|
695
|
+
tree
|
|
696
|
+
} = (0, _arazzoRuntimeExpression.parse)(val);
|
|
697
|
+
if (!result.success || !tree || tree.type !== 'WorkflowsStepsExpression') return false;
|
|
698
|
+
if (!resolvesToWorkflowStep(tree.workflowId, tree.stepId)) return false;
|
|
699
|
+
} else if (val.startsWith('$sourceDescriptions.')) {
|
|
700
|
+
const {
|
|
701
|
+
result,
|
|
702
|
+
tree
|
|
703
|
+
} = (0, _arazzoRuntimeExpression.parse)(val);
|
|
704
|
+
if (!result.success || !tree || tree.type !== 'SourceDescriptionsExpression' || !tree.stepsReference) {
|
|
705
|
+
return false;
|
|
706
|
+
}
|
|
707
|
+
} else if (val.startsWith('$')) {
|
|
708
|
+
return false;
|
|
709
|
+
} else if (!stepIds.has(val)) {
|
|
710
|
+
return false;
|
|
711
|
+
}
|
|
712
|
+
}
|
|
713
|
+
return true;
|
|
714
|
+
}
|
|
592
715
|
}, {
|
|
593
716
|
functionName: 'apilintArazzoWorkflowIdResolved',
|
|
594
717
|
function: element => {
|
|
@@ -600,7 +723,33 @@ const standardLinterfunctions = exports.standardLinterfunctions = [{
|
|
|
600
723
|
if (value.startsWith('$sourceDescriptions.')) return (0, _arazzoRuntimeExpression.test)(value);
|
|
601
724
|
const api = root(element);
|
|
602
725
|
const workflows = getElementsByTypeOrClass(api, 'workflow');
|
|
603
|
-
return workflows
|
|
726
|
+
return findArazzoWorkflowByWorkflowId(workflows, value) !== undefined;
|
|
727
|
+
}
|
|
728
|
+
}, {
|
|
729
|
+
functionName: 'apilintArazzoSourceDescriptionTypeConsistency',
|
|
730
|
+
function: (element, expectedTypes) => {
|
|
731
|
+
// Best-effort cross-check: a $sourceDescriptions.<name>.<reference> value should point at
|
|
732
|
+
// a source whose declared `type` matches how the reference is being used (e.g. a
|
|
733
|
+
// workflowId reference should point at a `type: arazzo` source, not `type: openapi`). Only
|
|
734
|
+
// fires when the named source exists locally AND declares a `type` - that field is
|
|
735
|
+
// optional per spec, so a source without one gives no local signal to check against, and
|
|
736
|
+
// is silently skipped rather than guessed at.
|
|
737
|
+
if (!element || !(0, _utils.isString)(element)) return true;
|
|
738
|
+
return isArazzoSourceDescriptionTypeConsistent((0, _apidomCore.toValue)(element), expectedTypes, root(element));
|
|
739
|
+
}
|
|
740
|
+
}, {
|
|
741
|
+
functionName: 'apilintArazzoArraySourceDescriptionTypeConsistency',
|
|
742
|
+
function: (element, expectedTypes) => {
|
|
743
|
+
// Same check as apilintArazzoSourceDescriptionTypeConsistency, applied to each
|
|
744
|
+
// $sourceDescriptions.-prefixed string in an array (e.g. Workflow/Step `dependsOn`).
|
|
745
|
+
if (!element || !(0, _utils.isArray)(element)) return true;
|
|
746
|
+
const api = root(element);
|
|
747
|
+
for (const item of element) {
|
|
748
|
+
if (!isArazzoSourceDescriptionTypeConsistent((0, _apidomCore.toValue)(item), expectedTypes, api)) {
|
|
749
|
+
return false;
|
|
750
|
+
}
|
|
751
|
+
}
|
|
752
|
+
return true;
|
|
604
753
|
}
|
|
605
754
|
}, {
|
|
606
755
|
functionName: 'apilintArazzoActionStepIdResolved',
|
|
@@ -3,7 +3,7 @@ import { isStringElement, isArrayElement, includesClasses } from '@speclynx/apid
|
|
|
3
3
|
import { forEach } from '@speclynx/apidom-traverse';
|
|
4
4
|
import { toValue } from '@speclynx/apidom-core';
|
|
5
5
|
import { test as testPathTemplate, resolve as resolvePathTemplate, parse as parsePathTemplate } from 'openapi-path-templating';
|
|
6
|
-
import { test as testRuntimeExpression } from '@swaggerexpert/arazzo-runtime-expression';
|
|
6
|
+
import { test as testRuntimeExpression, parse as parseRuntimeExpression } from '@swaggerexpert/arazzo-runtime-expression';
|
|
7
7
|
import { isObject, isString, isArray, isNumber, isBoolean, isMember, processPath, getStringMetaValue, getClassesValue, getReferencedElementValue } from "../../utils/utils.mjs";
|
|
8
8
|
const regexCache = new Map();
|
|
9
9
|
const getCachedRegex = (pattern, flags) => {
|
|
@@ -122,6 +122,47 @@ const casing = (value, casingStyle, noNumbers, separatorChar, separatorAsFirstCh
|
|
|
122
122
|
}
|
|
123
123
|
return getCachedRegex(pattern).test(value);
|
|
124
124
|
};
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Looks up a Source Description Object by `name` and returns its declared `type`, or `undefined`
|
|
128
|
+
* when the source doesn't exist locally or omits `type` (it's optional per spec).
|
|
129
|
+
*/
|
|
130
|
+
const resolveArazzoSourceDescriptionType = (api, sourceName) => {
|
|
131
|
+
const sourceDescriptions = getElementsByTypeOrClass(api, 'sourceDescription');
|
|
132
|
+
const matchingSource = sourceDescriptions.find(sd => isObject(sd) && sd.hasKey('name') && toValue(sd.get('name')) === sourceName);
|
|
133
|
+
if (!matchingSource || !isObject(matchingSource) || !matchingSource.hasKey('type')) {
|
|
134
|
+
return undefined;
|
|
135
|
+
}
|
|
136
|
+
const declaredType = toValue(matchingSource.get('type'));
|
|
137
|
+
return typeof declaredType === 'string' ? declaredType : undefined;
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Shared by apilintArazzoSourceDescriptionTypeConsistency and its array variant. Non-string,
|
|
142
|
+
* non-`$sourceDescriptions.`-prefixed, or unparseable values are treated as "not this check's
|
|
143
|
+
* concern" (true) - other rules cover type/shape. Explicitly checks `=== undefined` rather than
|
|
144
|
+
* a falsy check, so a source with `type: ''` (already invalid on its own) doesn't get treated the
|
|
145
|
+
* same as a source that simply omits `type`.
|
|
146
|
+
*/
|
|
147
|
+
const isArazzoSourceDescriptionTypeConsistent = (value, expectedTypes, api) => {
|
|
148
|
+
if (typeof value !== 'string' || !value.startsWith('$sourceDescriptions.')) return true;
|
|
149
|
+
const {
|
|
150
|
+
result,
|
|
151
|
+
tree
|
|
152
|
+
} = parseRuntimeExpression(value);
|
|
153
|
+
if (!result.success || !tree || tree.type !== 'SourceDescriptionsExpression') return true;
|
|
154
|
+
const declaredType = resolveArazzoSourceDescriptionType(api, tree.sourceName);
|
|
155
|
+
if (declaredType === undefined) return true;
|
|
156
|
+
return expectedTypes.includes(declaredType);
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Shared by apilintArazzoWorkflowIdResolved and apilintArazzoStepDependsOnResolved: finds a
|
|
161
|
+
* `workflow` element by its `workflowId` field within an already-collected list of workflows.
|
|
162
|
+
* Takes the list rather than `api` so callers that check multiple ids (e.g. across a `dependsOn`
|
|
163
|
+
* array) can collect it once and reuse it, instead of re-walking the tree per id.
|
|
164
|
+
*/
|
|
165
|
+
const findArazzoWorkflowByWorkflowId = (workflows, workflowId) => workflows.find(w => isObject(w) && w.hasKey('workflowId') && toValue(w.get('workflowId')) === workflowId);
|
|
125
166
|
const isType = (element, elementType) => {
|
|
126
167
|
switch (elementType) {
|
|
127
168
|
case 'object':
|
|
@@ -444,6 +485,22 @@ export const standardLinterfunctions = [{
|
|
|
444
485
|
}
|
|
445
486
|
return true;
|
|
446
487
|
}
|
|
488
|
+
}, {
|
|
489
|
+
functionName: 'apilintChildrenOfTypeOrElementClass',
|
|
490
|
+
function: (element, type, elementsOrClasses, nonEmpty) => {
|
|
491
|
+
if (element && isObject(element)) {
|
|
492
|
+
for (const member of element) {
|
|
493
|
+
const value = member.value;
|
|
494
|
+
if (!isType(value, type) && !apilintElementOrClass(value, elementsOrClasses)) {
|
|
495
|
+
return false;
|
|
496
|
+
}
|
|
497
|
+
}
|
|
498
|
+
if (nonEmpty && element.length === 0) {
|
|
499
|
+
return false;
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
return true;
|
|
503
|
+
}
|
|
447
504
|
}, {
|
|
448
505
|
functionName: 'apilintKeyIsRegex',
|
|
449
506
|
function: element => {
|
|
@@ -579,6 +636,72 @@ export const standardLinterfunctions = [{
|
|
|
579
636
|
}
|
|
580
637
|
return true;
|
|
581
638
|
}
|
|
639
|
+
}, {
|
|
640
|
+
functionName: 'apilintArazzoStepDependsOnResolved',
|
|
641
|
+
function: element => {
|
|
642
|
+
// `element` is expected to be the step object (no `target` set), so its parent is the
|
|
643
|
+
// `steps` array of the workflow it belongs to. Unlike workflowId, stepId is only unique
|
|
644
|
+
// within a workflow, so a plain entry must resolve against that workflow's own steps
|
|
645
|
+
// rather than a document-wide search.
|
|
646
|
+
//
|
|
647
|
+
// `$workflows.<workflowId>.steps.<stepId>` and the `$sourceDescriptions.<name>.<reference>`
|
|
648
|
+
// form's optional `stepsReference` are both parsed by
|
|
649
|
+
// @swaggerexpert/arazzo-runtime-expression >=3.2.0, which added grammar support for exactly
|
|
650
|
+
// this dependsOn-specific syntax (previously `$workflows.` rejected it outright, and
|
|
651
|
+
// `$sourceDescriptions.` only saw it as an opaque string). Parsing is left entirely to the
|
|
652
|
+
// grammar here rather than re-implemented locally, so this always matches whatever that
|
|
653
|
+
// shared parser considers valid - including its documented limitation that a workflowId
|
|
654
|
+
// containing a literal dot won't be recognized (its `workflow-id` production is
|
|
655
|
+
// `identifier-strict`, which excludes dots). Only document-local existence resolution
|
|
656
|
+
// happens here; a `$sourceDescriptions.` reference stays unresolved beyond its shape, since
|
|
657
|
+
// it points at an external document.
|
|
658
|
+
if (!element || !isObject(element) || !element.hasKey('dependsOn')) return true;
|
|
659
|
+
const dependsOn = element.get('dependsOn');
|
|
660
|
+
if (!dependsOn || !isArray(dependsOn)) return true;
|
|
661
|
+
const steps = element.parent;
|
|
662
|
+
if (!steps || !isArray(steps)) return true;
|
|
663
|
+
// Excludes the current step itself: a step depending on its own stepId is never
|
|
664
|
+
// meaningful, and would otherwise silently "resolve" since it's a member of its own
|
|
665
|
+
// `steps` sibling array.
|
|
666
|
+
const stepIds = new Set(steps.filter(s => s !== element && isObject(s) && s.hasKey('stepId')).map(s => toValue(s.get('stepId'))));
|
|
667
|
+
let workflows;
|
|
668
|
+
const resolvesToWorkflowStep = (workflowId, stepId) => {
|
|
669
|
+
workflows ??= getElementsByTypeOrClass(root(element), 'workflow');
|
|
670
|
+
const targetWorkflow = findArazzoWorkflowByWorkflowId(workflows, workflowId);
|
|
671
|
+
if (!targetWorkflow || !isObject(targetWorkflow) || !targetWorkflow.hasKey('steps')) {
|
|
672
|
+
return false;
|
|
673
|
+
}
|
|
674
|
+
const targetSteps = targetWorkflow.get('steps');
|
|
675
|
+
if (!targetSteps || !isArray(targetSteps)) return false;
|
|
676
|
+
const targetStepIds = targetSteps.filter(s => isObject(s) && s.hasKey('stepId')).map(s => toValue(s.get('stepId')));
|
|
677
|
+
return targetStepIds.includes(stepId);
|
|
678
|
+
};
|
|
679
|
+
for (const item of dependsOn) {
|
|
680
|
+
const val = toValue(item);
|
|
681
|
+
if (typeof val !== 'string') continue;
|
|
682
|
+
if (val.startsWith('$workflows.')) {
|
|
683
|
+
const {
|
|
684
|
+
result,
|
|
685
|
+
tree
|
|
686
|
+
} = parseRuntimeExpression(val);
|
|
687
|
+
if (!result.success || !tree || tree.type !== 'WorkflowsStepsExpression') return false;
|
|
688
|
+
if (!resolvesToWorkflowStep(tree.workflowId, tree.stepId)) return false;
|
|
689
|
+
} else if (val.startsWith('$sourceDescriptions.')) {
|
|
690
|
+
const {
|
|
691
|
+
result,
|
|
692
|
+
tree
|
|
693
|
+
} = parseRuntimeExpression(val);
|
|
694
|
+
if (!result.success || !tree || tree.type !== 'SourceDescriptionsExpression' || !tree.stepsReference) {
|
|
695
|
+
return false;
|
|
696
|
+
}
|
|
697
|
+
} else if (val.startsWith('$')) {
|
|
698
|
+
return false;
|
|
699
|
+
} else if (!stepIds.has(val)) {
|
|
700
|
+
return false;
|
|
701
|
+
}
|
|
702
|
+
}
|
|
703
|
+
return true;
|
|
704
|
+
}
|
|
582
705
|
}, {
|
|
583
706
|
functionName: 'apilintArazzoWorkflowIdResolved',
|
|
584
707
|
function: element => {
|
|
@@ -590,7 +713,33 @@ export const standardLinterfunctions = [{
|
|
|
590
713
|
if (value.startsWith('$sourceDescriptions.')) return testRuntimeExpression(value);
|
|
591
714
|
const api = root(element);
|
|
592
715
|
const workflows = getElementsByTypeOrClass(api, 'workflow');
|
|
593
|
-
return workflows
|
|
716
|
+
return findArazzoWorkflowByWorkflowId(workflows, value) !== undefined;
|
|
717
|
+
}
|
|
718
|
+
}, {
|
|
719
|
+
functionName: 'apilintArazzoSourceDescriptionTypeConsistency',
|
|
720
|
+
function: (element, expectedTypes) => {
|
|
721
|
+
// Best-effort cross-check: a $sourceDescriptions.<name>.<reference> value should point at
|
|
722
|
+
// a source whose declared `type` matches how the reference is being used (e.g. a
|
|
723
|
+
// workflowId reference should point at a `type: arazzo` source, not `type: openapi`). Only
|
|
724
|
+
// fires when the named source exists locally AND declares a `type` - that field is
|
|
725
|
+
// optional per spec, so a source without one gives no local signal to check against, and
|
|
726
|
+
// is silently skipped rather than guessed at.
|
|
727
|
+
if (!element || !isString(element)) return true;
|
|
728
|
+
return isArazzoSourceDescriptionTypeConsistent(toValue(element), expectedTypes, root(element));
|
|
729
|
+
}
|
|
730
|
+
}, {
|
|
731
|
+
functionName: 'apilintArazzoArraySourceDescriptionTypeConsistency',
|
|
732
|
+
function: (element, expectedTypes) => {
|
|
733
|
+
// Same check as apilintArazzoSourceDescriptionTypeConsistency, applied to each
|
|
734
|
+
// $sourceDescriptions.-prefixed string in an array (e.g. Workflow/Step `dependsOn`).
|
|
735
|
+
if (!element || !isArray(element)) return true;
|
|
736
|
+
const api = root(element);
|
|
737
|
+
for (const item of element) {
|
|
738
|
+
if (!isArazzoSourceDescriptionTypeConsistent(toValue(item), expectedTypes, api)) {
|
|
739
|
+
return false;
|
|
740
|
+
}
|
|
741
|
+
}
|
|
742
|
+
return true;
|
|
594
743
|
}
|
|
595
744
|
}, {
|
|
596
745
|
functionName: 'apilintArazzoActionStepIdResolved',
|