@speclynx/apidom-ns-openapi-3-1 4.0.1 → 4.0.3

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 (287) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/package.json +9 -10
  3. package/src/elements/Callback.cjs +10 -0
  4. package/src/elements/Callback.mjs +7 -0
  5. package/src/elements/Callback.ts +8 -0
  6. package/src/elements/Components.cjs +17 -0
  7. package/src/elements/Components.mjs +14 -0
  8. package/src/elements/Components.ts +17 -0
  9. package/src/elements/Contact.cjs +10 -0
  10. package/src/elements/Contact.mjs +7 -0
  11. package/src/elements/Contact.ts +8 -0
  12. package/src/elements/Discriminator.cjs +10 -0
  13. package/src/elements/Discriminator.mjs +7 -0
  14. package/src/elements/Discriminator.ts +8 -0
  15. package/src/elements/Encoding.cjs +10 -0
  16. package/src/elements/Encoding.mjs +7 -0
  17. package/src/elements/Encoding.ts +8 -0
  18. package/src/elements/Example.cjs +10 -0
  19. package/src/elements/Example.mjs +7 -0
  20. package/src/elements/Example.ts +8 -0
  21. package/src/elements/ExternalDocumentation.cjs +10 -0
  22. package/src/elements/ExternalDocumentation.mjs +7 -0
  23. package/src/elements/ExternalDocumentation.ts +8 -0
  24. package/src/elements/Header.cjs +17 -0
  25. package/src/elements/Header.mjs +13 -0
  26. package/src/elements/Header.ts +18 -0
  27. package/src/elements/Info.cjs +23 -0
  28. package/src/elements/Info.mjs +19 -0
  29. package/src/elements/Info.ts +27 -0
  30. package/src/elements/JsonSchemaDialect.cjs +16 -0
  31. package/src/elements/JsonSchemaDialect.mjs +13 -0
  32. package/src/elements/JsonSchemaDialect.ts +15 -0
  33. package/src/elements/License.cjs +17 -0
  34. package/src/elements/License.mjs +14 -0
  35. package/src/elements/License.ts +17 -0
  36. package/src/elements/Link.cjs +10 -0
  37. package/src/elements/Link.mjs +7 -0
  38. package/src/elements/Link.ts +8 -0
  39. package/src/elements/MediaType.cjs +17 -0
  40. package/src/elements/MediaType.mjs +13 -0
  41. package/src/elements/MediaType.ts +18 -0
  42. package/src/elements/OAuthFlow.cjs +10 -0
  43. package/src/elements/OAuthFlow.mjs +7 -0
  44. package/src/elements/OAuthFlow.ts +8 -0
  45. package/src/elements/OAuthFlows.cjs +10 -0
  46. package/src/elements/OAuthFlows.mjs +7 -0
  47. package/src/elements/OAuthFlows.ts +8 -0
  48. package/src/elements/OpenApi3-1.cjs +77 -0
  49. package/src/elements/OpenApi3-1.mjs +73 -0
  50. package/src/elements/OpenApi3-1.ts +107 -0
  51. package/src/elements/Openapi.cjs +10 -0
  52. package/src/elements/Openapi.mjs +7 -0
  53. package/src/elements/Openapi.ts +8 -0
  54. package/src/elements/Operation.cjs +17 -0
  55. package/src/elements/Operation.mjs +13 -0
  56. package/src/elements/Operation.ts +19 -0
  57. package/src/elements/Parameter.cjs +17 -0
  58. package/src/elements/Parameter.mjs +13 -0
  59. package/src/elements/Parameter.ts +18 -0
  60. package/src/elements/PathItem.cjs +59 -0
  61. package/src/elements/PathItem.mjs +55 -0
  62. package/src/elements/PathItem.ts +74 -0
  63. package/src/elements/Paths.cjs +10 -0
  64. package/src/elements/Paths.mjs +7 -0
  65. package/src/elements/Paths.ts +8 -0
  66. package/src/elements/Reference.cjs +28 -0
  67. package/src/elements/Reference.mjs +25 -0
  68. package/src/elements/Reference.ts +29 -0
  69. package/src/elements/RequestBody.cjs +10 -0
  70. package/src/elements/RequestBody.mjs +7 -0
  71. package/src/elements/RequestBody.ts +8 -0
  72. package/src/elements/Response.cjs +10 -0
  73. package/src/elements/Response.mjs +7 -0
  74. package/src/elements/Response.ts +8 -0
  75. package/src/elements/Responses.cjs +10 -0
  76. package/src/elements/Responses.mjs +7 -0
  77. package/src/elements/Responses.ts +8 -0
  78. package/src/elements/Schema.cjs +50 -0
  79. package/src/elements/Schema.mjs +46 -0
  80. package/src/elements/Schema.ts +59 -0
  81. package/src/elements/SecurityRequirement.cjs +10 -0
  82. package/src/elements/SecurityRequirement.mjs +7 -0
  83. package/src/elements/SecurityRequirement.ts +8 -0
  84. package/src/elements/SecurityScheme.cjs +10 -0
  85. package/src/elements/SecurityScheme.mjs +7 -0
  86. package/src/elements/SecurityScheme.ts +8 -0
  87. package/src/elements/Server.cjs +10 -0
  88. package/src/elements/Server.mjs +7 -0
  89. package/src/elements/Server.ts +8 -0
  90. package/src/elements/ServerVariable.cjs +10 -0
  91. package/src/elements/ServerVariable.mjs +7 -0
  92. package/src/elements/ServerVariable.ts +8 -0
  93. package/src/elements/Tag.cjs +10 -0
  94. package/src/elements/Tag.mjs +7 -0
  95. package/src/elements/Tag.ts +8 -0
  96. package/src/elements/Xml.cjs +10 -0
  97. package/src/elements/Xml.mjs +7 -0
  98. package/src/elements/Xml.ts +8 -0
  99. package/src/elements/nces/ComponentsPathItems.cjs +16 -0
  100. package/src/elements/nces/ComponentsPathItems.mjs +13 -0
  101. package/src/elements/nces/ComponentsPathItems.ts +15 -0
  102. package/src/elements/nces/Webhooks.cjs +16 -0
  103. package/src/elements/nces/Webhooks.mjs +13 -0
  104. package/src/elements/nces/Webhooks.ts +15 -0
  105. package/src/index.cjs +182 -0
  106. package/src/index.mjs +31 -0
  107. package/src/index.ts +592 -0
  108. package/src/media-types.cjs +34 -0
  109. package/src/media-types.mjs +30 -0
  110. package/src/media-types.ts +46 -0
  111. package/src/namespace.cjs +81 -0
  112. package/src/namespace.mjs +76 -0
  113. package/src/namespace.ts +80 -0
  114. package/src/predicates.cjs +228 -0
  115. package/src/predicates.mjs +195 -0
  116. package/src/predicates.ts +229 -0
  117. package/src/refractor/index.cjs +368 -0
  118. package/src/refractor/index.mjs +330 -0
  119. package/src/refractor/index.ts +380 -0
  120. package/src/refractor/inspect.cjs +207 -0
  121. package/src/refractor/inspect.mjs +171 -0
  122. package/src/refractor/inspect.ts +241 -0
  123. package/src/refractor/plugins/normalize-header-examples/NormalizeStorage.cjs +38 -0
  124. package/src/refractor/plugins/normalize-header-examples/NormalizeStorage.mjs +34 -0
  125. package/src/refractor/plugins/normalize-header-examples/NormalizeStorage.ts +53 -0
  126. package/src/refractor/plugins/normalize-header-examples/index.cjs +109 -0
  127. package/src/refractor/plugins/normalize-header-examples/index.mjs +103 -0
  128. package/src/refractor/plugins/normalize-header-examples/index.ts +125 -0
  129. package/src/refractor/plugins/normalize-operation-ids.cjs +166 -0
  130. package/src/refractor/plugins/normalize-operation-ids.mjs +161 -0
  131. package/src/refractor/plugins/normalize-operation-ids.ts +198 -0
  132. package/src/refractor/plugins/normalize-parameter-examples.cjs +109 -0
  133. package/src/refractor/plugins/normalize-parameter-examples.mjs +103 -0
  134. package/src/refractor/plugins/normalize-parameter-examples.ts +128 -0
  135. package/src/refractor/plugins/normalize-parameters.cjs +109 -0
  136. package/src/refractor/plugins/normalize-parameters.mjs +103 -0
  137. package/src/refractor/plugins/normalize-parameters.ts +136 -0
  138. package/src/refractor/plugins/normalize-security-requirements.cjs +75 -0
  139. package/src/refractor/plugins/normalize-security-requirements.mjs +69 -0
  140. package/src/refractor/plugins/normalize-security-requirements.ts +87 -0
  141. package/src/refractor/plugins/normalize-servers.cjs +124 -0
  142. package/src/refractor/plugins/normalize-servers.mjs +118 -0
  143. package/src/refractor/plugins/normalize-servers.ts +144 -0
  144. package/src/refractor/plugins/replace-empty-element.cjs +669 -0
  145. package/src/refractor/plugins/replace-empty-element.mjs +661 -0
  146. package/src/refractor/plugins/replace-empty-element.ts +726 -0
  147. package/src/refractor/predicates.cjs +36 -0
  148. package/src/refractor/predicates.mjs +31 -0
  149. package/src/refractor/predicates.ts +39 -0
  150. package/src/refractor/specification.cjs +531 -0
  151. package/src/refractor/specification.mjs +526 -0
  152. package/src/refractor/specification.ts +594 -0
  153. package/src/refractor/toolbox.cjs +61 -0
  154. package/src/refractor/toolbox.mjs +53 -0
  155. package/src/refractor/toolbox.ts +70 -0
  156. package/src/refractor/visitors/open-api-3-1/JsonSchemaDialectVisitor.cjs +25 -0
  157. package/src/refractor/visitors/open-api-3-1/JsonSchemaDialectVisitor.mjs +19 -0
  158. package/src/refractor/visitors/open-api-3-1/JsonSchemaDialectVisitor.ts +32 -0
  159. package/src/refractor/visitors/open-api-3-1/OpenapiVisitor.cjs +25 -0
  160. package/src/refractor/visitors/open-api-3-1/OpenapiVisitor.mjs +19 -0
  161. package/src/refractor/visitors/open-api-3-1/OpenapiVisitor.ts +30 -0
  162. package/src/refractor/visitors/open-api-3-1/WebhooksVisitor.cjs +43 -0
  163. package/src/refractor/visitors/open-api-3-1/WebhooksVisitor.mjs +37 -0
  164. package/src/refractor/visitors/open-api-3-1/WebhooksVisitor.ts +57 -0
  165. package/src/refractor/visitors/open-api-3-1/bases.cjs +46 -0
  166. package/src/refractor/visitors/open-api-3-1/bases.mjs +43 -0
  167. package/src/refractor/visitors/open-api-3-1/bases.ts +66 -0
  168. package/src/refractor/visitors/open-api-3-1/callback/index.cjs +36 -0
  169. package/src/refractor/visitors/open-api-3-1/callback/index.mjs +31 -0
  170. package/src/refractor/visitors/open-api-3-1/callback/index.ts +56 -0
  171. package/src/refractor/visitors/open-api-3-1/components/PathItemsVisitor.cjs +33 -0
  172. package/src/refractor/visitors/open-api-3-1/components/PathItemsVisitor.mjs +27 -0
  173. package/src/refractor/visitors/open-api-3-1/components/PathItemsVisitor.ts +45 -0
  174. package/src/refractor/visitors/open-api-3-1/components/SchemasVisitor.cjs +22 -0
  175. package/src/refractor/visitors/open-api-3-1/components/SchemasVisitor.mjs +17 -0
  176. package/src/refractor/visitors/open-api-3-1/components/SchemasVisitor.ts +26 -0
  177. package/src/refractor/visitors/open-api-3-1/components/index.cjs +21 -0
  178. package/src/refractor/visitors/open-api-3-1/components/index.mjs +16 -0
  179. package/src/refractor/visitors/open-api-3-1/components/index.ts +29 -0
  180. package/src/refractor/visitors/open-api-3-1/contact/index.cjs +21 -0
  181. package/src/refractor/visitors/open-api-3-1/contact/index.mjs +16 -0
  182. package/src/refractor/visitors/open-api-3-1/contact/index.ts +29 -0
  183. package/src/refractor/visitors/open-api-3-1/distriminator/index.cjs +22 -0
  184. package/src/refractor/visitors/open-api-3-1/distriminator/index.mjs +17 -0
  185. package/src/refractor/visitors/open-api-3-1/distriminator/index.ts +32 -0
  186. package/src/refractor/visitors/open-api-3-1/encoding/index.cjs +21 -0
  187. package/src/refractor/visitors/open-api-3-1/encoding/index.mjs +16 -0
  188. package/src/refractor/visitors/open-api-3-1/encoding/index.ts +29 -0
  189. package/src/refractor/visitors/open-api-3-1/example/index.cjs +21 -0
  190. package/src/refractor/visitors/open-api-3-1/example/index.mjs +16 -0
  191. package/src/refractor/visitors/open-api-3-1/example/index.ts +29 -0
  192. package/src/refractor/visitors/open-api-3-1/external-documentation/index.cjs +21 -0
  193. package/src/refractor/visitors/open-api-3-1/external-documentation/index.mjs +16 -0
  194. package/src/refractor/visitors/open-api-3-1/external-documentation/index.ts +29 -0
  195. package/src/refractor/visitors/open-api-3-1/header/index.cjs +21 -0
  196. package/src/refractor/visitors/open-api-3-1/header/index.mjs +16 -0
  197. package/src/refractor/visitors/open-api-3-1/header/index.ts +29 -0
  198. package/src/refractor/visitors/open-api-3-1/index.cjs +41 -0
  199. package/src/refractor/visitors/open-api-3-1/index.mjs +35 -0
  200. package/src/refractor/visitors/open-api-3-1/index.ts +52 -0
  201. package/src/refractor/visitors/open-api-3-1/info/index.cjs +21 -0
  202. package/src/refractor/visitors/open-api-3-1/info/index.mjs +16 -0
  203. package/src/refractor/visitors/open-api-3-1/info/index.ts +29 -0
  204. package/src/refractor/visitors/open-api-3-1/license/index.cjs +21 -0
  205. package/src/refractor/visitors/open-api-3-1/license/index.mjs +16 -0
  206. package/src/refractor/visitors/open-api-3-1/license/index.ts +29 -0
  207. package/src/refractor/visitors/open-api-3-1/link/index.cjs +21 -0
  208. package/src/refractor/visitors/open-api-3-1/link/index.mjs +16 -0
  209. package/src/refractor/visitors/open-api-3-1/link/index.ts +29 -0
  210. package/src/refractor/visitors/open-api-3-1/media-type/index.cjs +21 -0
  211. package/src/refractor/visitors/open-api-3-1/media-type/index.mjs +16 -0
  212. package/src/refractor/visitors/open-api-3-1/media-type/index.ts +29 -0
  213. package/src/refractor/visitors/open-api-3-1/oauth-flow/index.cjs +21 -0
  214. package/src/refractor/visitors/open-api-3-1/oauth-flow/index.mjs +16 -0
  215. package/src/refractor/visitors/open-api-3-1/oauth-flow/index.ts +29 -0
  216. package/src/refractor/visitors/open-api-3-1/oauth-flows/index.cjs +21 -0
  217. package/src/refractor/visitors/open-api-3-1/oauth-flows/index.mjs +16 -0
  218. package/src/refractor/visitors/open-api-3-1/oauth-flows/index.ts +29 -0
  219. package/src/refractor/visitors/open-api-3-1/operation/index.cjs +21 -0
  220. package/src/refractor/visitors/open-api-3-1/operation/index.mjs +16 -0
  221. package/src/refractor/visitors/open-api-3-1/operation/index.ts +29 -0
  222. package/src/refractor/visitors/open-api-3-1/parameter/index.cjs +21 -0
  223. package/src/refractor/visitors/open-api-3-1/parameter/index.mjs +16 -0
  224. package/src/refractor/visitors/open-api-3-1/parameter/index.ts +29 -0
  225. package/src/refractor/visitors/open-api-3-1/path-item/index.cjs +21 -0
  226. package/src/refractor/visitors/open-api-3-1/path-item/index.mjs +16 -0
  227. package/src/refractor/visitors/open-api-3-1/path-item/index.ts +29 -0
  228. package/src/refractor/visitors/open-api-3-1/paths/index.cjs +21 -0
  229. package/src/refractor/visitors/open-api-3-1/paths/index.mjs +16 -0
  230. package/src/refractor/visitors/open-api-3-1/paths/index.ts +29 -0
  231. package/src/refractor/visitors/open-api-3-1/reference/index.cjs +21 -0
  232. package/src/refractor/visitors/open-api-3-1/reference/index.mjs +16 -0
  233. package/src/refractor/visitors/open-api-3-1/reference/index.ts +29 -0
  234. package/src/refractor/visitors/open-api-3-1/request-body/index.cjs +21 -0
  235. package/src/refractor/visitors/open-api-3-1/request-body/index.mjs +16 -0
  236. package/src/refractor/visitors/open-api-3-1/request-body/index.ts +29 -0
  237. package/src/refractor/visitors/open-api-3-1/response/index.cjs +21 -0
  238. package/src/refractor/visitors/open-api-3-1/response/index.mjs +16 -0
  239. package/src/refractor/visitors/open-api-3-1/response/index.ts +29 -0
  240. package/src/refractor/visitors/open-api-3-1/responses/index.cjs +21 -0
  241. package/src/refractor/visitors/open-api-3-1/responses/index.mjs +16 -0
  242. package/src/refractor/visitors/open-api-3-1/responses/index.ts +29 -0
  243. package/src/refractor/visitors/open-api-3-1/schema/$defsVisitor.cjs +19 -0
  244. package/src/refractor/visitors/open-api-3-1/schema/$defsVisitor.mjs +16 -0
  245. package/src/refractor/visitors/open-api-3-1/schema/$defsVisitor.ts +21 -0
  246. package/src/refractor/visitors/open-api-3-1/schema/AllOfVisitor.cjs +15 -0
  247. package/src/refractor/visitors/open-api-3-1/schema/AllOfVisitor.mjs +11 -0
  248. package/src/refractor/visitors/open-api-3-1/schema/AllOfVisitor.ts +18 -0
  249. package/src/refractor/visitors/open-api-3-1/schema/AnyOfVisitor.cjs +15 -0
  250. package/src/refractor/visitors/open-api-3-1/schema/AnyOfVisitor.mjs +11 -0
  251. package/src/refractor/visitors/open-api-3-1/schema/AnyOfVisitor.ts +18 -0
  252. package/src/refractor/visitors/open-api-3-1/schema/DependentSchemasVisitor.cjs +15 -0
  253. package/src/refractor/visitors/open-api-3-1/schema/DependentSchemasVisitor.mjs +11 -0
  254. package/src/refractor/visitors/open-api-3-1/schema/DependentSchemasVisitor.ts +18 -0
  255. package/src/refractor/visitors/open-api-3-1/schema/OneOfVisitor.cjs +15 -0
  256. package/src/refractor/visitors/open-api-3-1/schema/OneOfVisitor.mjs +11 -0
  257. package/src/refractor/visitors/open-api-3-1/schema/OneOfVisitor.ts +18 -0
  258. package/src/refractor/visitors/open-api-3-1/schema/PatternPropertiesVisitor.cjs +15 -0
  259. package/src/refractor/visitors/open-api-3-1/schema/PatternPropertiesVisitor.mjs +11 -0
  260. package/src/refractor/visitors/open-api-3-1/schema/PatternPropertiesVisitor.ts +18 -0
  261. package/src/refractor/visitors/open-api-3-1/schema/PrefixItemsVisitor.cjs +15 -0
  262. package/src/refractor/visitors/open-api-3-1/schema/PrefixItemsVisitor.mjs +11 -0
  263. package/src/refractor/visitors/open-api-3-1/schema/PrefixItemsVisitor.ts +18 -0
  264. package/src/refractor/visitors/open-api-3-1/schema/PropertiesVisitor.cjs +15 -0
  265. package/src/refractor/visitors/open-api-3-1/schema/PropertiesVisitor.mjs +11 -0
  266. package/src/refractor/visitors/open-api-3-1/schema/PropertiesVisitor.ts +18 -0
  267. package/src/refractor/visitors/open-api-3-1/schema/index.cjs +76 -0
  268. package/src/refractor/visitors/open-api-3-1/schema/index.mjs +70 -0
  269. package/src/refractor/visitors/open-api-3-1/schema/index.ts +88 -0
  270. package/src/refractor/visitors/open-api-3-1/security-requirement/index.cjs +21 -0
  271. package/src/refractor/visitors/open-api-3-1/security-requirement/index.mjs +16 -0
  272. package/src/refractor/visitors/open-api-3-1/security-requirement/index.ts +29 -0
  273. package/src/refractor/visitors/open-api-3-1/security-scheme/index.cjs +21 -0
  274. package/src/refractor/visitors/open-api-3-1/security-scheme/index.mjs +16 -0
  275. package/src/refractor/visitors/open-api-3-1/security-scheme/index.ts +29 -0
  276. package/src/refractor/visitors/open-api-3-1/server/index.cjs +21 -0
  277. package/src/refractor/visitors/open-api-3-1/server/index.mjs +16 -0
  278. package/src/refractor/visitors/open-api-3-1/server/index.ts +29 -0
  279. package/src/refractor/visitors/open-api-3-1/server-variable/index.cjs +21 -0
  280. package/src/refractor/visitors/open-api-3-1/server-variable/index.mjs +16 -0
  281. package/src/refractor/visitors/open-api-3-1/server-variable/index.ts +29 -0
  282. package/src/refractor/visitors/open-api-3-1/tag/index.cjs +21 -0
  283. package/src/refractor/visitors/open-api-3-1/tag/index.mjs +16 -0
  284. package/src/refractor/visitors/open-api-3-1/tag/index.ts +29 -0
  285. package/src/refractor/visitors/open-api-3-1/xml/index.cjs +21 -0
  286. package/src/refractor/visitors/open-api-3-1/xml/index.mjs +16 -0
  287. package/src/refractor/visitors/open-api-3-1/xml/index.ts +29 -0
