@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,78 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.isStandardIdentifierElement = exports.isStandardElement = exports.isScenarioElement = exports.isRequirementLevelElement = exports.isRequirementElement = exports.isPrincipleElement = exports.isMainElement = exports.isInfoElement = void 0;
6
+ var _apidomCore = require("@swagger-api/apidom-core");
7
+ var _Main = _interopRequireDefault(require("./elements/Main.cjs"));
8
+ var _Info = _interopRequireDefault(require("./elements/Info.cjs"));
9
+ var _Principle = _interopRequireDefault(require("./elements/Principle.cjs"));
10
+ var _Requirement = _interopRequireDefault(require("./elements/Requirement.cjs"));
11
+ var _RequirementLevel = _interopRequireDefault(require("./elements/RequirementLevel.cjs"));
12
+ var _Scenario = _interopRequireDefault(require("./elements/Scenario.cjs"));
13
+ var _Standard = _interopRequireDefault(require("./elements/Standard.cjs"));
14
+ var _StandardIdentifier = _interopRequireDefault(require("./elements/StandardIdentifier.cjs"));
15
+ const isMainElement = (0, _apidomCore.createPredicate)(({
16
+ hasBasicElementProps,
17
+ isElementType,
18
+ primitiveEq
19
+ }) => {
20
+ return element => element instanceof _Main.default || hasBasicElementProps(element) && isElementType('main', element) && primitiveEq('object', element);
21
+ });
22
+ exports.isMainElement = isMainElement;
23
+ const isInfoElement = (0, _apidomCore.createPredicate)(({
24
+ hasBasicElementProps,
25
+ isElementType,
26
+ primitiveEq
27
+ }) => {
28
+ return element => element instanceof _Info.default || hasBasicElementProps(element) && isElementType('info', element) && primitiveEq('object', element);
29
+ });
30
+ exports.isInfoElement = isInfoElement;
31
+ const isPrincipleElement = (0, _apidomCore.createPredicate)(({
32
+ hasBasicElementProps,
33
+ isElementType,
34
+ primitiveEq
35
+ }) => {
36
+ return element => element instanceof _Principle.default || hasBasicElementProps(element) && isElementType('principle', element) && primitiveEq('object', element);
37
+ });
38
+ exports.isPrincipleElement = isPrincipleElement;
39
+ const isRequirementElement = (0, _apidomCore.createPredicate)(({
40
+ hasBasicElementProps,
41
+ isElementType,
42
+ primitiveEq
43
+ }) => {
44
+ return element => element instanceof _Requirement.default || hasBasicElementProps(element) && isElementType('requirement', element) && primitiveEq('object', element);
45
+ });
46
+ exports.isRequirementElement = isRequirementElement;
47
+ const isRequirementLevelElement = (0, _apidomCore.createPredicate)(({
48
+ hasBasicElementProps,
49
+ isElementType,
50
+ primitiveEq
51
+ }) => {
52
+ return element => element instanceof _RequirementLevel.default || hasBasicElementProps(element) && isElementType('requirementLevel', element) && primitiveEq('string', element);
53
+ });
54
+ exports.isRequirementLevelElement = isRequirementLevelElement;
55
+ const isScenarioElement = (0, _apidomCore.createPredicate)(({
56
+ hasBasicElementProps,
57
+ isElementType,
58
+ primitiveEq
59
+ }) => {
60
+ return element => element instanceof _Scenario.default || hasBasicElementProps(element) && isElementType('scenario', element) && primitiveEq('object', element);
61
+ });
62
+ exports.isScenarioElement = isScenarioElement;
63
+ const isStandardElement = (0, _apidomCore.createPredicate)(({
64
+ hasBasicElementProps,
65
+ isElementType,
66
+ primitiveEq
67
+ }) => {
68
+ return element => element instanceof _Standard.default || hasBasicElementProps(element) && isElementType('standard', element) && primitiveEq('object', element);
69
+ });
70
+ exports.isStandardElement = isStandardElement;
71
+ const isStandardIdentifierElement = (0, _apidomCore.createPredicate)(({
72
+ hasBasicElementProps,
73
+ isElementType,
74
+ primitiveEq
75
+ }) => {
76
+ return element => element instanceof _StandardIdentifier.default || hasBasicElementProps(element) && isElementType('standardIdentifier', element) && primitiveEq('array', element);
77
+ });
78
+ exports.isStandardIdentifierElement = isStandardIdentifierElement;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.default = exports.createRefractor = void 0;
6
+ var _apidomCore = require("@swagger-api/apidom-core");
7
+ var _ramdaAdjunct = require("ramda-adjunct");
8
+ var _specification = _interopRequireDefault(require("./specification.cjs"));
9
+ var _visitor = require("../traversal/visitor.cjs");
10
+ var _toolbox = _interopRequireDefault(require("./toolbox.cjs"));
11
+ const refract = (value, {
12
+ specPath = ['visitors', 'document', 'objects', 'Main', '$visitor'],
13
+ plugins = []
14
+ } = {}) => {
15
+ const element = (0, _apidomCore.refract)(value);
16
+ const resolvedSpec = (0, _apidomCore.dereference)(_specification.default);
17
+
18
+ /**
19
+ * This is where generic ApiDOM becomes semantic (namespace applied).
20
+ * We don't allow consumers to hook into this translation.
21
+ * Though we allow consumers to define their onw plugins on already transformed ApiDOM.
22
+ */
23
+ const rootVisitor = (0, _ramdaAdjunct.invokeArgs)(specPath, [], resolvedSpec);
24
+ // @ts-ignore
25
+ (0, _apidomCore.visit)(element, rootVisitor, {
26
+ state: {
27
+ specObj: resolvedSpec
28
+ }
29
+ });
30
+
31
+ /**
32
+ * Running plugins visitors means extra single traversal === performance hit.
33
+ */
34
+ return (0, _apidomCore.dispatchRefractorPlugins)(rootVisitor.element, plugins, {
35
+ toolboxCreator: _toolbox.default,
36
+ visitorOptions: {
37
+ keyMap: _visitor.keyMap,
38
+ nodeTypeGetter: _visitor.getNodeType
39
+ }
40
+ });
41
+ };
42
+ const createRefractor = specPath => (value, options = {}) => refract(value, {
43
+ ...options,
44
+ specPath
45
+ });
46
+ exports.createRefractor = createRefractor;
47
+ var _default = refract;
48
+ exports.default = _default;
@@ -0,0 +1,88 @@
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
+ const plugin = () => () => {
8
+ return {
9
+ visitor: {
10
+ OperationElement(element, ...rest) {
11
+ const [,,, ancestors] = rest;
12
+ const parentPathItem = ancestors[ancestors.length - 2];
13
+ const httpMethod = element.meta.get('http-method').clone();
14
+ httpMethod.content = httpMethod.toValue().toLowerCase();
15
+ const standardIdentifiers = [{
16
+ subject: ['http', 'request', 'url'],
17
+ value: parentPathItem.meta.get('path')
18
+ }, {
19
+ subject: ['http', 'request', 'method'],
20
+ value: httpMethod
21
+ }];
22
+ if (typeof parentPathItem.parameters !== 'undefined' && (0, _apidomNsOpenapi.isArrayElement)(parentPathItem.parameters)) {
23
+ // @ts-ignore
24
+ parentPathItem.parameters.forEach(parameter => {
25
+ var _parameter$in;
26
+ if ((0, _apidomNsOpenapi.isStringElement)(parameter.in) && (0, _apidomNsOpenapi.isStringElement)(parameter.name) && ((_parameter$in = parameter.in) === null || _parameter$in === void 0 ? void 0 : _parameter$in.toValue()) === 'header') {
27
+ var _parameter$name, _parameter$name2;
28
+ standardIdentifiers.push({
29
+ subject: ['http', 'request', 'header'],
30
+ value: (_parameter$name = parameter.name) === null || _parameter$name === void 0 ? void 0 : _parameter$name.clone()
31
+ });
32
+ standardIdentifiers.push({
33
+ subject: ['http', 'message', 'header'],
34
+ value: (_parameter$name2 = parameter.name) === null || _parameter$name2 === void 0 ? void 0 : _parameter$name2.clone()
35
+ });
36
+ }
37
+ });
38
+ }
39
+ element.setMetaProperty('ads-a-standard-identifier', standardIdentifiers);
40
+ },
41
+ ParameterElement(element) {
42
+ var _element$in;
43
+ if ((0, _apidomNsOpenapi.isStringElement)(element.in) && (0, _apidomNsOpenapi.isStringElement)(element.name) && ((_element$in = element.in) === null || _element$in === void 0 ? void 0 : _element$in.toValue()) === 'header') {
44
+ var _element$name, _element$name2;
45
+ element.setMetaProperty('ads-a-standard-identifier', [{
46
+ subject: ['http', 'request', 'header'],
47
+ value: (_element$name = element.name) === null || _element$name === void 0 ? void 0 : _element$name.clone()
48
+ }, {
49
+ subject: ['http', 'message', 'header'],
50
+ value: (_element$name2 = element.name) === null || _element$name2 === void 0 ? void 0 : _element$name2.clone()
51
+ }]);
52
+ }
53
+ },
54
+ RequestBodyElement(element) {
55
+ if (typeof element.contentProp === 'undefined' || !(0, _apidomNsOpenapi.isObjectElement)(element.contentProp)) {
56
+ return;
57
+ }
58
+ const standardIdentifiers = [];
59
+ element.contentProp.forEach((mediaType, key) => {
60
+ standardIdentifiers.push({
61
+ subject: ['http', 'request', 'header'],
62
+ value: new _apidomCore.StringElement('Content-Type', key.meta.clone())
63
+ }, {
64
+ subject: ['http', 'message', 'header'],
65
+ value: new _apidomCore.StringElement('Content-Type', key.meta.clone())
66
+ }, {
67
+ subject: ['http', 'request', 'header', 'Content-Type'],
68
+ value: key.clone()
69
+ }, {
70
+ subject: ['http', 'message', 'header', 'Content-Type'],
71
+ value: key.clone()
72
+ });
73
+ });
74
+ element.setMetaProperty('ads-a-standard-identifier', standardIdentifiers);
75
+ },
76
+ ResponseElement(element) {
77
+ if (!element.meta.hasKey('http-status-code')) return;
78
+ const standardIdentifiers = [{
79
+ subject: ['http', 'response', 'status_code'],
80
+ value: element.meta.get('http-status-code').clone()
81
+ }];
82
+ element.setMetaProperty('ads-a-standard-identifier', standardIdentifiers);
83
+ }
84
+ }
85
+ };
86
+ };
87
+ var _default = plugin;
88
+ exports.default = _default;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+ var _apidomNsOpenapi = require("@swagger-api/apidom-ns-openapi-3-1");
6
+ const plugin = () => () => {
7
+ let operationIdentifiers = [];
8
+ let responseIdentifiers = [];
9
+ return {
10
+ visitor: {
11
+ OperationElement: {
12
+ enter(element, ...rest) {
13
+ var _parentPathItem$param;
14
+ const [,,, ancestors] = rest;
15
+ const parentPathItem = ancestors[ancestors.length - 2];
16
+ operationIdentifiers.push(['http', 'transaction'], ['http', 'request'], ['http', 'request', 'url'], ['http', 'request', 'url', parentPathItem.meta.get('path').toValue()], ['http', 'request', 'method'], ['http', 'request', 'method', element.meta.get('http-method').toValue().toLowerCase()]);
17
+
18
+ // fold PathItem.parameters to Operation.parameters
19
+ // @ts-ignore
20
+ parentPathItem === null || parentPathItem === void 0 ? void 0 : (_parentPathItem$param = parentPathItem.parameters) === null || _parentPathItem$param === void 0 ? void 0 : _parentPathItem$param.forEach(parameter => {
21
+ var _parameter$in;
22
+ if ((0, _apidomNsOpenapi.isStringElement)(parameter.in) && (0, _apidomNsOpenapi.isStringElement)(parameter.name) && ((_parameter$in = parameter.in) === null || _parameter$in === void 0 ? void 0 : _parameter$in.toValue()) === 'header') {
23
+ var _parameter$name, _parameter$name2;
24
+ operationIdentifiers.push(['http', 'request', 'header'], ['http', 'request', 'header', (_parameter$name = parameter.name) === null || _parameter$name === void 0 ? void 0 : _parameter$name.toValue()], ['http', 'message', 'header'], ['http', 'message', 'header', (_parameter$name2 = parameter.name) === null || _parameter$name2 === void 0 ? void 0 : _parameter$name2.toValue()]);
25
+ }
26
+ });
27
+ },
28
+ leave(element) {
29
+ element.setMetaProperty('ads-s-standard-identifier', operationIdentifiers);
30
+ operationIdentifiers = [];
31
+ }
32
+ },
33
+ ParameterElement(element) {
34
+ var _element$in;
35
+ if ((0, _apidomNsOpenapi.isStringElement)(element.in) && (0, _apidomNsOpenapi.isStringElement)(element.name) && ((_element$in = element.in) === null || _element$in === void 0 ? void 0 : _element$in.toValue()) === 'header') {
36
+ var _element$name, _element$name2;
37
+ operationIdentifiers.push(['http', 'request', 'header'], ['http', 'request', 'header', (_element$name = element.name) === null || _element$name === void 0 ? void 0 : _element$name.toValue()], ['http', 'message', 'header'], ['http', 'message', 'header', (_element$name2 = element.name) === null || _element$name2 === void 0 ? void 0 : _element$name2.toValue()]);
38
+ }
39
+ },
40
+ RequestBodyElement(element) {
41
+ if (!(0, _apidomNsOpenapi.isObjectElement)(element.contentProp)) return;
42
+ operationIdentifiers.push(['http', 'request', 'body'], ['http', 'message', 'body']);
43
+ if (typeof element.contentProp !== 'undefined' && (0, _apidomNsOpenapi.isObjectElement)(element.contentProp)) {
44
+ element.contentProp.forEach(() => {
45
+ operationIdentifiers.push(['http', 'request', 'header'], ['http', 'request', 'header', 'Content-Type'], ['http', 'message', 'header'], ['http', 'message', 'header', 'Content-Type']);
46
+ });
47
+ }
48
+ },
49
+ ResponseElement: {
50
+ enter(element) {
51
+ responseIdentifiers.push(['http', 'response']);
52
+ if (element.meta.hasKey('http-status-code')) {
53
+ const statusCode = String(element.meta.get('http-status-code').toValue());
54
+ const statusCodeAlias = statusCode.startsWith('2') ? 'success' : statusCode.startsWith('3') ? 'redirect' : statusCode.startsWith('4') ? 'client_error' : statusCode.startsWith('5') ? 'sever_error' : 'unknown';
55
+ responseIdentifiers.push(['http', 'response', 'status_code'], ['http', 'response', 'status_code', statusCode], ['http', 'response', 'status_code', statusCodeAlias]);
56
+ }
57
+ if (typeof element.headers !== 'undefined' && (0, _apidomNsOpenapi.isObjectElement)(element.headers)) {
58
+ element.headers.forEach((value, key) => {
59
+ const headerName = key.toValue();
60
+ responseIdentifiers.push(['http', 'response', 'header'], ['http', 'response', 'header', headerName], ['http', 'message', 'header', headerName]);
61
+ });
62
+ }
63
+ if (typeof element.contentProp !== 'undefined' && (0, _apidomNsOpenapi.isObjectElement)(element.contentProp)) {
64
+ responseIdentifiers.push(['http', 'response', 'body'], ['http', 'message', 'body']);
65
+ element.contentProp.forEach((value, key) => {
66
+ const headerName = key.toValue();
67
+ responseIdentifiers.push(['http', 'response', 'header'], ['http', 'response', 'header', headerName], ['http', 'message', 'header', headerName]);
68
+ });
69
+ }
70
+ },
71
+ leave(element) {
72
+ element.setMetaProperty('ads-s-standard-identifier', responseIdentifiers);
73
+ responseIdentifiers = [];
74
+ }
75
+ }
76
+ }
77
+ };
78
+ };
79
+ var _default = plugin;
80
+ exports.default = _default;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ var _index = require("./index.cjs");
6
+ var _Main = _interopRequireDefault(require("../elements/Main.cjs"));
7
+ exports.MainElement = _Main.default;
8
+ var _Info = _interopRequireDefault(require("../elements/Info.cjs"));
9
+ exports.InfoElement = _Info.default;
10
+ var _Principle = _interopRequireDefault(require("../elements/Principle.cjs"));
11
+ exports.PrincipleElement = _Principle.default;
12
+ var _Requirement = _interopRequireDefault(require("../elements/Requirement.cjs"));
13
+ exports.RequirementElement = _Requirement.default;
14
+ var _RequirementLevel = _interopRequireDefault(require("../elements/RequirementLevel.cjs"));
15
+ exports.RequirementLevelElement = _RequirementLevel.default;
16
+ var _Scenario = _interopRequireDefault(require("../elements/Scenario.cjs"));
17
+ exports.ScenarioElement = _Scenario.default;
18
+ var _Standard = _interopRequireDefault(require("../elements/Standard.cjs"));
19
+ exports.StandardElement = _Standard.default;
20
+ var _StandardIdentifier = _interopRequireDefault(require("../elements/StandardIdentifier.cjs"));
21
+ exports.StandardIdentifierElement = _StandardIdentifier.default;
22
+ /**
23
+ * API Design Systems 2021-05-07 specification elements.
24
+ */
25
+
26
+ /**
27
+ * API Design Systems 2021-05-07 specification elements.
28
+ */
29
+ _Main.default.refract = (0, _index.createRefractor)(['visitors', 'document', 'objects', 'Main', '$visitor']);
30
+ _Info.default.refract = (0, _index.createRefractor)(['visitors', 'document', 'objects', 'Info', '$visitor']);
31
+ _Principle.default.refract = (0, _index.createRefractor)(['visitors', 'document', 'objects', 'Principle', '$visitor']);
32
+ _Requirement.default.refract = (0, _index.createRefractor)(['visitors', 'document', 'objects', 'Requirement', '$visitor']);
33
+ _RequirementLevel.default.refract = (0, _index.createRefractor)(['visitors', 'document', 'objects', 'RequirementLevel', '$visitor']);
34
+ _Scenario.default.refract = (0, _index.createRefractor)(['visitors', 'document', 'objects', 'Scenario', '$visitor']);
35
+ _Standard.default.refract = (0, _index.createRefractor)(['visitors', 'document', 'objects', 'Standards', '$visitor']);
36
+ _StandardIdentifier.default.refract = (0, _index.createRefractor)(['visitors', 'document', 'objects', 'StandardIdentifier', '$visitor']);
@@ -0,0 +1,122 @@
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("./visitors/FallbackVisitor.cjs"));
7
+ var _index = _interopRequireDefault(require("./visitors/api-design-systems/requirement-level/index.cjs"));
8
+ var _index2 = _interopRequireDefault(require("./visitors/api-design-systems/standard-identifier/index.cjs"));
9
+ var _index3 = _interopRequireDefault(require("./visitors/api-design-systems/requirement/index.cjs"));
10
+ var _ValuesVisitor = _interopRequireDefault(require("./visitors/api-design-systems/requirement/ValuesVisitor.cjs"));
11
+ var _FollowsVisitor = _interopRequireDefault(require("./visitors/api-design-systems/requirement/FollowsVisitor.cjs"));
12
+ var _index4 = _interopRequireDefault(require("./visitors/api-design-systems/scenario/index.cjs"));
13
+ var _DescriptionVisitor = _interopRequireDefault(require("./visitors/api-design-systems/scenario/DescriptionVisitor.cjs"));
14
+ var _ThenVisitor = _interopRequireDefault(require("./visitors/api-design-systems/scenario/ThenVisitor.cjs"));
15
+ var _index5 = _interopRequireDefault(require("./visitors/api-design-systems/standard/index.cjs"));
16
+ var _NameVisitor = _interopRequireDefault(require("./visitors/api-design-systems/standard/NameVisitor.cjs"));
17
+ var _DescriptionVisitor2 = _interopRequireDefault(require("./visitors/api-design-systems/standard/DescriptionVisitor.cjs"));
18
+ var _IriVisitor = _interopRequireDefault(require("./visitors/api-design-systems/standard/IriVisitor.cjs"));
19
+ var _index6 = _interopRequireDefault(require("./visitors/api-design-systems/principle/index.cjs"));
20
+ var _NameVisitor2 = _interopRequireDefault(require("./visitors/api-design-systems/principle/NameVisitor.cjs"));
21
+ var _DescriptionVisitor3 = _interopRequireDefault(require("./visitors/api-design-systems/principle/DescriptionVisitor.cjs"));
22
+ var _IriVisitor2 = _interopRequireDefault(require("./visitors/api-design-systems/principle/IriVisitor.cjs"));
23
+ var _index7 = _interopRequireDefault(require("./visitors/api-design-systems/info/index.cjs"));
24
+ var _TitleVisitor = _interopRequireDefault(require("./visitors/api-design-systems/info/TitleVisitor.cjs"));
25
+ var _DescriptionVisitor4 = _interopRequireDefault(require("./visitors/api-design-systems/info/DescriptionVisitor.cjs"));
26
+ var _index8 = _interopRequireDefault(require("./visitors/api-design-systems/main/index.cjs"));
27
+ var _VersionVisitor = _interopRequireDefault(require("./visitors/api-design-systems/main/VersionVisitor.cjs"));
28
+ var _PrinciplesVisitor = _interopRequireDefault(require("./visitors/api-design-systems/main/PrinciplesVisitor.cjs"));
29
+ var _StandardsVisitor = _interopRequireDefault(require("./visitors/api-design-systems/main/StandardsVisitor.cjs"));
30
+ var _ScenariosVisitor = _interopRequireDefault(require("./visitors/api-design-systems/main/ScenariosVisitor.cjs"));
31
+ /**
32
+ * API Design Systems 2021-05-07 specification elements.
33
+ */
34
+
35
+ /**
36
+ * Specification object allows us to have complete control over visitors
37
+ * when traversing the ApiDOM.
38
+ * Specification also allows us to create amended refractors from
39
+ * existing ones by manipulating it.
40
+ *
41
+ * Note: Specification object allows to use absolute internal JSON pointers.
42
+ */
43
+ const specification = {
44
+ visitors: {
45
+ value: _FallbackVisitor.default,
46
+ document: {
47
+ objects: {
48
+ /**
49
+ * API Design Systems 2021-05-07 specification elements.
50
+ */
51
+ Main: {
52
+ $visitor: _index8.default,
53
+ fixedFields: {
54
+ version: _VersionVisitor.default,
55
+ info: {
56
+ $ref: '#/visitors/document/objects/Info'
57
+ },
58
+ principles: _PrinciplesVisitor.default,
59
+ standards: _StandardsVisitor.default,
60
+ scenarios: _ScenariosVisitor.default
61
+ }
62
+ },
63
+ Info: {
64
+ $visitor: _index7.default,
65
+ fixedFields: {
66
+ title: _TitleVisitor.default,
67
+ description: _DescriptionVisitor4.default
68
+ }
69
+ },
70
+ Principle: {
71
+ $visitor: _index6.default,
72
+ fixedFields: {
73
+ name: _NameVisitor2.default,
74
+ description: _DescriptionVisitor3.default,
75
+ iri: _IriVisitor2.default,
76
+ level: {
77
+ $ref: '#/visitors/document/objects/RequirementLevel'
78
+ }
79
+ }
80
+ },
81
+ Standard: {
82
+ $visitor: _index5.default,
83
+ fixedFields: {
84
+ name: _NameVisitor.default,
85
+ description: _DescriptionVisitor2.default,
86
+ level: {
87
+ $ref: '#/visitors/document/objects/RequirementLevel'
88
+ },
89
+ iri: _IriVisitor.default
90
+ }
91
+ },
92
+ Scenario: {
93
+ $visitor: _index4.default,
94
+ fixedFields: {
95
+ description: _DescriptionVisitor.default,
96
+ when: {
97
+ $ref: '#/visitors/document/objects/StandardIdentifier'
98
+ },
99
+ then: _ThenVisitor.default
100
+ }
101
+ },
102
+ Requirement: {
103
+ $visitor: _index3.default,
104
+ fixedFields: {
105
+ subject: {
106
+ $ref: '#/visitors/document/objects/StandardIdentifier'
107
+ },
108
+ level: {
109
+ $ref: '#/visitors/document/objects/RequirementLevel'
110
+ },
111
+ values: _ValuesVisitor.default,
112
+ follows: _FollowsVisitor.default
113
+ }
114
+ },
115
+ StandardIdentifier: _index2.default,
116
+ RequirementLevel: _index.default
117
+ }
118
+ }
119
+ }
120
+ };
121
+ var _default = specification;
122
+ exports.default = _default;
@@ -0,0 +1,23 @@
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 apiDesignSystemsPredicates = _interopRequireWildcard(require("../predicates.cjs"));
8
+ var _namespace = _interopRequireDefault(require("../namespace.cjs"));
9
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
10
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
11
+ const createToolbox = () => {
12
+ const namespace = (0, _apidomCore.createNamespace)(_namespace.default);
13
+ const predicates = {
14
+ ...apiDesignSystemsPredicates,
15
+ isStringElement: _apidomCore.isStringElement
16
+ };
17
+ return {
18
+ predicates,
19
+ namespace
20
+ };
21
+ };
22
+ var _default = createToolbox;
23
+ exports.default = _default;
@@ -0,0 +1,24 @@
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 _Visitor = _interopRequireDefault(require("./Visitor.cjs"));
9
+ /**
10
+ * This visitor is responsible for falling back to current traversed element
11
+ * Given AsyncApi2Visitor expects ObjectElement to be traversed. If
12
+ * different Element is provided FallBackVisitor is responsible to assigning
13
+ * this Element as current element.
14
+ */
15
+ const FallbackVisitor = (0, _stampit.default)(_Visitor.default, {
16
+ methods: {
17
+ enter(element) {
18
+ this.element = element.clone();
19
+ return _apidomCore.BREAK;
20
+ }
21
+ }
22
+ });
23
+ var _default = FallbackVisitor;
24
+ exports.default = _default;
@@ -0,0 +1,75 @@
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 _ramdaAdjunct = require("ramda-adjunct");
9
+ var _apidomCore = require("@swagger-api/apidom-core");
10
+ var _visitor = require("../../traversal/visitor.cjs");
11
+ var _Visitor = _interopRequireDefault(require("./Visitor.cjs"));
12
+ /**
13
+ * This is a base Type for every visitor that does
14
+ * internal look-ups to retrieve other child visitors.
15
+ */
16
+ const SpecificationVisitor = (0, _stampit.default)(_Visitor.default, {
17
+ props: {
18
+ specObj: null
19
+ },
20
+ // @ts-ignore
21
+ init({
22
+ specObj = this.specObj
23
+ }) {
24
+ this.specObj = specObj;
25
+ },
26
+ methods: {
27
+ retrievePassingOptions() {
28
+ return (0, _ramda.pick)(['namespace', 'specObj'], this);
29
+ },
30
+ retrieveFixedFields(specPath) {
31
+ return (0, _ramda.pipe)((0, _ramda.path)(['visitors', ...specPath, 'fixedFields']), _ramda.keys)(this.specObj);
32
+ },
33
+ retrieveVisitor(specPath) {
34
+ if ((0, _ramda.pathSatisfies)(_ramdaAdjunct.isFunction, ['visitors', ...specPath], this.specObj)) {
35
+ return (0, _ramda.path)(['visitors', ...specPath], this.specObj);
36
+ }
37
+ return (0, _ramda.path)(['visitors', ...specPath, '$visitor'], this.specObj);
38
+ },
39
+ retrieveVisitorInstance(specPath, options = {}) {
40
+ const passingOpts = this.retrievePassingOptions();
41
+ return this.retrieveVisitor(specPath)({
42
+ ...passingOpts,
43
+ ...options
44
+ });
45
+ },
46
+ toRefractedElement(specPath, element, options = {}) {
47
+ /**
48
+ * This is `Visitor shortcut`: mechanism for short circuiting the traversal and replacing
49
+ * it by basic node cloning.
50
+ *
51
+ * Visiting the element is equivalent to cloning it if the prototype of a visitor
52
+ * is the same as the prototype of FallbackVisitor. If that's the case, we can avoid
53
+ * bootstrapping the traversal cycle for fields that don't require any special visiting.
54
+ */
55
+ const visitor = this.retrieveVisitorInstance(specPath, options);
56
+ const visitorPrototype = Object.getPrototypeOf(visitor);
57
+ if ((0, _ramdaAdjunct.isUndefined)(this.fallbackVisitorPrototype)) {
58
+ this.fallbackVisitorPrototype = Object.getPrototypeOf(this.retrieveVisitorInstance(['value']));
59
+ }
60
+ if (this.fallbackVisitorPrototype === visitorPrototype) {
61
+ return element.clone();
62
+ }
63
+
64
+ // standard processing continues
65
+ (0, _apidomCore.visit)(element, visitor, {
66
+ keyMap: _visitor.keyMap,
67
+ ...options,
68
+ nodeTypeGetter: _visitor.getNodeType
69
+ });
70
+ return visitor.element;
71
+ }
72
+ }
73
+ });
74
+ var _default = SpecificationVisitor;
75
+ 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
+ const Visitor = (0, _stampit.default)({
9
+ props: {
10
+ element: null
11
+ },
12
+ methods: {
13
+ copyMetaAndAttributes(from, to) {
14
+ // copy sourcemaps
15
+ if ((0, _apidomCore.hasElementSourceMap)(from)) {
16
+ to.meta.set('sourceMap', from.meta.get('sourceMap'));
17
+ }
18
+ }
19
+ }
20
+ });
21
+ var _default = Visitor;
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,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 TitleVisitor = _FallbackVisitor.default;
8
+ var _default = TitleVisitor;
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 _Info = _interopRequireDefault(require("../../../../elements/Info.cjs"));
9
+ var _FallbackVisitor = _interopRequireDefault(require("../../FallbackVisitor.cjs"));
10
+ var _FixedFieldsVisitor = _interopRequireDefault(require("../../generics/FixedFieldsVisitor.cjs"));
11
+ const InfoVisitor = (0, _stampit.default)(_FixedFieldsVisitor.default, _FallbackVisitor.default, {
12
+ props: {
13
+ specPath: (0, _ramda.always)(['document', 'objects', 'Info'])
14
+ },
15
+ init() {
16
+ this.element = new _Info.default();
17
+ }
18
+ });
19
+ var _default = InfoVisitor;
20
+ exports.default = _default;