@swagger-api/apidom-ns-api-design-systems 0.68.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/CHANGELOG.md +292 -0
  2. package/LICENSES/Apache-2.0.txt +202 -0
  3. package/LICENSES/MIT.txt +9 -0
  4. package/NOTICE +57 -0
  5. package/README.md +324 -0
  6. package/cjs/elements/Info.cjs +25 -0
  7. package/cjs/elements/Main.cjs +44 -0
  8. package/cjs/elements/Principle.cjs +37 -0
  9. package/cjs/elements/Requirement.cjs +37 -0
  10. package/cjs/elements/RequirementLevel.cjs +13 -0
  11. package/cjs/elements/Scenario.cjs +31 -0
  12. package/cjs/elements/Standard.cjs +37 -0
  13. package/cjs/elements/StandardIdentifier.cjs +13 -0
  14. package/cjs/index.cjs +50 -0
  15. package/cjs/media-types.cjs +24 -0
  16. package/cjs/namespace.cjs +39 -0
  17. package/cjs/predicates.cjs +78 -0
  18. package/cjs/refractor/index.cjs +48 -0
  19. package/cjs/refractor/plugins/openapi-3-1/standard-identifier-accessors.cjs +88 -0
  20. package/cjs/refractor/plugins/openapi-3-1/standard-identifier-selectors.cjs +80 -0
  21. package/cjs/refractor/registration.cjs +36 -0
  22. package/cjs/refractor/specification.cjs +122 -0
  23. package/cjs/refractor/toolbox.cjs +23 -0
  24. package/cjs/refractor/visitors/FallbackVisitor.cjs +24 -0
  25. package/cjs/refractor/visitors/SpecificationVisitor.cjs +75 -0
  26. package/cjs/refractor/visitors/Visitor.cjs +22 -0
  27. package/cjs/refractor/visitors/api-design-systems/info/DescriptionVisitor.cjs +9 -0
  28. package/cjs/refractor/visitors/api-design-systems/info/TitleVisitor.cjs +9 -0
  29. package/cjs/refractor/visitors/api-design-systems/info/index.cjs +20 -0
  30. package/cjs/refractor/visitors/api-design-systems/main/PrinciplesVisitor.cjs +28 -0
  31. package/cjs/refractor/visitors/api-design-systems/main/ScenariosVisitor.cjs +28 -0
  32. package/cjs/refractor/visitors/api-design-systems/main/StandardsVisitor.cjs +28 -0
  33. package/cjs/refractor/visitors/api-design-systems/main/VersionVisitor.cjs +9 -0
  34. package/cjs/refractor/visitors/api-design-systems/main/index.cjs +20 -0
  35. package/cjs/refractor/visitors/api-design-systems/principle/DescriptionVisitor.cjs +9 -0
  36. package/cjs/refractor/visitors/api-design-systems/principle/IriVisitor.cjs +9 -0
  37. package/cjs/refractor/visitors/api-design-systems/principle/NameVisitor.cjs +9 -0
  38. package/cjs/refractor/visitors/api-design-systems/principle/index.cjs +20 -0
  39. package/cjs/refractor/visitors/api-design-systems/requirement/FollowsVisitor.cjs +9 -0
  40. package/cjs/refractor/visitors/api-design-systems/requirement/ValuesVisitor.cjs +9 -0
  41. package/cjs/refractor/visitors/api-design-systems/requirement/index.cjs +20 -0
  42. package/cjs/refractor/visitors/api-design-systems/requirement-level/index.cjs +22 -0
  43. package/cjs/refractor/visitors/api-design-systems/scenario/DescriptionVisitor.cjs +9 -0
  44. package/cjs/refractor/visitors/api-design-systems/scenario/ThenVisitor.cjs +28 -0
  45. package/cjs/refractor/visitors/api-design-systems/scenario/index.cjs +20 -0
  46. package/cjs/refractor/visitors/api-design-systems/standard/DescriptionVisitor.cjs +9 -0
  47. package/cjs/refractor/visitors/api-design-systems/standard/IriVisitor.cjs +9 -0
  48. package/cjs/refractor/visitors/api-design-systems/standard/NameVisitor.cjs +9 -0
  49. package/cjs/refractor/visitors/api-design-systems/standard/index.cjs +20 -0
  50. package/cjs/refractor/visitors/api-design-systems/standard-identifier/index.cjs +28 -0
  51. package/cjs/refractor/visitors/generics/FixedFieldsVisitor.cjs +45 -0
  52. package/cjs/traversal/visitor.cjs +28 -0
  53. package/cjs/validator/openapi-3-1/accessor.cjs +32 -0
  54. package/cjs/validator/openapi-3-1/requirement-level.cjs +13 -0
  55. package/cjs/validator/openapi-3-1/selector.cjs +38 -0
  56. package/cjs/validator/openapi-3-1/validator.cjs +86 -0
  57. package/dist/apidom-ns-api-design-systems.browser.js +30558 -0
  58. package/dist/apidom-ns-api-design-systems.browser.min.js +1 -0
  59. package/es/elements/Info.js +20 -0
  60. package/es/elements/Main.js +39 -0
  61. package/es/elements/Principle.js +32 -0
  62. package/es/elements/Requirement.js +32 -0
  63. package/es/elements/RequirementLevel.js +8 -0
  64. package/es/elements/Scenario.js +26 -0
  65. package/es/elements/Standard.js +32 -0
  66. package/es/elements/StandardIdentifier.js +8 -0
  67. package/es/index.js +12 -0
  68. package/es/media-types.js +18 -0
  69. package/es/namespace.js +32 -0
  70. package/es/predicates.js +65 -0
  71. package/es/refractor/index.js +43 -0
  72. package/es/refractor/plugins/openapi-3-1/standard-identifier-accessors.js +83 -0
  73. package/es/refractor/plugins/openapi-3-1/standard-identifier-selectors.js +75 -0
  74. package/es/refractor/registration.js +24 -0
  75. package/es/refractor/specification.js +115 -0
  76. package/es/refractor/toolbox.js +17 -0
  77. package/es/refractor/visitors/FallbackVisitor.js +18 -0
  78. package/es/refractor/visitors/SpecificationVisitor.js +69 -0
  79. package/es/refractor/visitors/Visitor.js +16 -0
  80. package/es/refractor/visitors/api-design-systems/info/DescriptionVisitor.js +3 -0
  81. package/es/refractor/visitors/api-design-systems/info/TitleVisitor.js +3 -0
  82. package/es/refractor/visitors/api-design-systems/info/index.js +14 -0
  83. package/es/refractor/visitors/api-design-systems/main/PrinciplesVisitor.js +22 -0
  84. package/es/refractor/visitors/api-design-systems/main/ScenariosVisitor.js +22 -0
  85. package/es/refractor/visitors/api-design-systems/main/StandardsVisitor.js +22 -0
  86. package/es/refractor/visitors/api-design-systems/main/VersionVisitor.js +3 -0
  87. package/es/refractor/visitors/api-design-systems/main/index.js +14 -0
  88. package/es/refractor/visitors/api-design-systems/principle/DescriptionVisitor.js +3 -0
  89. package/es/refractor/visitors/api-design-systems/principle/IriVisitor.js +3 -0
  90. package/es/refractor/visitors/api-design-systems/principle/NameVisitor.js +3 -0
  91. package/es/refractor/visitors/api-design-systems/principle/index.js +14 -0
  92. package/es/refractor/visitors/api-design-systems/requirement/FollowsVisitor.js +3 -0
  93. package/es/refractor/visitors/api-design-systems/requirement/ValuesVisitor.js +3 -0
  94. package/es/refractor/visitors/api-design-systems/requirement/index.js +14 -0
  95. package/es/refractor/visitors/api-design-systems/requirement-level/index.js +16 -0
  96. package/es/refractor/visitors/api-design-systems/scenario/DescriptionVisitor.js +3 -0
  97. package/es/refractor/visitors/api-design-systems/scenario/ThenVisitor.js +22 -0
  98. package/es/refractor/visitors/api-design-systems/scenario/index.js +14 -0
  99. package/es/refractor/visitors/api-design-systems/standard/DescriptionVisitor.js +3 -0
  100. package/es/refractor/visitors/api-design-systems/standard/IriVisitor.js +3 -0
  101. package/es/refractor/visitors/api-design-systems/standard/NameVisitor.js +3 -0
  102. package/es/refractor/visitors/api-design-systems/standard/index.js +14 -0
  103. package/es/refractor/visitors/api-design-systems/standard-identifier/index.js +22 -0
  104. package/es/refractor/visitors/generics/FixedFieldsVisitor.js +39 -0
  105. package/es/traversal/visitor.js +25 -0
  106. package/es/validator/openapi-3-1/accessor.js +27 -0
  107. package/es/validator/openapi-3-1/requirement-level.js +7 -0
  108. package/es/validator/openapi-3-1/selector.js +33 -0
  109. package/es/validator/openapi-3-1/validator.js +80 -0
  110. package/package.json +63 -0
  111. package/types/dist.d.ts +158 -0
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ var _stampit = _interopRequireDefault(require("stampit"));
7
+ var _apidomCore = require("@swagger-api/apidom-core");
8
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
9
+ var _SpecificationVisitor = _interopRequireDefault(require("../../SpecificationVisitor.cjs"));
10
+ const PrinciplesVisitor = (0, _stampit.default)(_SpecificationVisitor.default, _FallbackVisitor.default, {
11
+ init() {
12
+ this.element = new _apidomCore.ArrayElement();
13
+ this.element.classes.push('main-principles');
14
+ },
15
+ methods: {
16
+ ArrayElement(arrayElement) {
17
+ arrayElement.forEach(item => {
18
+ const specPath = ['document', 'objects', 'Principle'];
19
+ const element = this.toRefractedElement(specPath, item);
20
+ this.element.push(element);
21
+ });
22
+ this.copyMetaAndAttributes(arrayElement, this.element);
23
+ return _apidomCore.BREAK;
24
+ }
25
+ }
26
+ });
27
+ var _default = PrinciplesVisitor;
28
+ exports.default = _default;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ var _stampit = _interopRequireDefault(require("stampit"));
7
+ var _apidomCore = require("@swagger-api/apidom-core");
8
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
9
+ var _SpecificationVisitor = _interopRequireDefault(require("../../SpecificationVisitor.cjs"));
10
+ const ScenariosVisitor = (0, _stampit.default)(_SpecificationVisitor.default, _FallbackVisitor.default, {
11
+ init() {
12
+ this.element = new _apidomCore.ArrayElement();
13
+ this.element.classes.push('main-scenarios');
14
+ },
15
+ methods: {
16
+ ArrayElement(arrayElement) {
17
+ arrayElement.forEach(item => {
18
+ const specPath = ['document', 'objects', 'Scenario'];
19
+ const element = this.toRefractedElement(specPath, item);
20
+ this.element.push(element);
21
+ });
22
+ this.copyMetaAndAttributes(arrayElement, this.element);
23
+ return _apidomCore.BREAK;
24
+ }
25
+ }
26
+ });
27
+ var _default = ScenariosVisitor;
28
+ exports.default = _default;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ var _stampit = _interopRequireDefault(require("stampit"));
7
+ var _apidomCore = require("@swagger-api/apidom-core");
8
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
9
+ var _SpecificationVisitor = _interopRequireDefault(require("../../SpecificationVisitor.cjs"));
10
+ const StandardsVisitor = (0, _stampit.default)(_SpecificationVisitor.default, _FallbackVisitor.default, {
11
+ init() {
12
+ this.element = new _apidomCore.ArrayElement();
13
+ this.element.classes.push('main-standards');
14
+ },
15
+ methods: {
16
+ ArrayElement(arrayElement) {
17
+ arrayElement.forEach(item => {
18
+ const specPath = ['document', 'objects', 'Standard'];
19
+ const element = this.toRefractedElement(specPath, item);
20
+ this.element.push(element);
21
+ });
22
+ this.copyMetaAndAttributes(arrayElement, this.element);
23
+ return _apidomCore.BREAK;
24
+ }
25
+ }
26
+ });
27
+ var _default = StandardsVisitor;
28
+ exports.default = _default;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
7
+ const VersionVisitor = _FallbackVisitor.default;
8
+ var _default = VersionVisitor;
9
+ exports.default = _default;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ var _stampit = _interopRequireDefault(require("stampit"));
7
+ var _ramda = require("ramda");
8
+ var _Main = _interopRequireDefault(require("../../../../elements/Main.cjs"));
9
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
10
+ var _FixedFieldsVisitor = _interopRequireDefault(require("../../generics/FixedFieldsVisitor.cjs"));
11
+ const MainVisitor = (0, _stampit.default)(_FixedFieldsVisitor.default, _FallbackVisitor.default, {
12
+ props: {
13
+ specPath: (0, _ramda.always)(['document', 'objects', 'Main'])
14
+ },
15
+ init() {
16
+ this.element = new _Main.default();
17
+ }
18
+ });
19
+ var _default = MainVisitor;
20
+ exports.default = _default;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
7
+ const DescriptionVisitor = _FallbackVisitor.default;
8
+ var _default = DescriptionVisitor;
9
+ exports.default = _default;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
7
+ const IriVisitor = _FallbackVisitor.default;
8
+ var _default = IriVisitor;
9
+ exports.default = _default;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
7
+ const NameVisitor = _FallbackVisitor.default;
8
+ var _default = NameVisitor;
9
+ exports.default = _default;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ var _stampit = _interopRequireDefault(require("stampit"));
7
+ var _ramda = require("ramda");
8
+ var _Principle = _interopRequireDefault(require("../../../../elements/Principle.cjs"));
9
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
10
+ var _FixedFieldsVisitor = _interopRequireDefault(require("../../generics/FixedFieldsVisitor.cjs"));
11
+ const PrincipleVisitor = (0, _stampit.default)(_FixedFieldsVisitor.default, _FallbackVisitor.default, {
12
+ props: {
13
+ specPath: (0, _ramda.always)(['document', 'objects', 'Principle'])
14
+ },
15
+ init() {
16
+ this.element = new _Principle.default();
17
+ }
18
+ });
19
+ var _default = PrincipleVisitor;
20
+ exports.default = _default;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
7
+ const FollowsVisitor = _FallbackVisitor.default;
8
+ var _default = FollowsVisitor;
9
+ exports.default = _default;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
7
+ const ValuesVisitor = _FallbackVisitor.default;
8
+ var _default = ValuesVisitor;
9
+ exports.default = _default;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ var _stampit = _interopRequireDefault(require("stampit"));
7
+ var _ramda = require("ramda");
8
+ var _Requirement = _interopRequireDefault(require("../../../../elements/Requirement.cjs"));
9
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
10
+ var _FixedFieldsVisitor = _interopRequireDefault(require("../../generics/FixedFieldsVisitor.cjs"));
11
+ const RequirementVisitor = (0, _stampit.default)(_FixedFieldsVisitor.default, _FallbackVisitor.default, {
12
+ props: {
13
+ specPath: (0, _ramda.always)(['document', 'objects', 'Requirement'])
14
+ },
15
+ init() {
16
+ this.element = new _Requirement.default();
17
+ }
18
+ });
19
+ var _default = RequirementVisitor;
20
+ exports.default = _default;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ var _stampit = _interopRequireDefault(require("stampit"));
7
+ var _apidomCore = require("@swagger-api/apidom-core");
8
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
9
+ var _SpecificationVisitor = _interopRequireDefault(require("../../SpecificationVisitor.cjs"));
10
+ var _RequirementLevel = _interopRequireDefault(require("../../../../elements/RequirementLevel.cjs"));
11
+ const RequirementLevelVisitor = (0, _stampit.default)(_SpecificationVisitor.default, _FallbackVisitor.default, {
12
+ methods: {
13
+ StringElement(stringElement) {
14
+ const requirementLevelElement = new _RequirementLevel.default(stringElement.toValue());
15
+ this.copyMetaAndAttributes(stringElement, requirementLevelElement);
16
+ this.element = requirementLevelElement;
17
+ return _apidomCore.BREAK;
18
+ }
19
+ }
20
+ });
21
+ var _default = RequirementLevelVisitor;
22
+ exports.default = _default;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
7
+ const DescriptionVisitor = _FallbackVisitor.default;
8
+ var _default = DescriptionVisitor;
9
+ exports.default = _default;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ var _stampit = _interopRequireDefault(require("stampit"));
7
+ var _apidomCore = require("@swagger-api/apidom-core");
8
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
9
+ var _SpecificationVisitor = _interopRequireDefault(require("../../SpecificationVisitor.cjs"));
10
+ const ThenVisitor = (0, _stampit.default)(_SpecificationVisitor.default, _FallbackVisitor.default, {
11
+ init() {
12
+ this.element = new _apidomCore.ArrayElement();
13
+ this.element.classes.push('scenario-then');
14
+ },
15
+ methods: {
16
+ ArrayElement(arrayElement) {
17
+ arrayElement.forEach(item => {
18
+ const specPath = ['document', 'objects', 'Requirement'];
19
+ const element = this.toRefractedElement(specPath, item);
20
+ this.element.push(element);
21
+ });
22
+ this.copyMetaAndAttributes(arrayElement, this.element);
23
+ return _apidomCore.BREAK;
24
+ }
25
+ }
26
+ });
27
+ var _default = ThenVisitor;
28
+ exports.default = _default;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ var _stampit = _interopRequireDefault(require("stampit"));
7
+ var _ramda = require("ramda");
8
+ var _Scenario = _interopRequireDefault(require("../../../../elements/Scenario.cjs"));
9
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
10
+ var _FixedFieldsVisitor = _interopRequireDefault(require("../../generics/FixedFieldsVisitor.cjs"));
11
+ const ScenarioVisitor = (0, _stampit.default)(_FixedFieldsVisitor.default, _FallbackVisitor.default, {
12
+ props: {
13
+ specPath: (0, _ramda.always)(['document', 'objects', 'Scenario'])
14
+ },
15
+ init() {
16
+ this.element = new _Scenario.default();
17
+ }
18
+ });
19
+ var _default = ScenarioVisitor;
20
+ exports.default = _default;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
7
+ const DescriptionVisitor = _FallbackVisitor.default;
8
+ var _default = DescriptionVisitor;
9
+ exports.default = _default;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
7
+ const IriVisitor = _FallbackVisitor.default;
8
+ var _default = IriVisitor;
9
+ exports.default = _default;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
7
+ const NameVisitor = _FallbackVisitor.default;
8
+ var _default = NameVisitor;
9
+ exports.default = _default;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ var _stampit = _interopRequireDefault(require("stampit"));
7
+ var _ramda = require("ramda");
8
+ var _Standard = _interopRequireDefault(require("../../../../elements/Standard.cjs"));
9
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
10
+ var _FixedFieldsVisitor = _interopRequireDefault(require("../../generics/FixedFieldsVisitor.cjs"));
11
+ const StandardVisitor = (0, _stampit.default)(_FixedFieldsVisitor.default, _FallbackVisitor.default, {
12
+ props: {
13
+ specPath: (0, _ramda.always)(['document', 'objects', 'Standard'])
14
+ },
15
+ init() {
16
+ this.element = new _Standard.default();
17
+ }
18
+ });
19
+ var _default = StandardVisitor;
20
+ exports.default = _default;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ var _stampit = _interopRequireDefault(require("stampit"));
7
+ var _apidomCore = require("@swagger-api/apidom-core");
8
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
9
+ var _SpecificationVisitor = _interopRequireDefault(require("../../SpecificationVisitor.cjs"));
10
+ var _StandardIdentifier = _interopRequireDefault(require("../../../../elements/StandardIdentifier.cjs"));
11
+ const StandardIdentifierVisitor = (0, _stampit.default)(_SpecificationVisitor.default, _FallbackVisitor.default, {
12
+ init() {
13
+ this.element = new _StandardIdentifier.default();
14
+ },
15
+ methods: {
16
+ ArrayElement(arrayElement) {
17
+ arrayElement.forEach(item => {
18
+ const specPath = ['document', 'objects', 'StandardIdentifier'];
19
+ const element = this.toRefractedElement(specPath, item);
20
+ this.element.push(element);
21
+ });
22
+ this.copyMetaAndAttributes(arrayElement, this.element);
23
+ return _apidomCore.BREAK;
24
+ }
25
+ }
26
+ });
27
+ var _default = StandardIdentifierVisitor;
28
+ exports.default = _default;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ var _stampit = _interopRequireDefault(require("stampit"));
7
+ var _ramdaAdjunct = require("ramda-adjunct");
8
+ var _apidomCore = require("@swagger-api/apidom-core");
9
+ var _SpecificationVisitor = _interopRequireDefault(require("../SpecificationVisitor.cjs"));
10
+ const FixedFieldsVisitor = (0, _stampit.default)(_SpecificationVisitor.default, {
11
+ props: {
12
+ specPath: _ramdaAdjunct.noop,
13
+ ignoredFields: []
14
+ },
15
+ init({
16
+ // @ts-ignore
17
+ specPath = this.specPath,
18
+ // @ts-ignore
19
+ ignoredFields = this.ignoredFields
20
+ } = {}) {
21
+ this.specPath = specPath;
22
+ this.ignoredFields = ignoredFields;
23
+ },
24
+ methods: {
25
+ ObjectElement(objectElement) {
26
+ const specPath = this.specPath(objectElement);
27
+ const fields = this.retrieveFixedFields(specPath);
28
+ objectElement.forEach((value, key, memberElement) => {
29
+ if ((0, _apidomCore.isStringElement)(key) && fields.includes(key.toValue()) && !this.ignoredFields.includes(key.toValue())) {
30
+ const fixedFieldElement = this.toRefractedElement([...specPath, 'fixedFields', key.toValue()], value);
31
+ const newMemberElement = new _apidomCore.MemberElement(key.clone(), fixedFieldElement);
32
+ newMemberElement.classes.push('fixed-field');
33
+ this.copyMetaAndAttributes(memberElement, newMemberElement);
34
+ this.element.content.push(newMemberElement);
35
+ } else if (!this.ignoredFields.includes(key.toValue())) {
36
+ this.element.content.push(memberElement.clone());
37
+ }
38
+ });
39
+ this.copyMetaAndAttributes(objectElement, this.element);
40
+ return _apidomCore.BREAK;
41
+ }
42
+ }
43
+ });
44
+ var _default = FixedFieldsVisitor;
45
+ exports.default = _default;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.keyMap = exports.getNodeType = void 0;
5
+ var _apidomCore = require("@swagger-api/apidom-core");
6
+ // getNodeType :: Node -> String
7
+ const getNodeType = element => {
8
+ if (!(0, _apidomCore.isElement)(element)) {
9
+ return undefined;
10
+ }
11
+ return `${element.element.charAt(0).toUpperCase() + element.element.slice(1)}Element`;
12
+ };
13
+ exports.getNodeType = getNodeType;
14
+ const keyMap = {
15
+ /**
16
+ * API Design Systems 2021-05-07 specification elements.
17
+ */
18
+ MainElement: ['content'],
19
+ InfoElement: ['content'],
20
+ PrincipleElement: ['content'],
21
+ StandardElement: ['content'],
22
+ ScenarioElement: ['content'],
23
+ RequirementElement: ['content'],
24
+ StandardIdentifierElement: ['content'],
25
+ RequirementLevelElement: [],
26
+ ..._apidomCore.keyMap
27
+ };
28
+ exports.keyMap = keyMap;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+ var _apidomCore = require("@swagger-api/apidom-core");
6
+ var _apidomNsOpenapi = require("@swagger-api/apidom-ns-openapi-3-1");
7
+ /**
8
+ * This file contains logic for translating Standard Identifier to value.
9
+ */
10
+
11
+ const visitorOptions = {
12
+ keyMap: _apidomNsOpenapi.keyMap,
13
+ nodeTypeGetter: _apidomNsOpenapi.getNodeType
14
+ };
15
+ const access = (selected, standardIdentifier) => {
16
+ const strStandardIdentifier = String(standardIdentifier.toValue());
17
+ const values = new _apidomCore.ArrayElement();
18
+ const visitor = {
19
+ enter(element) {
20
+ if (!element.meta.hasKey('ads-a-standard-identifier')) return;
21
+ element.meta.get('ads-a-standard-identifier').content.filter(accessorMapping => {
22
+ return String(accessorMapping.get('subject').toValue()) === strStandardIdentifier;
23
+ }).forEach(accessorMapping => {
24
+ values.push(accessorMapping.get('value'));
25
+ });
26
+ }
27
+ };
28
+ (0, _apidomCore.visit)(selected, visitor, visitorOptions);
29
+ return values;
30
+ };
31
+ var _default = access;
32
+ exports.default = _default;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.must = exports.may = void 0;
5
+ const may = (value, values) => {
6
+ if (value === null) return true;
7
+ return values.includes(value);
8
+ };
9
+ exports.may = may;
10
+ const must = (value, values) => {
11
+ return values.includes(value);
12
+ };
13
+ exports.must = must;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+ var _ramda = require("ramda");
6
+ var _apidomCore = require("@swagger-api/apidom-core");
7
+ var _apidomNsOpenapi = require("@swagger-api/apidom-ns-openapi-3-1");
8
+ /**
9
+ * This file contains logic for translating Standard Identifier to list of Operation Elements.
10
+ */
11
+
12
+ const visitorOptions = {
13
+ keyMap: _apidomNsOpenapi.keyMap,
14
+ nodeTypeGetter: _apidomNsOpenapi.getNodeType
15
+ };
16
+ const select = (openAPIElement, standardIdentifier) => {
17
+ const selected = [];
18
+ const visitor = {
19
+ OperationElement(element) {
20
+ if (!element.meta.hasKey('ads-s-standard-identifier')) return;
21
+ const standardIdentifiers = element.meta.get('ads-s-standard-identifier').toValue();
22
+ if ((0, _ramda.includes)(standardIdentifier.toValue(), standardIdentifiers)) {
23
+ selected.push(element);
24
+ }
25
+ },
26
+ ResponseElement(element) {
27
+ if (!element.meta.hasKey('ads-s-standard-identifier')) return;
28
+ const standardIdentifiers = element.meta.get('ads-s-standard-identifier').toValue();
29
+ if ((0, _ramda.includes)(standardIdentifier.toValue(), standardIdentifiers)) {
30
+ selected.push(element);
31
+ }
32
+ }
33
+ };
34
+ (0, _apidomCore.visit)(openAPIElement, visitor, visitorOptions);
35
+ return selected;
36
+ };
37
+ var _default = select;
38
+ exports.default = _default;
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.default = void 0;
6
+ var _apidomCore = require("@swagger-api/apidom-core");
7
+ var _selector = _interopRequireDefault(require("./selector.cjs"));
8
+ var _accessor = _interopRequireDefault(require("./accessor.cjs"));
9
+ var _requirementLevel = require("./requirement-level.cjs");
10
+ const makeMessage = (value, requirementLevel, standardIdentifier) => {
11
+ const primitiveValue = value.toValue();
12
+ const primitiveStandardIdentifier = JSON.stringify(standardIdentifier.toValue());
13
+ if (requirementLevel.toValue() === 'may') {
14
+ return `"${primitiveValue}" not allowed for subject ${primitiveStandardIdentifier}`;
15
+ }
16
+ throw new Error('Not Implemented');
17
+ };
18
+
19
+ // @ts-ignore
20
+ const makeAnnotation = (message, value, level, standardIdentifier) => {
21
+ const annotation = new _apidomCore.AnnotationElement(message);
22
+ annotation.classes.push(level);
23
+ annotation.attributes.set('value', value.clone());
24
+ annotation.attributes.set('standardIdentifier', standardIdentifier.clone());
25
+ return annotation;
26
+ };
27
+ const validateValue = (value, requirement) => {
28
+ const annotations = [];
29
+ const {
30
+ subject
31
+ } = requirement;
32
+ if (typeof requirement.values === 'undefined') return annotations;
33
+ if (requirement.level.toValue() === 'may') {
34
+ const isValid = (0, _requirementLevel.may)(value.toValue(), requirement.values.toValue());
35
+ if (!isValid) {
36
+ const message = makeMessage(value, requirement.level, subject);
37
+ const annotation = makeAnnotation(message, value, 'error', subject);
38
+ annotations.push(annotation);
39
+ }
40
+ }
41
+ return annotations;
42
+ };
43
+ const validateRequirement = (requirement, selected) => {
44
+ const {
45
+ subject
46
+ } = requirement;
47
+ const values = (0, _accessor.default)(selected, subject);
48
+ const annotations = [];
49
+ values.forEach(value => {
50
+ annotations.push(...validateValue(value, requirement));
51
+ });
52
+ return annotations;
53
+ };
54
+ const validateScenario = (scenario, openApiElement) => {
55
+ const annotations = [];
56
+ const {
57
+ when
58
+ } = scenario;
59
+ const selected = (0, _selector.default)(openApiElement, when);
60
+ const {
61
+ then: requirements
62
+ } = scenario;
63
+ if (typeof requirements === 'undefined') return annotations;
64
+ selected.forEach(item => {
65
+ // @ts-ignore
66
+ requirements.forEach(requirement => {
67
+ annotations.push(...validateRequirement(requirement, item));
68
+ });
69
+ });
70
+ return annotations;
71
+ };
72
+ const validate = (mainElement, openApiElement) => {
73
+ const {
74
+ scenarios
75
+ } = mainElement;
76
+ const annotations = [];
77
+ if (typeof scenarios === 'undefined' || !(0, _apidomCore.isArrayElement)(scenarios)) return [];
78
+
79
+ // @ts-ignore
80
+ scenarios.forEach(scenario => {
81
+ annotations.push(...validateScenario(scenario, openApiElement));
82
+ });
83
+ return annotations;
84
+ };
85
+ var _default = validate;
86
+ exports.default = _default;