@@ -0,0 +1,195 @@
1
+ import { isStringElement } from '@speclynx/apidom-datamodel';
2
+ import { toValue } from '@speclynx/apidom-core';
3
+ import CallbackElement from "./elements/Callback.mjs";
4
+ import ComponentsElement from "./elements/Components.mjs";
5
+ import ContactElement from "./elements/Contact.mjs";
6
+ import ExampleElement from "./elements/Example.mjs";
7
+ import ExternalDocumentationElement from "./elements/ExternalDocumentation.mjs";
8
+ import HeaderElement from "./elements/Header.mjs";
9
+ import InfoElement from "./elements/Info.mjs";
10
+ import JsonSchemaDialectElement from "./elements/JsonSchemaDialect.mjs";
11
+ import LicenseElement from "./elements/License.mjs";
12
+ import LinkElement from "./elements/Link.mjs";
13
+ import OpenapiElement from "./elements/Openapi.mjs";
14
+ import OpenApi3_1Element from "./elements/OpenApi3-1.mjs";
15
+ import OperationElement from "./elements/Operation.mjs";
16
+ import ParameterElement from "./elements/Parameter.mjs";
17
+ import PathItemElement from "./elements/PathItem.mjs";
18
+ import PathsElement from "./elements/Paths.mjs";
19
+ import ReferenceElement from "./elements/Reference.mjs";
20
+ import RequestBodyElement from "./elements/RequestBody.mjs";
21
+ import ResponseElement from "./elements/Response.mjs";
22
+ import ResponsesElement from "./elements/Responses.mjs";
23
+ import SchemaElement from "./elements/Schema.mjs";
24
+ import SecurityRequirementElement from "./elements/SecurityRequirement.mjs";
25
+ import SecuritySchemeElement from "./elements/SecurityScheme.mjs";
26
+ import ServerElement from "./elements/Server.mjs";
27
+ import ServerVariableElement from "./elements/ServerVariable.mjs";
28
+ import MediaTypeElement from "./elements/MediaType.mjs";
29
+ export { isBooleanJSONSchemaElement } from '@speclynx/apidom-ns-json-schema-2020-12';
30
+
31
+ /**
32
+ * @public
33
+ */
34
+ export const isCallbackElement = element => element instanceof CallbackElement;
35
+
36
+ /**
37
+ * @public
38
+ */
39
+ export const isComponentsElement = element => element instanceof ComponentsElement;
40
+
41
+ /**
42
+ * @public
43
+ */
44
+ export const isContactElement = element => element instanceof ContactElement;
45
+
46
+ /**
47
+ * @public
48
+ */
49
+ export const isExampleElement = element => element instanceof ExampleElement;
50
+
51
+ /**
52
+ * @public
53
+ */
54
+ export const isExternalDocumentationElement = element => element instanceof ExternalDocumentationElement;
55
+
56
+ /**
57
+ * @public
58
+ */
59
+ export const isHeaderElement = element => element instanceof HeaderElement;
60
+
61
+ /**
62
+ * @public
63
+ */
64
+ export const isInfoElement = element => element instanceof InfoElement;
65
+
66
+ /**
67
+ * @public
68
+ */
69
+ export const isJsonSchemaDialectElement = element => element instanceof JsonSchemaDialectElement;
70
+
71
+ /**
72
+ * @public
73
+ */
74
+ export const isLicenseElement = element => element instanceof LicenseElement;
75
+
76
+ /**
77
+ * @public
78
+ */
79
+ export const isLinkElement = element => element instanceof LinkElement;
80
+
81
+ /**
82
+ * @public
83
+ */
84
+ export const isOpenapiElement = element => element instanceof OpenapiElement;
85
+
86
+ /**
87
+ * @public
88
+ */
89
+ export const isOpenApi3_1Element = element => element instanceof OpenApi3_1Element;
90
+
91
+ /**
92
+ * @public
93
+ */
94
+ export const isOperationElement = element => element instanceof OperationElement;
95
+
96
+ /**
97
+ * @public
98
+ */
99
+ export const isParameterElement = element => element instanceof ParameterElement;
100
+
101
+ /**
102
+ * @public
103
+ */
104
+ export const isPathItemElement = element => element instanceof PathItemElement;
105
+
106
+ /**
107
+ * @deprecated
108
+ * Determining whether a PathItemElement is external or internal is not possible by just looking
109
+ * at value of the $ref fixed field. The value of the $ref field needs to be resolved in runtime
110
+ * using the referring document as the Base URI.
111
+ * @public
112
+ */
113
+ export const isPathItemElementExternal = element => {
114
+ if (!isPathItemElement(element)) {
115
+ return false;
116
+ }
117
+ if (!isStringElement(element.$ref)) {
118
+ return false;
119
+ }
120
+ const value = toValue(element.$ref);
121
+ return typeof value === 'string' && value.length > 0 && !value.startsWith('#');
122
+ };
123
+
124
+ /**
125
+ * @public
126
+ */
127
+ export const isPathsElement = element => element instanceof PathsElement;
128
+
129
+ /**
130
+ * @public
131
+ */
132
+ export const isReferenceElement = element => element instanceof ReferenceElement;
133
+
134
+ /**
135
+ * @deprecated
136
+ * Determining whether a ReferenceElement is external or internal is not possible by just looking
137
+ * at value of the $ref fixed field. The value of the $ref field needs to be resolved in runtime
138
+ * using the referring document as the Base URI.
139
+ * @public
140
+ */
141
+ export const isReferenceElementExternal = element => {
142
+ if (!isReferenceElement(element)) {
143
+ return false;
144
+ }
145
+ if (!isStringElement(element.$ref)) {
146
+ return false;
147
+ }
148
+ const value = toValue(element.$ref);
149
+ return typeof value === 'string' && value.length > 0 && !value.startsWith('#');
150
+ };
151
+
152
+ /**
153
+ * @public
154
+ */
155
+ export const isRequestBodyElement = element => element instanceof RequestBodyElement;
156
+
157
+ /**
158
+ * @public
159
+ */
160
+ export const isResponseElement = element => element instanceof ResponseElement;
161
+
162
+ /**
163
+ * @public
164
+ */
165
+ export const isResponsesElement = element => element instanceof ResponsesElement;
166
+
167
+ /**
168
+ * @public
169
+ */
170
+ export const isSchemaElement = element => element instanceof SchemaElement;
171
+
172
+ /**
173
+ * @public
174
+ */
175
+ export const isSecurityRequirementElement = element => element instanceof SecurityRequirementElement;
176
+
177
+ /**
178
+ * @public
179
+ */
180
+ export const isSecuritySchemeElement = element => element instanceof SecuritySchemeElement;
181
+
182
+ /**
183
+ * @public
184
+ */
185
+ export const isServerElement = element => element instanceof ServerElement;
186
+
187
+ /**
188
+ * @public
189
+ */
190
+ export const isServerVariableElement = element => element instanceof ServerVariableElement;
191
+
192
+ /**
193
+ * @public
194
+ */
195
+ export const isMediaTypeElement = element => element instanceof MediaTypeElement;
@@ -0,0 +1,229 @@
1
+ import { isStringElement } from '@speclynx/apidom-datamodel';
2
+ import { toValue } from '@speclynx/apidom-core';
3
+
4
+ import CallbackElement from './elements/Callback.ts';
5
+ import ComponentsElement from './elements/Components.ts';
6
+ import ContactElement from './elements/Contact.ts';
7
+ import ExampleElement from './elements/Example.ts';
8
+ import ExternalDocumentationElement from './elements/ExternalDocumentation.ts';
9
+ import HeaderElement from './elements/Header.ts';
10
+ import InfoElement from './elements/Info.ts';
11
+ import JsonSchemaDialectElement from './elements/JsonSchemaDialect.ts';
12
+ import LicenseElement from './elements/License.ts';
13
+ import LinkElement from './elements/Link.ts';
14
+ import OpenapiElement from './elements/Openapi.ts';
15
+ import OpenApi3_1Element from './elements/OpenApi3-1.ts';
16
+ import OperationElement from './elements/Operation.ts';
17
+ import ParameterElement from './elements/Parameter.ts';
18
+ import PathItemElement from './elements/PathItem.ts';
19
+ import PathsElement from './elements/Paths.ts';
20
+ import ReferenceElement from './elements/Reference.ts';
21
+ import RequestBodyElement from './elements/RequestBody.ts';
22
+ import ResponseElement from './elements/Response.ts';
23
+ import ResponsesElement from './elements/Responses.ts';
24
+ import SchemaElement from './elements/Schema.ts';
25
+ import SecurityRequirementElement from './elements/SecurityRequirement.ts';
26
+ import SecuritySchemeElement from './elements/SecurityScheme.ts';
27
+ import ServerElement from './elements/Server.ts';
28
+ import ServerVariableElement from './elements/ServerVariable.ts';
29
+ import MediaTypeElement from './elements/MediaType.ts';
30
+
31
+ export { isBooleanJSONSchemaElement } from '@speclynx/apidom-ns-json-schema-2020-12';
32
+
33
+ /**
34
+ * @public
35
+ */
36
+ export const isCallbackElement = (element: unknown): element is CallbackElement =>
37
+ element instanceof CallbackElement;
38
+
39
+ /**
40
+ * @public
41
+ */
42
+ export const isComponentsElement = (element: unknown): element is ComponentsElement =>
43
+ element instanceof ComponentsElement;
44
+
45
+ /**
46
+ * @public
47
+ */
48
+ export const isContactElement = (element: unknown): element is ContactElement =>
49
+ element instanceof ContactElement;
50
+
51
+ /**
52
+ * @public
53
+ */
54
+ export const isExampleElement = (element: unknown): element is ExampleElement =>
55
+ element instanceof ExampleElement;
56
+
57
+ /**
58
+ * @public
59
+ */
60
+ export const isExternalDocumentationElement = (
61
+ element: unknown,
62
+ ): element is ExternalDocumentationElement => element instanceof ExternalDocumentationElement;
63
+
64
+ /**
65
+ * @public
66
+ */
67
+ export const isHeaderElement = (element: unknown): element is HeaderElement =>
68
+ element instanceof HeaderElement;
69
+
70
+ /**
71
+ * @public
72
+ */
73
+ export const isInfoElement = (element: unknown): element is InfoElement =>
74
+ element instanceof InfoElement;
75
+
76
+ /**
77
+ * @public
78
+ */
79
+ export const isJsonSchemaDialectElement = (element: unknown): element is JsonSchemaDialectElement =>
80
+ element instanceof JsonSchemaDialectElement;
81
+
82
+ /**
83
+ * @public
84
+ */
85
+ export const isLicenseElement = (element: unknown): element is LicenseElement =>
86
+ element instanceof LicenseElement;
87
+
88
+ /**
89
+ * @public
90
+ */
91
+ export const isLinkElement = (element: unknown): element is LinkElement =>
92
+ element instanceof LinkElement;
93
+
94
+ /**
95
+ * @public
96
+ */
97
+ export const isOpenapiElement = (element: unknown): element is OpenapiElement =>
98
+ element instanceof OpenapiElement;
99
+
100
+ /**
101
+ * @public
102
+ */
103
+ export const isOpenApi3_1Element = (element: unknown): element is OpenApi3_1Element =>
104
+ element instanceof OpenApi3_1Element;
105
+
106
+ /**
107
+ * @public
108
+ */
109
+ export const isOperationElement = (element: unknown): element is OperationElement =>
110
+ element instanceof OperationElement;
111
+
112
+ /**
113
+ * @public
114
+ */
115
+ export const isParameterElement = (element: unknown): element is ParameterElement =>
116
+ element instanceof ParameterElement;
117
+
118
+ /**
119
+ * @public
120
+ */
121
+ export const isPathItemElement = (element: unknown): element is PathItemElement =>
122
+ element instanceof PathItemElement;
123
+
124
+ /**
125
+ * @deprecated
126
+ * Determining whether a PathItemElement is external or internal is not possible by just looking
127
+ * at value of the $ref fixed field. The value of the $ref field needs to be resolved in runtime
128
+ * using the referring document as the Base URI.
129
+ * @public
130
+ */
131
+ export const isPathItemElementExternal = (element: unknown): element is PathItemElement => {
132
+ if (!isPathItemElement(element)) {
133
+ return false;
134
+ }
135
+ if (!isStringElement(element.$ref)) {
136
+ return false;
137
+ }
138
+
139
+ const value = toValue(element.$ref);
140
+
141
+ return typeof value === 'string' && value.length > 0 && !value.startsWith('#');
142
+ };
143
+
144
+ /**
145
+ * @public
146
+ */
147
+ export const isPathsElement = (element: unknown): element is PathsElement =>
148
+ element instanceof PathsElement;
149
+
150
+ /**
151
+ * @public
152
+ */
153
+ export const isReferenceElement = (element: unknown): element is ReferenceElement =>
154
+ element instanceof ReferenceElement;
155
+
156
+ /**
157
+ * @deprecated
158
+ * Determining whether a ReferenceElement is external or internal is not possible by just looking
159
+ * at value of the $ref fixed field. The value of the $ref field needs to be resolved in runtime
160
+ * using the referring document as the Base URI.
161
+ * @public
162
+ */
163
+ export const isReferenceElementExternal = (element: unknown): element is ReferenceElement => {
164
+ if (!isReferenceElement(element)) {
165
+ return false;
166
+ }
167
+ if (!isStringElement(element.$ref)) {
168
+ return false;
169
+ }
170
+
171
+ const value = toValue(element.$ref);
172
+
173
+ return typeof value === 'string' && value.length > 0 && !value.startsWith('#');
174
+ };
175
+
176
+ /**
177
+ * @public
178
+ */
179
+ export const isRequestBodyElement = (element: unknown): element is RequestBodyElement =>
180
+ element instanceof RequestBodyElement;
181
+
182
+ /**
183
+ * @public
184
+ */
185
+ export const isResponseElement = (element: unknown): element is ResponseElement =>
186
+ element instanceof ResponseElement;
187
+
188
+ /**
189
+ * @public
190
+ */
191
+ export const isResponsesElement = (element: unknown): element is ResponsesElement =>
192
+ element instanceof ResponsesElement;
193
+
194
+ /**
195
+ * @public
196
+ */
197
+ export const isSchemaElement = (element: unknown): element is SchemaElement =>
198
+ element instanceof SchemaElement;
199
+
200
+ /**
201
+ * @public
202
+ */
203
+ export const isSecurityRequirementElement = (
204
+ element: unknown,
205
+ ): element is SecurityRequirementElement => element instanceof SecurityRequirementElement;
206
+
207
+ /**
208
+ * @public
209
+ */
210
+ export const isSecuritySchemeElement = (element: unknown): element is SecuritySchemeElement =>
211
+ element instanceof SecuritySchemeElement;
212
+
213
+ /**
214
+ * @public
215
+ */
216
+ export const isServerElement = (element: unknown): element is ServerElement =>
217
+ element instanceof ServerElement;
218
+
219
+ /**
220
+ * @public
221
+ */
222
+ export const isServerVariableElement = (element: unknown): element is ServerVariableElement =>
223
+ element instanceof ServerVariableElement;
224
+
225
+ /**
226
+ * @public
227
+ */
228
+ export const isMediaTypeElement = (element: unknown): element is MediaTypeElement =>
229
+ element instanceof MediaTypeElement;