@swagger-api/apidom-ns-openapi-2 0.79.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.
Files changed (221) hide show
  1. package/CHANGELOG.md +24 -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 +215 -0
  6. package/cjs/elements/Contact.cjs +30 -0
  7. package/cjs/elements/Definitions.cjs +12 -0
  8. package/cjs/elements/Example.cjs +12 -0
  9. package/cjs/elements/ExternalDocumentation.cjs +24 -0
  10. package/cjs/elements/Header.cjs +184 -0
  11. package/cjs/elements/Headers.cjs +12 -0
  12. package/cjs/elements/Info.cjs +49 -0
  13. package/cjs/elements/Items.cjs +189 -0
  14. package/cjs/elements/License.cjs +24 -0
  15. package/cjs/elements/Operation.cjs +75 -0
  16. package/cjs/elements/Parameter.cjs +229 -0
  17. package/cjs/elements/ParametersDefinitions.cjs +12 -0
  18. package/cjs/elements/PathItem.cjs +66 -0
  19. package/cjs/elements/Paths.cjs +12 -0
  20. package/cjs/elements/Reference.cjs +19 -0
  21. package/cjs/elements/Response.cjs +36 -0
  22. package/cjs/elements/Responses.cjs +18 -0
  23. package/cjs/elements/ResponsesDefinitions.cjs +12 -0
  24. package/cjs/elements/Schema.cjs +115 -0
  25. package/cjs/elements/Scopes.cjs +12 -0
  26. package/cjs/elements/SecurityDefinitions.cjs +12 -0
  27. package/cjs/elements/SecurityRequirement.cjs +12 -0
  28. package/cjs/elements/SecurityScheme.cjs +60 -0
  29. package/cjs/elements/Swagger.cjs +103 -0
  30. package/cjs/elements/SwaggerVersion.cjs +14 -0
  31. package/cjs/elements/Tag.cjs +30 -0
  32. package/cjs/elements/Xml.cjs +42 -0
  33. package/cjs/elements/nces/OperationConsumes.cjs +13 -0
  34. package/cjs/elements/nces/OperationParameters.cjs +14 -0
  35. package/cjs/elements/nces/OperationProduces.cjs +13 -0
  36. package/cjs/elements/nces/OperationSchemes.cjs +13 -0
  37. package/cjs/elements/nces/OperationSecurity.cjs +14 -0
  38. package/cjs/elements/nces/OperationTags.cjs +13 -0
  39. package/cjs/elements/nces/PathItemParameters.cjs +14 -0
  40. package/cjs/elements/nces/SwaggerConsumes.cjs +13 -0
  41. package/cjs/elements/nces/SwaggerProduces.cjs +13 -0
  42. package/cjs/elements/nces/SwaggerSchemes.cjs +13 -0
  43. package/cjs/elements/nces/SwaggerSecurity.cjs +14 -0
  44. package/cjs/elements/nces/SwaggerTags.cjs +13 -0
  45. package/cjs/index.cjs +134 -0
  46. package/cjs/media-types.cjs +23 -0
  47. package/cjs/namespace.cjs +68 -0
  48. package/cjs/predicates.cjs +222 -0
  49. package/cjs/refractor/index.cjs +47 -0
  50. package/cjs/refractor/plugins/replace-empty-element.cjs +365 -0
  51. package/cjs/refractor/predicates.cjs +14 -0
  52. package/cjs/refractor/registration.cjs +87 -0
  53. package/cjs/refractor/specification.cjs +488 -0
  54. package/cjs/refractor/toolbox.cjs +23 -0
  55. package/cjs/refractor/visitors/FallbackVisitor.cjs +23 -0
  56. package/cjs/refractor/visitors/SpecificationExtensionVisitor.cjs +18 -0
  57. package/cjs/refractor/visitors/SpecificationVisitor.cjs +87 -0
  58. package/cjs/refractor/visitors/Visitor.cjs +22 -0
  59. package/cjs/refractor/visitors/generics/AlternatingVisitor.cjs +27 -0
  60. package/cjs/refractor/visitors/generics/FixedFieldsVisitor.cjs +56 -0
  61. package/cjs/refractor/visitors/generics/MapVisitor.cjs +14 -0
  62. package/cjs/refractor/visitors/generics/MixedFieldsVisitor.cjs +42 -0
  63. package/cjs/refractor/visitors/generics/PatternedFieldsVisitor.cjs +58 -0
  64. package/cjs/refractor/visitors/open-api-2/ConsumesVisitor.cjs +21 -0
  65. package/cjs/refractor/visitors/open-api-2/ProducesVisitor.cjs +21 -0
  66. package/cjs/refractor/visitors/open-api-2/SchemesVisitor.cjs +21 -0
  67. package/cjs/refractor/visitors/open-api-2/SecurityVisitor.cjs +27 -0
  68. package/cjs/refractor/visitors/open-api-2/SwaggerVisitor.cjs +21 -0
  69. package/cjs/refractor/visitors/open-api-2/TagsVisitor.cjs +27 -0
  70. package/cjs/refractor/visitors/open-api-2/contact/index.cjs +20 -0
  71. package/cjs/refractor/visitors/open-api-2/definitions/index.cjs +33 -0
  72. package/cjs/refractor/visitors/open-api-2/example/index.cjs +20 -0
  73. package/cjs/refractor/visitors/open-api-2/external-documentation/index.cjs +20 -0
  74. package/cjs/refractor/visitors/open-api-2/header/index.cjs +20 -0
  75. package/cjs/refractor/visitors/open-api-2/headers/index.cjs +20 -0
  76. package/cjs/refractor/visitors/open-api-2/index.cjs +20 -0
  77. package/cjs/refractor/visitors/open-api-2/info/VersionVisitor.cjs +19 -0
  78. package/cjs/refractor/visitors/open-api-2/info/index.cjs +20 -0
  79. package/cjs/refractor/visitors/open-api-2/items/index.cjs +20 -0
  80. package/cjs/refractor/visitors/open-api-2/license/index.cjs +20 -0
  81. package/cjs/refractor/visitors/open-api-2/operation/ConsumesVisitor.cjs +21 -0
  82. package/cjs/refractor/visitors/open-api-2/operation/ParametersVisitor.cjs +32 -0
  83. package/cjs/refractor/visitors/open-api-2/operation/ProducesVisitor.cjs +21 -0
  84. package/cjs/refractor/visitors/open-api-2/operation/SchemesVisitor.cjs +21 -0
  85. package/cjs/refractor/visitors/open-api-2/operation/SecurityVisitor.cjs +27 -0
  86. package/cjs/refractor/visitors/open-api-2/operation/TagsVisitor.cjs +21 -0
  87. package/cjs/refractor/visitors/open-api-2/operation/index.cjs +19 -0
  88. package/cjs/refractor/visitors/open-api-2/parameter/index.cjs +20 -0
  89. package/cjs/refractor/visitors/open-api-2/parameters-definitions/index.cjs +19 -0
  90. package/cjs/refractor/visitors/open-api-2/path-item/$RefVisitor.cjs +18 -0
  91. package/cjs/refractor/visitors/open-api-2/path-item/ParametersVisitor.cjs +32 -0
  92. package/cjs/refractor/visitors/open-api-2/path-item/index.cjs +40 -0
  93. package/cjs/refractor/visitors/open-api-2/paths/index.cjs +35 -0
  94. package/cjs/refractor/visitors/open-api-2/reference/$RefVisitor.cjs +18 -0
  95. package/cjs/refractor/visitors/open-api-2/reference/index.cjs +33 -0
  96. package/cjs/refractor/visitors/open-api-2/response/index.cjs +20 -0
  97. package/cjs/refractor/visitors/open-api-2/responses/DefaultVisitor.cjs +37 -0
  98. package/cjs/refractor/visitors/open-api-2/responses/index.cjs +46 -0
  99. package/cjs/refractor/visitors/open-api-2/responses-definitions/index.cjs +19 -0
  100. package/cjs/refractor/visitors/open-api-2/schema/AllOfVisitor.cjs +23 -0
  101. package/cjs/refractor/visitors/open-api-2/schema/ItemsVisitor.cjs +31 -0
  102. package/cjs/refractor/visitors/open-api-2/schema/PropertiesVisitor.cjs +23 -0
  103. package/cjs/refractor/visitors/open-api-2/schema/SchemaOrJSONReferenceVisitor.cjs +23 -0
  104. package/cjs/refractor/visitors/open-api-2/schema/index.cjs +20 -0
  105. package/cjs/refractor/visitors/open-api-2/scopes/index.cjs +20 -0
  106. package/cjs/refractor/visitors/open-api-2/security-definitions/index.cjs +19 -0
  107. package/cjs/refractor/visitors/open-api-2/security-requirement/index.cjs +19 -0
  108. package/cjs/refractor/visitors/open-api-2/security-scheme/index.cjs +20 -0
  109. package/cjs/refractor/visitors/open-api-2/tag/index.cjs +20 -0
  110. package/cjs/refractor/visitors/open-api-2/xml/index.cjs +20 -0
  111. package/cjs/traversal/visitor.cjs +53 -0
  112. package/dist/apidom-ns-openapi-2.browser.js +25296 -0
  113. package/dist/apidom-ns-openapi-2.browser.min.js +1 -0
  114. package/es/elements/Contact.mjs +26 -0
  115. package/es/elements/Definitions.mjs +8 -0
  116. package/es/elements/Example.mjs +8 -0
  117. package/es/elements/ExternalDocumentation.mjs +20 -0
  118. package/es/elements/Header.mjs +182 -0
  119. package/es/elements/Headers.mjs +8 -0
  120. package/es/elements/Info.mjs +45 -0
  121. package/es/elements/Items.mjs +187 -0
  122. package/es/elements/License.mjs +20 -0
  123. package/es/elements/Operation.mjs +71 -0
  124. package/es/elements/Parameter.mjs +226 -0
  125. package/es/elements/ParametersDefinitions.mjs +8 -0
  126. package/es/elements/PathItem.mjs +62 -0
  127. package/es/elements/Paths.mjs +8 -0
  128. package/es/elements/Reference.mjs +15 -0
  129. package/es/elements/Response.mjs +32 -0
  130. package/es/elements/Responses.mjs +14 -0
  131. package/es/elements/ResponsesDefinitions.mjs +8 -0
  132. package/es/elements/Schema.mjs +113 -0
  133. package/es/elements/Scopes.mjs +8 -0
  134. package/es/elements/SecurityDefinitions.mjs +8 -0
  135. package/es/elements/SecurityRequirement.mjs +8 -0
  136. package/es/elements/SecurityScheme.mjs +56 -0
  137. package/es/elements/Swagger.mjs +99 -0
  138. package/es/elements/SwaggerVersion.mjs +10 -0
  139. package/es/elements/Tag.mjs +26 -0
  140. package/es/elements/Xml.mjs +38 -0
  141. package/es/elements/nces/OperationConsumes.mjs +9 -0
  142. package/es/elements/nces/OperationParameters.mjs +10 -0
  143. package/es/elements/nces/OperationProduces.mjs +9 -0
  144. package/es/elements/nces/OperationSchemes.mjs +9 -0
  145. package/es/elements/nces/OperationSecurity.mjs +10 -0
  146. package/es/elements/nces/OperationTags.mjs +9 -0
  147. package/es/elements/nces/PathItemParameters.mjs +10 -0
  148. package/es/elements/nces/SwaggerConsumes.mjs +9 -0
  149. package/es/elements/nces/SwaggerProduces.mjs +9 -0
  150. package/es/elements/nces/SwaggerSchemes.mjs +9 -0
  151. package/es/elements/nces/SwaggerSecurity.mjs +10 -0
  152. package/es/elements/nces/SwaggerTags.mjs +9 -0
  153. package/es/index.mjs +31 -0
  154. package/es/media-types.mjs +18 -0
  155. package/es/namespace.mjs +63 -0
  156. package/es/predicates.mjs +217 -0
  157. package/es/refractor/index.mjs +41 -0
  158. package/es/refractor/plugins/replace-empty-element.mjs +357 -0
  159. package/es/refractor/predicates.mjs +8 -0
  160. package/es/refractor/registration.mjs +56 -0
  161. package/es/refractor/specification.mjs +482 -0
  162. package/es/refractor/toolbox.mjs +17 -0
  163. package/es/refractor/visitors/FallbackVisitor.mjs +18 -0
  164. package/es/refractor/visitors/SpecificationExtensionVisitor.mjs +13 -0
  165. package/es/refractor/visitors/SpecificationVisitor.mjs +82 -0
  166. package/es/refractor/visitors/Visitor.mjs +17 -0
  167. package/es/refractor/visitors/generics/AlternatingVisitor.mjs +22 -0
  168. package/es/refractor/visitors/generics/FixedFieldsVisitor.mjs +51 -0
  169. package/es/refractor/visitors/generics/MapVisitor.mjs +9 -0
  170. package/es/refractor/visitors/generics/MixedFieldsVisitor.mjs +37 -0
  171. package/es/refractor/visitors/generics/PatternedFieldsVisitor.mjs +53 -0
  172. package/es/refractor/visitors/open-api-2/ConsumesVisitor.mjs +16 -0
  173. package/es/refractor/visitors/open-api-2/ProducesVisitor.mjs +16 -0
  174. package/es/refractor/visitors/open-api-2/SchemesVisitor.mjs +16 -0
  175. package/es/refractor/visitors/open-api-2/SecurityVisitor.mjs +22 -0
  176. package/es/refractor/visitors/open-api-2/SwaggerVisitor.mjs +16 -0
  177. package/es/refractor/visitors/open-api-2/TagsVisitor.mjs +22 -0
  178. package/es/refractor/visitors/open-api-2/contact/index.mjs +15 -0
  179. package/es/refractor/visitors/open-api-2/definitions/index.mjs +28 -0
  180. package/es/refractor/visitors/open-api-2/example/index.mjs +15 -0
  181. package/es/refractor/visitors/open-api-2/external-documentation/index.mjs +15 -0
  182. package/es/refractor/visitors/open-api-2/header/index.mjs +15 -0
  183. package/es/refractor/visitors/open-api-2/headers/index.mjs +15 -0
  184. package/es/refractor/visitors/open-api-2/index.mjs +15 -0
  185. package/es/refractor/visitors/open-api-2/info/VersionVisitor.mjs +14 -0
  186. package/es/refractor/visitors/open-api-2/info/index.mjs +15 -0
  187. package/es/refractor/visitors/open-api-2/items/index.mjs +15 -0
  188. package/es/refractor/visitors/open-api-2/license/index.mjs +15 -0
  189. package/es/refractor/visitors/open-api-2/operation/ConsumesVisitor.mjs +16 -0
  190. package/es/refractor/visitors/open-api-2/operation/ParametersVisitor.mjs +27 -0
  191. package/es/refractor/visitors/open-api-2/operation/ProducesVisitor.mjs +16 -0
  192. package/es/refractor/visitors/open-api-2/operation/SchemesVisitor.mjs +16 -0
  193. package/es/refractor/visitors/open-api-2/operation/SecurityVisitor.mjs +22 -0
  194. package/es/refractor/visitors/open-api-2/operation/TagsVisitor.mjs +16 -0
  195. package/es/refractor/visitors/open-api-2/operation/index.mjs +14 -0
  196. package/es/refractor/visitors/open-api-2/parameter/index.mjs +15 -0
  197. package/es/refractor/visitors/open-api-2/parameters-definitions/index.mjs +14 -0
  198. package/es/refractor/visitors/open-api-2/path-item/$RefVisitor.mjs +13 -0
  199. package/es/refractor/visitors/open-api-2/path-item/ParametersVisitor.mjs +27 -0
  200. package/es/refractor/visitors/open-api-2/path-item/index.mjs +35 -0
  201. package/es/refractor/visitors/open-api-2/paths/index.mjs +30 -0
  202. package/es/refractor/visitors/open-api-2/reference/$RefVisitor.mjs +13 -0
  203. package/es/refractor/visitors/open-api-2/reference/index.mjs +28 -0
  204. package/es/refractor/visitors/open-api-2/response/index.mjs +15 -0
  205. package/es/refractor/visitors/open-api-2/responses/DefaultVisitor.mjs +32 -0
  206. package/es/refractor/visitors/open-api-2/responses/index.mjs +41 -0
  207. package/es/refractor/visitors/open-api-2/responses-definitions/index.mjs +14 -0
  208. package/es/refractor/visitors/open-api-2/schema/AllOfVisitor.mjs +18 -0
  209. package/es/refractor/visitors/open-api-2/schema/ItemsVisitor.mjs +26 -0
  210. package/es/refractor/visitors/open-api-2/schema/PropertiesVisitor.mjs +18 -0
  211. package/es/refractor/visitors/open-api-2/schema/SchemaOrJSONReferenceVisitor.mjs +18 -0
  212. package/es/refractor/visitors/open-api-2/schema/index.mjs +15 -0
  213. package/es/refractor/visitors/open-api-2/scopes/index.mjs +15 -0
  214. package/es/refractor/visitors/open-api-2/security-definitions/index.mjs +14 -0
  215. package/es/refractor/visitors/open-api-2/security-requirement/index.mjs +14 -0
  216. package/es/refractor/visitors/open-api-2/security-scheme/index.mjs +15 -0
  217. package/es/refractor/visitors/open-api-2/tag/index.mjs +15 -0
  218. package/es/refractor/visitors/open-api-2/xml/index.mjs +15 -0
  219. package/es/traversal/visitor.mjs +50 -0
  220. package/package.json +64 -0
  221. package/types/dist.d.ts +1143 -0
@@ -0,0 +1,26 @@
1
+ import { ObjectElement } from '@swagger-api/apidom-core';
2
+ class Tag extends ObjectElement {
3
+ constructor(content, meta, attributes) {
4
+ super(content, meta, attributes);
5
+ this.element = 'tag';
6
+ }
7
+ get name() {
8
+ return this.get('name');
9
+ }
10
+ set name(name) {
11
+ this.set('name', name);
12
+ }
13
+ get description() {
14
+ return this.get('description');
15
+ }
16
+ set description(description) {
17
+ this.set('description', description);
18
+ }
19
+ get externalDocs() {
20
+ return this.get('externalDocs');
21
+ }
22
+ set externalDocs(externalDocs) {
23
+ this.set('externalDocs', externalDocs);
24
+ }
25
+ }
26
+ export default Tag;
@@ -0,0 +1,38 @@
1
+ import { ObjectElement } from '@swagger-api/apidom-core';
2
+ class Xml extends ObjectElement {
3
+ constructor(content, meta, attributes) {
4
+ super(content, meta, attributes);
5
+ this.element = 'xml';
6
+ }
7
+ get name() {
8
+ return this.get('name');
9
+ }
10
+ set name(name) {
11
+ this.set('name', name);
12
+ }
13
+ get namespace() {
14
+ return this.get('namespace');
15
+ }
16
+ set namespace(namespace) {
17
+ this.set('namespace', namespace);
18
+ }
19
+ get prefix() {
20
+ return this.get('prefix');
21
+ }
22
+ set prefix(prefix) {
23
+ this.set('prefix', prefix);
24
+ }
25
+ get attribute() {
26
+ return this.get('attribute');
27
+ }
28
+ set attribute(attribute) {
29
+ this.set('attribute', attribute);
30
+ }
31
+ get wrapped() {
32
+ return this.get('wrapped');
33
+ }
34
+ set wrapped(wrapped) {
35
+ this.set('wrapped', wrapped);
36
+ }
37
+ }
38
+ export default Xml;
@@ -0,0 +1,9 @@
1
+ import { ArrayElement } from '@swagger-api/apidom-core';
2
+ class OperationConsumes extends ArrayElement {
3
+ static primaryClass = 'operation-consumes';
4
+ constructor(content, meta, attributes) {
5
+ super(content, meta, attributes);
6
+ this.classes.push(OperationConsumes.primaryClass);
7
+ }
8
+ }
9
+ export default OperationConsumes;
@@ -0,0 +1,10 @@
1
+ import { ArrayElement } from '@swagger-api/apidom-core';
2
+ class OperationParameters extends ArrayElement {
3
+ static primaryClass = 'operation-parameters';
4
+ constructor(content, meta, attributes) {
5
+ super(content, meta, attributes);
6
+ this.classes.push(OperationParameters.primaryClass);
7
+ this.classes.push('parameters');
8
+ }
9
+ }
10
+ export default OperationParameters;
@@ -0,0 +1,9 @@
1
+ import { ArrayElement } from '@swagger-api/apidom-core';
2
+ class OperationProduces extends ArrayElement {
3
+ static primaryClass = 'operation-produces';
4
+ constructor(content, meta, attributes) {
5
+ super(content, meta, attributes);
6
+ this.classes.push(OperationProduces.primaryClass);
7
+ }
8
+ }
9
+ export default OperationProduces;
@@ -0,0 +1,9 @@
1
+ import { ArrayElement } from '@swagger-api/apidom-core';
2
+ class OperationSchemes extends ArrayElement {
3
+ static primaryClass = 'operation-schemes';
4
+ constructor(content, meta, attributes) {
5
+ super(content, meta, attributes);
6
+ this.classes.push(OperationSchemes.primaryClass);
7
+ }
8
+ }
9
+ export default OperationSchemes;
@@ -0,0 +1,10 @@
1
+ import { ArrayElement } from '@swagger-api/apidom-core';
2
+ class OperationSecurity extends ArrayElement {
3
+ static primaryClass = 'operation-security';
4
+ constructor(content, meta, attributes) {
5
+ super(content, meta, attributes);
6
+ this.classes.push(OperationSecurity.primaryClass);
7
+ this.classes.push('security');
8
+ }
9
+ }
10
+ export default OperationSecurity;
@@ -0,0 +1,9 @@
1
+ import { ArrayElement } from '@swagger-api/apidom-core';
2
+ class OperationTags extends ArrayElement {
3
+ static primaryClass = 'operation-tags';
4
+ constructor(content, meta, attributes) {
5
+ super(content, meta, attributes);
6
+ this.classes.push(OperationTags.primaryClass);
7
+ }
8
+ }
9
+ export default OperationTags;
@@ -0,0 +1,10 @@
1
+ import { ArrayElement } from '@swagger-api/apidom-core';
2
+ class PathItemParameters extends ArrayElement {
3
+ static primaryClass = 'path-item-parameters';
4
+ constructor(content, meta, attributes) {
5
+ super(content, meta, attributes);
6
+ this.classes.push(PathItemParameters.primaryClass);
7
+ this.classes.push('parameters');
8
+ }
9
+ }
10
+ export default PathItemParameters;
@@ -0,0 +1,9 @@
1
+ import { ArrayElement } from '@swagger-api/apidom-core';
2
+ class SwaggerConsumes extends ArrayElement {
3
+ static primaryClass = 'swagger-consumes';
4
+ constructor(content, meta, attributes) {
5
+ super(content, meta, attributes);
6
+ this.classes.push(SwaggerConsumes.primaryClass);
7
+ }
8
+ }
9
+ export default SwaggerConsumes;
@@ -0,0 +1,9 @@
1
+ import { ArrayElement } from '@swagger-api/apidom-core';
2
+ class SwaggerProduces extends ArrayElement {
3
+ static primaryClass = 'swagger-produces';
4
+ constructor(content, meta, attributes) {
5
+ super(content, meta, attributes);
6
+ this.classes.push(SwaggerProduces.primaryClass);
7
+ }
8
+ }
9
+ export default SwaggerProduces;
@@ -0,0 +1,9 @@
1
+ import { ArrayElement } from '@swagger-api/apidom-core';
2
+ class SwaggerSchemes extends ArrayElement {
3
+ static primaryClass = 'swagger-schemes';
4
+ constructor(content, meta, attributes) {
5
+ super(content, meta, attributes);
6
+ this.classes.push(SwaggerSchemes.primaryClass);
7
+ }
8
+ }
9
+ export default SwaggerSchemes;
@@ -0,0 +1,10 @@
1
+ import { ArrayElement } from '@swagger-api/apidom-core';
2
+ class SwaggerSecurity extends ArrayElement {
3
+ static primaryClass = 'swagger-security';
4
+ constructor(content, meta, attributes) {
5
+ super(content, meta, attributes);
6
+ this.classes.push(SwaggerSecurity.primaryClass);
7
+ this.classes.push('security');
8
+ }
9
+ }
10
+ export default SwaggerSecurity;
@@ -0,0 +1,9 @@
1
+ import { ArrayElement } from '@swagger-api/apidom-core';
2
+ class SwaggerTags extends ArrayElement {
3
+ static primaryClass = 'swagger-tags';
4
+ constructor(content, meta, attributes) {
5
+ super(content, meta, attributes);
6
+ this.classes.push(SwaggerTags.primaryClass);
7
+ }
8
+ }
9
+ export default SwaggerTags;
package/es/index.mjs ADDED
@@ -0,0 +1,31 @@
1
+ export { isRefElement, isLinkElement as isLinkPrimitiveElement, isMemberElement, isObjectElement, isArrayElement, isBooleanElement, isNullElement, isElement, isNumberElement, isStringElement } from '@swagger-api/apidom-core';
2
+ export { isJSONReferenceElement, JSONReferenceElement } from '@swagger-api/apidom-ns-json-schema-draft-4';
3
+ export { default as mediaTypes, OpenAPIMediaTypes } from "./media-types.mjs"; // eslint-disable-next-line no-restricted-exports
4
+ export { default } from "./namespace.mjs";
5
+ export { default as refractorPluginReplaceEmptyElement } from "./refractor/plugins/replace-empty-element.mjs";
6
+ export { default as refract, createRefractor } from "./refractor/index.mjs";
7
+ export { default as specificationObj } from "./refractor/specification.mjs";
8
+ export { isSwaggerElement, isSwaggerVersionElement, isInfoElement, isContactElement, isLicenseElement, isPathsElement, isPathItemElement, isOperationElement, isExternalDocumentationElement, isParameterElement, isItemsElement, isResponsesElement, isResponseElement, isHeadersElement, isExampleElement, isHeaderElement, isTagElement, isReferenceElement, isSchemaElement, isXmlElement, isDefinitionsElement, isParametersDefinitionsElement, isResponsesDefinitionsElement, isSecurityDefinitionsElement, isSecuritySchemeElement, isScopesElement, isSecurityRequirementElement } from "./predicates.mjs";
9
+ export { isReferenceLikeElement, isSwaggerExtension } from "./refractor/predicates.mjs";
10
+ export { default as AlternatingVisitor } from "./refractor/visitors/generics/AlternatingVisitor.mjs";
11
+ export { default as FixedFieldsVisitor } from "./refractor/visitors/generics/FixedFieldsVisitor.mjs";
12
+ export { default as MapVisitor } from "./refractor/visitors/generics/MapVisitor.mjs";
13
+ export { default as MixedFieldsVisitor } from "./refractor/visitors/generics/MixedFieldsVisitor.mjs";
14
+ export { default as PatternedFieldsVisitor } from "./refractor/visitors/generics/PatternedFieldsVisitor.mjs";
15
+ export { default as FallbackVisitor } from "./refractor/visitors/FallbackVisitor.mjs";
16
+ export { default as SpecificationVisitor } from "./refractor/visitors/SpecificationVisitor.mjs";
17
+ export { default as Visitor } from "./refractor/visitors/Visitor.mjs";
18
+ export { keyMap, getNodeType } from "./traversal/visitor.mjs"; // OpenAPI 2.0 elements
19
+ export { SwaggerElement, SwaggerVersionElement, InfoElement, ContactElement, LicenseElement, PathsElement, PathItemElement, OperationElement, ExternalDocumentationElement, ParameterElement, ItemsElement, ResponsesElement, ResponseElement, HeadersElement, ExampleElement, HeaderElement, TagElement, ReferenceElement, SchemaElement, XmlElement, DefinitionsElement, ParametersDefinitionsElement, ResponsesDefinitionsElement, SecurityDefinitionsElement, SecuritySchemeElement, ScopesElement, SecurityRequirementElement } from "./refractor/registration.mjs"; // NCE types
20
+ export { default as OperationConsumesElement } from "./elements/nces/OperationConsumes.mjs";
21
+ export { default as OperationParametersElement } from "./elements/nces/OperationParameters.mjs";
22
+ export { default as OperationProducesElement } from "./elements/nces/OperationProduces.mjs";
23
+ export { default as OperationSchemesElement } from "./elements/nces/OperationSchemes.mjs";
24
+ export { default as OperationSecurityElement } from "./elements/nces/OperationSecurity.mjs";
25
+ export { default as OperationTagsElement } from "./elements/nces/OperationTags.mjs";
26
+ export { default as PathItemParametersElement } from "./elements/nces/PathItemParameters.mjs";
27
+ export { default as SwaggerSchemesElement } from "./elements/nces/SwaggerSchemes.mjs";
28
+ export { default as SwaggerConsumesElement } from "./elements/nces/SwaggerConsumes.mjs";
29
+ export { default as SwaggerProducesElement } from "./elements/nces/SwaggerProduces.mjs";
30
+ export { default as SwaggerSecurityElement } from "./elements/nces/SwaggerSecurity.mjs";
31
+ export { default as SwaggerTagsElement } from "./elements/nces/SwaggerTags.mjs";
@@ -0,0 +1,18 @@
1
+ import { last } from 'ramda';
2
+ import { MediaTypes } from '@swagger-api/apidom-core';
3
+ export class OpenAPIMediaTypes extends MediaTypes {
4
+ filterByFormat(format = 'generic') {
5
+ const effectiveFormat = format === 'generic' ? 'openapi;version' : format;
6
+ return this.filter(mediaType => mediaType.includes(effectiveFormat));
7
+ }
8
+ findBy(version = '2.0', format = 'generic') {
9
+ const search = format === 'generic' ? `vnd.oai.openapi;version=${version}` : `vnd.oai.openapi+${format};version=${version}`;
10
+ const found = this.find(mediaType => mediaType.includes(search));
11
+ return found || this.unknownMediaType;
12
+ }
13
+ latest(format = 'generic') {
14
+ return last(this.filterByFormat(format));
15
+ }
16
+ }
17
+ const mediaTypes = new OpenAPIMediaTypes('application/vnd.oai.openapi;version=2.0', 'application/vnd.oai.openapi+json;version=2.0', 'application/vnd.oai.openapi+yaml;version=2.0');
18
+ export default mediaTypes;
@@ -0,0 +1,63 @@
1
+ import SwaggerElement from "./elements/Swagger.mjs";
2
+ import SwaggerVersionElement from "./elements/SwaggerVersion.mjs";
3
+ import InfoElement from "./elements/Info.mjs";
4
+ import ContactElement from "./elements/Contact.mjs";
5
+ import LicenseElement from "./elements/License.mjs";
6
+ import PathsElement from "./elements/Paths.mjs";
7
+ import PathItemElement from "./elements/PathItem.mjs";
8
+ import OperationElement from "./elements/Operation.mjs";
9
+ import ExternalDocumentation from "./elements/ExternalDocumentation.mjs";
10
+ import ParameterElement from "./elements/Parameter.mjs";
11
+ import ItemsElement from "./elements/Items.mjs";
12
+ import ExampleElement from "./elements/Example.mjs";
13
+ import ResponsesElement from "./elements/Responses.mjs";
14
+ import ResponseElement from "./elements/Response.mjs";
15
+ import HeadersElement from "./elements/Headers.mjs";
16
+ import HeaderElement from "./elements/Header.mjs";
17
+ import TagElement from "./elements/Tag.mjs";
18
+ import SchemaElement from "./elements/Schema.mjs";
19
+ import XmlElement from "./elements/Xml.mjs";
20
+ import ReferenceElement from "./elements/Reference.mjs";
21
+ import DefinitionsElement from "./elements/Definitions.mjs";
22
+ import ParametersDefinitionsElement from "./elements/ParametersDefinitions.mjs";
23
+ import ResponsesDefinitionsElement from "./elements/ResponsesDefinitions.mjs";
24
+ import SecurityDefinitionsElement from "./elements/SecurityDefinitions.mjs";
25
+ import SecuritySchemeElement from "./elements/SecurityScheme.mjs";
26
+ import ScopesElement from "./elements/Scopes.mjs";
27
+ import SecurityRequirementElement from "./elements/SecurityRequirement.mjs";
28
+ const openApi2 = {
29
+ namespace: options => {
30
+ const {
31
+ base
32
+ } = options;
33
+ base.register('swagger', SwaggerElement);
34
+ base.register('swaggerVersion', SwaggerVersionElement);
35
+ base.register('info', InfoElement);
36
+ base.register('contact', ContactElement);
37
+ base.register('license', LicenseElement);
38
+ base.register('paths', PathsElement);
39
+ base.register('pathItem', PathItemElement);
40
+ base.register('operation', OperationElement);
41
+ base.register('externalDocumentation', ExternalDocumentation);
42
+ base.register('parameter', ParameterElement);
43
+ base.register('items', ItemsElement);
44
+ base.register('responses', ResponsesElement);
45
+ base.register('response', ResponseElement);
46
+ base.register('headers', HeadersElement);
47
+ base.register('example', ExampleElement);
48
+ base.register('header', HeaderElement);
49
+ base.register('tag', TagElement);
50
+ base.register('reference', ReferenceElement);
51
+ base.register('schema', SchemaElement);
52
+ base.register('xml', XmlElement);
53
+ base.register('definitions', DefinitionsElement);
54
+ base.register('parametersDefinitions', ParametersDefinitionsElement);
55
+ base.register('responsesDefinitions', ResponsesDefinitionsElement);
56
+ base.register('securityDefinitions', SecurityDefinitionsElement);
57
+ base.register('securityScheme', SecuritySchemeElement);
58
+ base.register('scopes', ScopesElement);
59
+ base.register('securityRequirement', SecurityRequirementElement);
60
+ return base;
61
+ }
62
+ };
63
+ export default openApi2;
@@ -0,0 +1,217 @@
1
+ import { createPredicate } from '@swagger-api/apidom-core';
2
+ import SwaggerElement from "./elements/Swagger.mjs";
3
+ import SwaggerVersionElement from "./elements/SwaggerVersion.mjs";
4
+ import InfoElement from "./elements/Info.mjs";
5
+ import ContactElement from "./elements/Contact.mjs";
6
+ import LicenseElement from "./elements/License.mjs";
7
+ import PathsElement from "./elements/Paths.mjs";
8
+ import PathItemElement from "./elements/PathItem.mjs";
9
+ import OperationElement from "./elements/Operation.mjs";
10
+ import ExternalDocumentationElement from "./elements/ExternalDocumentation.mjs";
11
+ import ParameterElement from "./elements/Parameter.mjs";
12
+ import ItemsElement from "./elements/Items.mjs";
13
+ import ExampleElement from "./elements/Example.mjs";
14
+ import ResponsesElement from "./elements/Responses.mjs";
15
+ import ResponseElement from "./elements/Response.mjs";
16
+ import HeadersElement from "./elements/Headers.mjs";
17
+ import HeaderElement from "./elements/Header.mjs";
18
+ import TagElement from "./elements/Tag.mjs";
19
+ import ReferenceElement from "./elements/Reference.mjs";
20
+ import SchemaElement from "./elements/Schema.mjs";
21
+ import XmlElement from "./elements/Xml.mjs";
22
+ import DefinitionsElement from "./elements/Definitions.mjs";
23
+ import ParametersDefinitionsElement from "./elements/ParametersDefinitions.mjs";
24
+ import ResponsesDefinitionsElement from "./elements/ResponsesDefinitions.mjs";
25
+ import SecurityDefinitionsElement from "./elements/SecurityDefinitions.mjs";
26
+ import SecuritySchemeElement from "./elements/SecurityScheme.mjs";
27
+ import SecurityRequirementElement from "./elements/SecurityRequirement.mjs";
28
+ import ScopesElement from "./elements/Scopes.mjs";
29
+ export const isSwaggerElement = createPredicate(({
30
+ hasBasicElementProps,
31
+ isElementType,
32
+ primitiveEq
33
+ }) => {
34
+ return element => element instanceof SwaggerElement || hasBasicElementProps(element) && isElementType('swagger', element) && primitiveEq('object', element);
35
+ });
36
+ export const isSwaggerVersionElement = createPredicate(({
37
+ hasBasicElementProps,
38
+ isElementType,
39
+ primitiveEq
40
+ }) => {
41
+ return element => element instanceof SwaggerVersionElement || hasBasicElementProps(element) && isElementType('swaggerVersion', element) && primitiveEq('string', element);
42
+ });
43
+ export const isInfoElement = createPredicate(({
44
+ hasBasicElementProps,
45
+ isElementType,
46
+ primitiveEq
47
+ }) => {
48
+ return element => element instanceof InfoElement || hasBasicElementProps(element) && isElementType('info', element) && primitiveEq('object', element);
49
+ });
50
+ export const isLicenseElement = createPredicate(({
51
+ hasBasicElementProps,
52
+ isElementType,
53
+ primitiveEq
54
+ }) => {
55
+ return element => element instanceof LicenseElement || hasBasicElementProps(element) && isElementType('license', element) && primitiveEq('object', element);
56
+ });
57
+ export const isContactElement = createPredicate(({
58
+ hasBasicElementProps,
59
+ isElementType,
60
+ primitiveEq
61
+ }) => {
62
+ return element => element instanceof ContactElement || hasBasicElementProps(element) && isElementType('contact', element) && primitiveEq('object', element);
63
+ });
64
+ export const isPathsElement = createPredicate(({
65
+ hasBasicElementProps,
66
+ isElementType,
67
+ primitiveEq
68
+ }) => {
69
+ return element => element instanceof PathsElement || hasBasicElementProps(element) && isElementType('paths', element) && primitiveEq('object', element);
70
+ });
71
+ export const isPathItemElement = createPredicate(({
72
+ hasBasicElementProps,
73
+ isElementType,
74
+ primitiveEq
75
+ }) => {
76
+ return element => element instanceof PathItemElement || hasBasicElementProps(element) && isElementType('pathItem', element) && primitiveEq('object', element);
77
+ });
78
+ export const isOperationElement = createPredicate(({
79
+ hasBasicElementProps,
80
+ isElementType,
81
+ primitiveEq
82
+ }) => {
83
+ return element => element instanceof OperationElement || hasBasicElementProps(element) && isElementType('operation', element) && primitiveEq('object', element);
84
+ });
85
+ export const isExternalDocumentationElement = createPredicate(({
86
+ hasBasicElementProps,
87
+ isElementType,
88
+ primitiveEq
89
+ }) => {
90
+ return element => element instanceof ExternalDocumentationElement || hasBasicElementProps(element) && isElementType('externalDocumentation', element) && primitiveEq('object', element);
91
+ });
92
+ export const isParameterElement = createPredicate(({
93
+ hasBasicElementProps,
94
+ isElementType,
95
+ primitiveEq
96
+ }) => {
97
+ return element => element instanceof ParameterElement || hasBasicElementProps(element) && isElementType('parameter', element) && primitiveEq('object', element);
98
+ });
99
+ export const isItemsElement = createPredicate(({
100
+ hasBasicElementProps,
101
+ isElementType,
102
+ primitiveEq
103
+ }) => {
104
+ return element => element instanceof ItemsElement || hasBasicElementProps(element) && isElementType('items', element) && primitiveEq('object', element);
105
+ });
106
+ export const isResponsesElement = createPredicate(({
107
+ hasBasicElementProps,
108
+ isElementType,
109
+ primitiveEq
110
+ }) => {
111
+ return element => element instanceof ResponsesElement || hasBasicElementProps(element) && isElementType('responses', element) && primitiveEq('object', element);
112
+ });
113
+ export const isResponseElement = createPredicate(({
114
+ hasBasicElementProps,
115
+ isElementType,
116
+ primitiveEq
117
+ }) => {
118
+ return element => element instanceof ResponseElement || hasBasicElementProps(element) && isElementType('response', element) && primitiveEq('object', element);
119
+ });
120
+ export const isHeadersElement = createPredicate(({
121
+ hasBasicElementProps,
122
+ isElementType,
123
+ primitiveEq
124
+ }) => {
125
+ return element => element instanceof HeadersElement || hasBasicElementProps(element) && isElementType('headers', element) && primitiveEq('object', element);
126
+ });
127
+ export const isExampleElement = createPredicate(({
128
+ hasBasicElementProps,
129
+ isElementType,
130
+ primitiveEq
131
+ }) => {
132
+ return element => element instanceof ExampleElement || hasBasicElementProps(element) && isElementType('example', element) && primitiveEq('object', element);
133
+ });
134
+ export const isHeaderElement = createPredicate(({
135
+ hasBasicElementProps,
136
+ isElementType,
137
+ primitiveEq
138
+ }) => {
139
+ return element => element instanceof HeaderElement || hasBasicElementProps(element) && isElementType('header', element) && primitiveEq('object', element);
140
+ });
141
+ export const isTagElement = createPredicate(({
142
+ hasBasicElementProps,
143
+ isElementType,
144
+ primitiveEq
145
+ }) => {
146
+ return element => element instanceof TagElement || hasBasicElementProps(element) && isElementType('tag', element) && primitiveEq('object', element);
147
+ });
148
+ export const isReferenceElement = createPredicate(({
149
+ hasBasicElementProps,
150
+ isElementType,
151
+ primitiveEq
152
+ }) => {
153
+ return element => element instanceof ReferenceElement || hasBasicElementProps(element) && isElementType('reference', element) && primitiveEq('object', element);
154
+ });
155
+ export const isSchemaElement = createPredicate(({
156
+ hasBasicElementProps,
157
+ isElementType,
158
+ primitiveEq
159
+ }) => {
160
+ return element => element instanceof SchemaElement || hasBasicElementProps(element) && isElementType('schema', element) && primitiveEq('object', element);
161
+ });
162
+ export const isXmlElement = createPredicate(({
163
+ hasBasicElementProps,
164
+ isElementType,
165
+ primitiveEq
166
+ }) => {
167
+ return element => element instanceof XmlElement || hasBasicElementProps(element) && isElementType('xml', element) && primitiveEq('object', element);
168
+ });
169
+ export const isResponsesDefinitionsElement = createPredicate(({
170
+ hasBasicElementProps,
171
+ isElementType,
172
+ primitiveEq
173
+ }) => {
174
+ return element => element instanceof ResponsesDefinitionsElement || hasBasicElementProps(element) && isElementType('responsesDefinitions', element) && primitiveEq('object', element);
175
+ });
176
+ export const isSecurityDefinitionsElement = createPredicate(({
177
+ hasBasicElementProps,
178
+ isElementType,
179
+ primitiveEq
180
+ }) => {
181
+ return element => element instanceof SecurityDefinitionsElement || hasBasicElementProps(element) && isElementType('securityDefinitions', element) && primitiveEq('object', element);
182
+ });
183
+ export const isDefinitionsElement = createPredicate(({
184
+ hasBasicElementProps,
185
+ isElementType,
186
+ primitiveEq
187
+ }) => {
188
+ return element => element instanceof DefinitionsElement || hasBasicElementProps(element) && isElementType('definitions', element) && primitiveEq('object', element);
189
+ });
190
+ export const isParametersDefinitionsElement = createPredicate(({
191
+ hasBasicElementProps,
192
+ isElementType,
193
+ primitiveEq
194
+ }) => {
195
+ return element => element instanceof ParametersDefinitionsElement || hasBasicElementProps(element) && isElementType('parametersDefinitions', element) && primitiveEq('object', element);
196
+ });
197
+ export const isSecuritySchemeElement = createPredicate(({
198
+ hasBasicElementProps,
199
+ isElementType,
200
+ primitiveEq
201
+ }) => {
202
+ return element => element instanceof SecuritySchemeElement || hasBasicElementProps(element) && isElementType('securityScheme', element) && primitiveEq('object', element);
203
+ });
204
+ export const isScopesElement = createPredicate(({
205
+ hasBasicElementProps,
206
+ isElementType,
207
+ primitiveEq
208
+ }) => {
209
+ return element => element instanceof ScopesElement || hasBasicElementProps(element) && isElementType('scopes', element) && primitiveEq('object', element);
210
+ });
211
+ export const isSecurityRequirementElement = createPredicate(({
212
+ hasBasicElementProps,
213
+ isElementType,
214
+ primitiveEq
215
+ }) => {
216
+ return element => element instanceof SecurityRequirementElement || hasBasicElementProps(element) && isElementType('securityRequirement', element) && primitiveEq('object', element);
217
+ });
@@ -0,0 +1,41 @@
1
+ import { invokeArgs } from 'ramda-adjunct';
2
+ import { visit, dereference, refract as baseRefract, dispatchRefractorPlugins } from '@swagger-api/apidom-core';
3
+ import specification from "./specification.mjs";
4
+ import { keyMap, getNodeType } from "../traversal/visitor.mjs";
5
+ import createToolbox from "./toolbox.mjs";
6
+ const refract = (value, {
7
+ specPath = ['visitors', 'document', 'objects', 'Swagger', '$visitor'],
8
+ plugins = []
9
+ } = {}) => {
10
+ const element = baseRefract(value);
11
+ const resolvedSpec = dereference(specification);
12
+
13
+ /**
14
+ * This is where generic ApiDOM becomes semantic (namespace applied).
15
+ * We don't allow consumers to hook into this translation.
16
+ * Though we allow consumers to define their onw plugins on already transformed ApiDOM.
17
+ */
18
+ const rootVisitor = invokeArgs(specPath, [], resolvedSpec);
19
+ // @ts-ignore
20
+ visit(element, rootVisitor, {
21
+ state: {
22
+ specObj: resolvedSpec
23
+ }
24
+ });
25
+
26
+ /**
27
+ * Running plugins visitors means extra single traversal === performance hit.
28
+ */
29
+ return dispatchRefractorPlugins(rootVisitor.element, plugins, {
30
+ toolboxCreator: createToolbox,
31
+ visitorOptions: {
32
+ keyMap,
33
+ nodeTypeGetter: getNodeType
34
+ }
35
+ });
36
+ };
37
+ export const createRefractor = specPath => (value, options = {}) => refract(value, {
38
+ specPath,
39
+ ...options
40
+ });
41
+ export default refract;