@speclynx/apidom-reference 1.12.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 (263) hide show
  1. package/CHANGELOG.md +86 -0
  2. package/LICENSE +202 -0
  3. package/LICENSES/AFL-3.0.txt +182 -0
  4. package/LICENSES/Apache-2.0.txt +202 -0
  5. package/LICENSES/BSD-3-Clause.txt +26 -0
  6. package/LICENSES/MIT.txt +9 -0
  7. package/NOTICE +65 -0
  8. package/README.md +2107 -0
  9. package/dist/167.apidom-reference.browser.js +10 -0
  10. package/dist/167.apidom-reference.browser.min.js +1 -0
  11. package/dist/451.apidom-reference.browser.js +10 -0
  12. package/dist/451.apidom-reference.browser.min.js +1 -0
  13. package/dist/9786785aaddf11f37840fad896531940.wasm +0 -0
  14. package/dist/apidom-reference.browser.js +85376 -0
  15. package/dist/apidom-reference.browser.min.js +1 -0
  16. package/package.json +304 -0
  17. package/src/File.cjs +50 -0
  18. package/src/File.mjs +44 -0
  19. package/src/Reference.cjs +31 -0
  20. package/src/Reference.mjs +27 -0
  21. package/src/ReferenceSet.cjs +60 -0
  22. package/src/ReferenceSet.mjs +57 -0
  23. package/src/bundle/index.cjs +61 -0
  24. package/src/bundle/index.mjs +55 -0
  25. package/src/bundle/strategies/BundleStrategy.cjs +20 -0
  26. package/src/bundle/strategies/BundleStrategy.mjs +16 -0
  27. package/src/bundle/strategies/openapi-3-1/index.cjs +35 -0
  28. package/src/bundle/strategies/openapi-3-1/index.mjs +29 -0
  29. package/src/configuration/empty.cjs +9 -0
  30. package/src/configuration/empty.mjs +1 -0
  31. package/src/configuration/saturated.cjs +95 -0
  32. package/src/configuration/saturated.mjs +87 -0
  33. package/src/dereference/index.cjs +86 -0
  34. package/src/dereference/index.mjs +79 -0
  35. package/src/dereference/strategies/DereferenceStrategy.cjs +20 -0
  36. package/src/dereference/strategies/DereferenceStrategy.mjs +16 -0
  37. package/src/dereference/strategies/apidom/index.cjs +89 -0
  38. package/src/dereference/strategies/apidom/index.mjs +84 -0
  39. package/src/dereference/strategies/apidom/selectors/element-id.cjs +36 -0
  40. package/src/dereference/strategies/apidom/selectors/element-id.mjs +30 -0
  41. package/src/dereference/strategies/apidom/visitor.cjs +165 -0
  42. package/src/dereference/strategies/apidom/visitor.mjs +159 -0
  43. package/src/dereference/strategies/asyncapi-2/index.cjs +100 -0
  44. package/src/dereference/strategies/asyncapi-2/index.mjs +94 -0
  45. package/src/dereference/strategies/asyncapi-2/visitor.cjs +412 -0
  46. package/src/dereference/strategies/asyncapi-2/visitor.mjs +406 -0
  47. package/src/dereference/strategies/openapi-2/index.cjs +102 -0
  48. package/src/dereference/strategies/openapi-2/index.mjs +96 -0
  49. package/src/dereference/strategies/openapi-2/visitor.cjs +530 -0
  50. package/src/dereference/strategies/openapi-2/visitor.mjs +524 -0
  51. package/src/dereference/strategies/openapi-3-0/index.cjs +102 -0
  52. package/src/dereference/strategies/openapi-3-0/index.mjs +96 -0
  53. package/src/dereference/strategies/openapi-3-0/visitor.cjs +519 -0
  54. package/src/dereference/strategies/openapi-3-0/visitor.mjs +513 -0
  55. package/src/dereference/strategies/openapi-3-1/index.cjs +105 -0
  56. package/src/dereference/strategies/openapi-3-1/index.mjs +96 -0
  57. package/src/dereference/strategies/openapi-3-1/selectors/$anchor.cjs +66 -0
  58. package/src/dereference/strategies/openapi-3-1/selectors/$anchor.mjs +55 -0
  59. package/src/dereference/strategies/openapi-3-1/selectors/uri.cjs +50 -0
  60. package/src/dereference/strategies/openapi-3-1/selectors/uri.mjs +42 -0
  61. package/src/dereference/strategies/openapi-3-1/util.cjs +67 -0
  62. package/src/dereference/strategies/openapi-3-1/util.mjs +58 -0
  63. package/src/dereference/strategies/openapi-3-1/visitor.cjs +776 -0
  64. package/src/dereference/strategies/openapi-3-1/visitor.mjs +770 -0
  65. package/src/dereference/util.cjs +31 -0
  66. package/src/dereference/util.mjs +27 -0
  67. package/src/errors/BundleError.cjs +10 -0
  68. package/src/errors/BundleError.mjs +7 -0
  69. package/src/errors/DereferenceError.cjs +10 -0
  70. package/src/errors/DereferenceError.mjs +7 -0
  71. package/src/errors/EvaluationElementIdError.cjs +10 -0
  72. package/src/errors/EvaluationElementIdError.mjs +7 -0
  73. package/src/errors/EvaluationJsonSchema$anchorError.cjs +11 -0
  74. package/src/errors/EvaluationJsonSchema$anchorError.mjs +6 -0
  75. package/src/errors/EvaluationJsonSchemaUriError.cjs +11 -0
  76. package/src/errors/EvaluationJsonSchemaUriError.mjs +6 -0
  77. package/src/errors/InvalidJsonSchema$anchorError.cjs +15 -0
  78. package/src/errors/InvalidJsonSchema$anchorError.mjs +10 -0
  79. package/src/errors/JsonSchema$anchorError.cjs +10 -0
  80. package/src/errors/JsonSchema$anchorError.mjs +7 -0
  81. package/src/errors/JsonSchemaUriError.cjs +10 -0
  82. package/src/errors/JsonSchemaUriError.mjs +7 -0
  83. package/src/errors/MaximumBundleDepthError.cjs +11 -0
  84. package/src/errors/MaximumBundleDepthError.mjs +6 -0
  85. package/src/errors/MaximumDereferenceDepthError.cjs +11 -0
  86. package/src/errors/MaximumDereferenceDepthError.mjs +6 -0
  87. package/src/errors/MaximumResolveDepthError.cjs +11 -0
  88. package/src/errors/MaximumResolveDepthError.mjs +6 -0
  89. package/src/errors/ParseError.cjs +10 -0
  90. package/src/errors/ParseError.mjs +7 -0
  91. package/src/errors/ParserError.cjs +11 -0
  92. package/src/errors/ParserError.mjs +6 -0
  93. package/src/errors/PluginError.cjs +18 -0
  94. package/src/errors/PluginError.mjs +15 -0
  95. package/src/errors/ResolveError.cjs +10 -0
  96. package/src/errors/ResolveError.mjs +7 -0
  97. package/src/errors/ResolverError.cjs +11 -0
  98. package/src/errors/ResolverError.mjs +6 -0
  99. package/src/errors/UnmatchedBundleStrategyError.cjs +11 -0
  100. package/src/errors/UnmatchedBundleStrategyError.mjs +6 -0
  101. package/src/errors/UnmatchedDereferenceStrategyError.cjs +11 -0
  102. package/src/errors/UnmatchedDereferenceStrategyError.mjs +6 -0
  103. package/src/errors/UnmatchedResolveStrategyError.cjs +11 -0
  104. package/src/errors/UnmatchedResolveStrategyError.mjs +6 -0
  105. package/src/errors/UnmatchedResolverError.cjs +11 -0
  106. package/src/errors/UnmatchedResolverError.mjs +6 -0
  107. package/src/index.cjs +142 -0
  108. package/src/index.mjs +101 -0
  109. package/src/options/index.cjs +185 -0
  110. package/src/options/index.mjs +182 -0
  111. package/src/options/util.cjs +24 -0
  112. package/src/options/util.mjs +19 -0
  113. package/src/parse/index.cjs +69 -0
  114. package/src/parse/index.mjs +63 -0
  115. package/src/parse/parsers/Parser.cjs +48 -0
  116. package/src/parse/parsers/Parser.mjs +44 -0
  117. package/src/parse/parsers/api-design-systems-json/index.cjs +55 -0
  118. package/src/parse/parsers/api-design-systems-json/index.mjs +49 -0
  119. package/src/parse/parsers/api-design-systems-yaml/index.cjs +54 -0
  120. package/src/parse/parsers/api-design-systems-yaml/index.mjs +48 -0
  121. package/src/parse/parsers/apidom-json/index.cjs +70 -0
  122. package/src/parse/parsers/apidom-json/index.mjs +64 -0
  123. package/src/parse/parsers/arazzo-json-1/index.cjs +55 -0
  124. package/src/parse/parsers/arazzo-json-1/index.mjs +49 -0
  125. package/src/parse/parsers/arazzo-yaml-1/index.cjs +54 -0
  126. package/src/parse/parsers/arazzo-yaml-1/index.mjs +48 -0
  127. package/src/parse/parsers/asyncapi-json-2/index.cjs +55 -0
  128. package/src/parse/parsers/asyncapi-json-2/index.mjs +49 -0
  129. package/src/parse/parsers/asyncapi-yaml-2/index.cjs +54 -0
  130. package/src/parse/parsers/asyncapi-yaml-2/index.mjs +48 -0
  131. package/src/parse/parsers/binary/index-browser.cjs +56 -0
  132. package/src/parse/parsers/binary/index-browser.mjs +50 -0
  133. package/src/parse/parsers/binary/index-node.cjs +51 -0
  134. package/src/parse/parsers/binary/index-node.mjs +45 -0
  135. package/src/parse/parsers/json/index.cjs +54 -0
  136. package/src/parse/parsers/json/index.mjs +48 -0
  137. package/src/parse/parsers/openapi-json-2/index.cjs +55 -0
  138. package/src/parse/parsers/openapi-json-2/index.mjs +49 -0
  139. package/src/parse/parsers/openapi-json-3-0/index.cjs +55 -0
  140. package/src/parse/parsers/openapi-json-3-0/index.mjs +49 -0
  141. package/src/parse/parsers/openapi-json-3-1/index.cjs +55 -0
  142. package/src/parse/parsers/openapi-json-3-1/index.mjs +49 -0
  143. package/src/parse/parsers/openapi-yaml-2/index.cjs +54 -0
  144. package/src/parse/parsers/openapi-yaml-2/index.mjs +48 -0
  145. package/src/parse/parsers/openapi-yaml-3-0/index.cjs +54 -0
  146. package/src/parse/parsers/openapi-yaml-3-0/index.mjs +48 -0
  147. package/src/parse/parsers/openapi-yaml-3-1/index.cjs +54 -0
  148. package/src/parse/parsers/openapi-yaml-3-1/index.mjs +48 -0
  149. package/src/parse/parsers/yaml-1-2/index.cjs +54 -0
  150. package/src/parse/parsers/yaml-1-2/index.mjs +48 -0
  151. package/src/resolve/index.cjs +67 -0
  152. package/src/resolve/index.mjs +60 -0
  153. package/src/resolve/resolvers/HTTPResolver.cjs +38 -0
  154. package/src/resolve/resolvers/HTTPResolver.mjs +31 -0
  155. package/src/resolve/resolvers/Resolver.cjs +20 -0
  156. package/src/resolve/resolvers/Resolver.mjs +16 -0
  157. package/src/resolve/resolvers/file/index-browser.cjs +24 -0
  158. package/src/resolve/resolvers/file/index-browser.mjs +19 -0
  159. package/src/resolve/resolvers/file/index-node.cjs +49 -0
  160. package/src/resolve/resolvers/file/index-node.mjs +42 -0
  161. package/src/resolve/resolvers/http-axios/index.cjs +80 -0
  162. package/src/resolve/resolvers/http-axios/index.mjs +73 -0
  163. package/src/resolve/strategies/ResolveStrategy.cjs +20 -0
  164. package/src/resolve/strategies/ResolveStrategy.mjs +16 -0
  165. package/src/resolve/strategies/apidom/index.cjs +49 -0
  166. package/src/resolve/strategies/apidom/index.mjs +43 -0
  167. package/src/resolve/strategies/asyncapi-2/index.cjs +49 -0
  168. package/src/resolve/strategies/asyncapi-2/index.mjs +43 -0
  169. package/src/resolve/strategies/openapi-2/index.cjs +49 -0
  170. package/src/resolve/strategies/openapi-2/index.mjs +43 -0
  171. package/src/resolve/strategies/openapi-3-0/index.cjs +49 -0
  172. package/src/resolve/strategies/openapi-3-0/index.mjs +43 -0
  173. package/src/resolve/strategies/openapi-3-1/index.cjs +49 -0
  174. package/src/resolve/strategies/openapi-3-1/index.mjs +43 -0
  175. package/src/resolve/util.cjs +37 -0
  176. package/src/resolve/util.mjs +30 -0
  177. package/src/util/plugins.cjs +44 -0
  178. package/src/util/plugins.mjs +37 -0
  179. package/src/util/url.cjs +288 -0
  180. package/src/util/url.mjs +274 -0
  181. package/types/File.d.ts +24 -0
  182. package/types/Reference.d.ts +23 -0
  183. package/types/ReferenceSet.d.ts +25 -0
  184. package/types/apidom-reference.d.ts +584 -0
  185. package/types/bundle/index.d.ts +7 -0
  186. package/types/bundle/strategies/BundleStrategy.d.ts +19 -0
  187. package/types/bundle/strategies/openapi-3-1/index.d.ts +26 -0
  188. package/types/configuration/empty.d.ts +1 -0
  189. package/types/configuration/saturated.d.ts +1 -0
  190. package/types/dereference/index.d.ts +11 -0
  191. package/types/dereference/strategies/DereferenceStrategy.d.ts +19 -0
  192. package/types/dereference/strategies/apidom/index.d.ts +30 -0
  193. package/types/dereference/strategies/apidom/selectors/element-id.d.ts +11 -0
  194. package/types/dereference/strategies/apidom/visitor.d.ts +32 -0
  195. package/types/dereference/strategies/asyncapi-2/index.d.ts +31 -0
  196. package/types/dereference/strategies/asyncapi-2/visitor.d.ts +43 -0
  197. package/types/dereference/strategies/openapi-2/index.d.ts +32 -0
  198. package/types/dereference/strategies/openapi-2/visitor.d.ts +47 -0
  199. package/types/dereference/strategies/openapi-3-0/index.d.ts +31 -0
  200. package/types/dereference/strategies/openapi-3-0/visitor.d.ts +49 -0
  201. package/types/dereference/strategies/openapi-3-1/index.d.ts +32 -0
  202. package/types/dereference/strategies/openapi-3-1/selectors/$anchor.d.ts +22 -0
  203. package/types/dereference/strategies/openapi-3-1/selectors/uri.d.ts +12 -0
  204. package/types/dereference/strategies/openapi-3-1/util.d.ts +21 -0
  205. package/types/dereference/strategies/openapi-3-1/visitor.d.ts +52 -0
  206. package/types/dereference/util.d.ts +9 -0
  207. package/types/errors/BundleError.d.ts +7 -0
  208. package/types/errors/DereferenceError.d.ts +7 -0
  209. package/types/errors/EvaluationElementIdError.d.ts +7 -0
  210. package/types/errors/EvaluationJsonSchema$anchorError.d.ts +7 -0
  211. package/types/errors/EvaluationJsonSchemaUriError.d.ts +7 -0
  212. package/types/errors/InvalidJsonSchema$anchorError.d.ts +8 -0
  213. package/types/errors/JsonSchema$anchorError.d.ts +7 -0
  214. package/types/errors/JsonSchemaUriError.d.ts +7 -0
  215. package/types/errors/MaximumBundleDepthError.d.ts +7 -0
  216. package/types/errors/MaximumDereferenceDepthError.d.ts +7 -0
  217. package/types/errors/MaximumResolveDepthError.d.ts +7 -0
  218. package/types/errors/ParseError.d.ts +7 -0
  219. package/types/errors/ParserError.d.ts +7 -0
  220. package/types/errors/PluginError.d.ts +12 -0
  221. package/types/errors/ResolveError.d.ts +7 -0
  222. package/types/errors/ResolverError.d.ts +7 -0
  223. package/types/errors/UnmatchedBundleStrategyError.d.ts +7 -0
  224. package/types/errors/UnmatchedDereferenceStrategyError.d.ts +7 -0
  225. package/types/errors/UnmatchedResolveStrategyError.d.ts +7 -0
  226. package/types/errors/UnmatchedResolverError.d.ts +7 -0
  227. package/types/index.d.ts +75 -0
  228. package/types/options/index.d.ts +62 -0
  229. package/types/options/util.d.ts +5 -0
  230. package/types/parse/index.d.ts +7 -0
  231. package/types/parse/parsers/Parser.d.ts +38 -0
  232. package/types/parse/parsers/api-design-systems-json/index.d.ts +21 -0
  233. package/types/parse/parsers/api-design-systems-yaml/index.d.ts +20 -0
  234. package/types/parse/parsers/apidom-json/index.d.ts +24 -0
  235. package/types/parse/parsers/arazzo-json-1/index.d.ts +21 -0
  236. package/types/parse/parsers/arazzo-yaml-1/index.d.ts +20 -0
  237. package/types/parse/parsers/asyncapi-json-2/index.d.ts +21 -0
  238. package/types/parse/parsers/asyncapi-yaml-2/index.d.ts +20 -0
  239. package/types/parse/parsers/binary/index-browser.d.ts +21 -0
  240. package/types/parse/parsers/binary/index-node.d.ts +21 -0
  241. package/types/parse/parsers/json/index.d.ts +20 -0
  242. package/types/parse/parsers/openapi-json-2/index.d.ts +21 -0
  243. package/types/parse/parsers/openapi-json-3-0/index.d.ts +21 -0
  244. package/types/parse/parsers/openapi-json-3-1/index.d.ts +21 -0
  245. package/types/parse/parsers/openapi-yaml-2/index.d.ts +20 -0
  246. package/types/parse/parsers/openapi-yaml-3-0/index.d.ts +20 -0
  247. package/types/parse/parsers/openapi-yaml-3-1/index.d.ts +20 -0
  248. package/types/parse/parsers/yaml-1-2/index.d.ts +20 -0
  249. package/types/resolve/index.d.ts +12 -0
  250. package/types/resolve/resolvers/HTTPResolver.d.ts +22 -0
  251. package/types/resolve/resolvers/Resolver.d.ts +17 -0
  252. package/types/resolve/resolvers/file/index-browser.d.ts +12 -0
  253. package/types/resolve/resolvers/file/index-node.d.ts +20 -0
  254. package/types/resolve/resolvers/http-axios/index.d.ts +30 -0
  255. package/types/resolve/strategies/ResolveStrategy.d.ts +19 -0
  256. package/types/resolve/strategies/apidom/index.d.ts +27 -0
  257. package/types/resolve/strategies/asyncapi-2/index.d.ts +27 -0
  258. package/types/resolve/strategies/openapi-2/index.d.ts +27 -0
  259. package/types/resolve/strategies/openapi-3-0/index.d.ts +27 -0
  260. package/types/resolve/strategies/openapi-3-1/index.d.ts +27 -0
  261. package/types/resolve/util.d.ts +6 -0
  262. package/types/util/plugins.d.ts +14 -0
  263. package/types/util/url.d.ts +106 -0
@@ -0,0 +1,75 @@
1
+ import { ParseResultElement, Element } from '@speclynx/apidom-core';
2
+ import File from './File.ts';
3
+ import ReferenceSet from './ReferenceSet.ts';
4
+ import * as url from './util/url.ts';
5
+ export { url };
6
+ export { default as Parser } from './parse/parsers/Parser.ts';
7
+ export type { ParserOptions } from './parse/parsers/Parser.ts';
8
+ export { default as Resolver } from './resolve/resolvers/Resolver.ts';
9
+ export { default as HTTPResolver } from './resolve/resolvers/HTTPResolver.ts';
10
+ export type { HTTPResolverOptions } from './resolve/resolvers/HTTPResolver.ts';
11
+ export { default as ResolveStrategy } from './resolve/strategies/ResolveStrategy.ts';
12
+ export type { ResolverOptions } from './resolve/resolvers/Resolver.ts';
13
+ export type { ResolveStrategyOptions } from './resolve/strategies/ResolveStrategy.ts';
14
+ export { default as DereferenceStrategy } from './dereference/strategies/DereferenceStrategy.ts';
15
+ export type { DereferenceStrategyOptions } from './dereference/strategies/DereferenceStrategy.ts';
16
+ export { AncestorLineage as DereferenceAncestorLineage } from './dereference/util.ts';
17
+ export { default as BundleStrategy } from './bundle/strategies/BundleStrategy.ts';
18
+ export type { BundleStrategyOptions } from './bundle/strategies/BundleStrategy.ts';
19
+ export { default as options } from './options/index.ts';
20
+ export { merge as mergeOptions } from './options/util.ts';
21
+ export type { ReferenceOptions as ApiDOMReferenceOptions, ReferenceBundleOptions as ApiDOMReferenceBundleOptions, ReferenceDereferenceOptions as ApiDOMReferenceDereferenceOptions, ReferenceParseOptions as ApiDOMReferenceParseOptions, ReferenceResolveOptions as ApiDOMReferenceResolveOptions, } from './options/index.ts';
22
+ export { File };
23
+ export { default as Reference } from './Reference.ts';
24
+ export { ReferenceSet };
25
+ export type { FileOptions } from './File.ts';
26
+ export type { ReferenceOptions } from './Reference.ts';
27
+ export type { ReferenceSetOptions } from './ReferenceSet.ts';
28
+ export { default as BundleError } from './errors/BundleError.ts';
29
+ export { default as MaximumBundleDepthError } from './errors/MaximumBundleDepthError.ts';
30
+ export { default as UnmatchedBundleStrategyError } from './errors/UnmatchedBundleStrategyError.ts';
31
+ export { default as DereferenceError } from './errors/DereferenceError.ts';
32
+ export { default as EvaluationElementIdError } from './errors/EvaluationElementIdError.ts';
33
+ export { default as EvaluationJsonSchema$anchorError } from './errors/EvaluationJsonSchema$anchorError.ts';
34
+ export { default as EvaluationJsonSchemaUriError } from './errors/EvaluationJsonSchemaUriError.ts';
35
+ export { default as InvalidJsonSchema$anchorError } from './errors/InvalidJsonSchema$anchorError.ts';
36
+ export { default as JsonSchema$anchorError } from './errors/JsonSchema$anchorError.ts';
37
+ export { default as JsonSchemaURIError } from './errors/JsonSchemaUriError.ts';
38
+ export { default as MaximumDereferenceDepthError } from './errors/MaximumDereferenceDepthError.ts';
39
+ export { default as MaximumResolveDepthError } from './errors/MaximumResolveDepthError.ts';
40
+ export { default as ParseError } from './errors/ParseError.ts';
41
+ export { default as ParserError } from './errors/ParserError.ts';
42
+ export { default as PluginError } from './errors/PluginError.ts';
43
+ export { default as ResolveError } from './errors/ResolveError.ts';
44
+ export { default as ResolverError } from './errors/ResolverError.ts';
45
+ export { default as UnmatchedDereferenceStrategyError } from './errors/UnmatchedDereferenceStrategyError.ts';
46
+ export { default as UnmatchedResolveStrategyError } from './errors/UnmatchedResolveStrategyError.ts';
47
+ export { default as UnmatchedResolverError } from './errors/UnmatchedResolverError.ts';
48
+ /**
49
+ * @public
50
+ */
51
+ export declare const readFile: (uri: string, options?: {}) => Promise<Buffer>;
52
+ /**
53
+ * @public
54
+ */
55
+ export declare const parse: (uri: string, options?: {}) => Promise<ParseResultElement>;
56
+ /**
57
+ * @public
58
+ */
59
+ export declare const resolve: (uri: string, options?: {}) => Promise<ReferenceSet>;
60
+ /**
61
+ * @public
62
+ */
63
+ export declare const resolveApiDOM: <T extends Element>(element: T, options?: {}) => Promise<ReferenceSet>;
64
+ /**
65
+ * @public
66
+ */
67
+ export declare const dereference: (uri: string, options?: {}) => Promise<ParseResultElement>;
68
+ /**
69
+ * @public
70
+ */
71
+ export declare const dereferenceApiDOM: <T extends Element>(element: T, options?: {}) => Promise<T>;
72
+ /**
73
+ * @public
74
+ */
75
+ export declare const bundle: (uri: string, options?: {}) => Promise<ParseResultElement>;
@@ -0,0 +1,62 @@
1
+ import { RefElement } from 'minim';
2
+ import type Parser from '../parse/parsers/Parser.ts';
3
+ import type Resolver from '../resolve/resolvers/Resolver.ts';
4
+ import type ResolveStrategy from '../resolve/strategies/ResolveStrategy.ts';
5
+ import type DereferenceStrategy from '../dereference/strategies/DereferenceStrategy.ts';
6
+ import type ReferenceSet from '../ReferenceSet.ts';
7
+ import type BundleStrategy from '../bundle/strategies/BundleStrategy.ts';
8
+ /**
9
+ * @public
10
+ */
11
+ export interface ReferenceParseOptions {
12
+ mediaType: string;
13
+ parsers: Array<Parser>;
14
+ parserOpts: Record<string, any>;
15
+ }
16
+ /**
17
+ * @public
18
+ */
19
+ export interface ReferenceResolveOptions {
20
+ baseURI: string;
21
+ resolvers: Array<Resolver>;
22
+ resolverOpts: Record<string, any>;
23
+ strategies: Array<ResolveStrategy>;
24
+ strategyOpts: Record<string, any>;
25
+ internal: boolean;
26
+ external: boolean;
27
+ maxDepth: number;
28
+ }
29
+ /**
30
+ * @public
31
+ */
32
+ export interface ReferenceDereferenceOptions {
33
+ strategies: Array<DereferenceStrategy>;
34
+ strategyOpts: Record<string, any>;
35
+ refSet: null | ReferenceSet;
36
+ maxDepth: number;
37
+ circular: 'ignore' | 'replace' | 'error';
38
+ circularReplacer: (ref: RefElement) => unknown;
39
+ immutable: boolean;
40
+ }
41
+ /**
42
+ * @public
43
+ */
44
+ export interface ReferenceBundleOptions {
45
+ strategies: Array<BundleStrategy>;
46
+ refSet: null | ReferenceSet;
47
+ maxDepth: number;
48
+ }
49
+ /**
50
+ * @public
51
+ */
52
+ export interface ReferenceOptions {
53
+ readonly parse: ReferenceParseOptions;
54
+ readonly resolve: ReferenceResolveOptions;
55
+ readonly dereference: ReferenceDereferenceOptions;
56
+ readonly bundle: ReferenceBundleOptions;
57
+ }
58
+ /**
59
+ * @public
60
+ */
61
+ declare const defaultOptions: ReferenceOptions;
62
+ export default defaultOptions;
@@ -0,0 +1,5 @@
1
+ import type { ReferenceOptions } from './index.ts';
2
+ /**
3
+ * @public
4
+ */
5
+ export declare const merge: (lObj: ReferenceOptions, rObj: Record<string, any>) => ReferenceOptions;
@@ -0,0 +1,7 @@
1
+ import { ParseResultElement } from '@speclynx/apidom-core';
2
+ import type { ReferenceOptions } from '../options/index.ts';
3
+ /**
4
+ * Parses a file into ApiDOM.
5
+ */
6
+ declare const parse: (uri: string, options: ReferenceOptions) => Promise<ParseResultElement>;
7
+ export default parse;
@@ -0,0 +1,38 @@
1
+ import { ParseResultElement } from '@speclynx/apidom-core';
2
+ import File from '../../File.ts';
3
+ /**
4
+ * @public
5
+ */
6
+ export interface ParserOptions {
7
+ readonly name: string;
8
+ readonly allowEmpty?: boolean;
9
+ readonly sourceMap?: boolean;
10
+ readonly fileExtensions?: string[];
11
+ readonly mediaTypes?: string[];
12
+ }
13
+ /**
14
+ * @public
15
+ */
16
+ declare abstract class Parser {
17
+ readonly name: string;
18
+ /**
19
+ * Whether to allow "empty" files. This includes zero-byte files.
20
+ */
21
+ allowEmpty: boolean;
22
+ /**
23
+ * Whether to generate source map during parsing.
24
+ */
25
+ sourceMap: boolean;
26
+ /**
27
+ * List of supported file extensions.
28
+ */
29
+ fileExtensions: string[];
30
+ /**
31
+ * List of supported media types.
32
+ */
33
+ mediaTypes: string[];
34
+ constructor({ name, allowEmpty, sourceMap, fileExtensions, mediaTypes, }: ParserOptions);
35
+ abstract canParse(file: File): boolean | Promise<boolean>;
36
+ abstract parse(file: File): ParseResultElement | Promise<ParseResultElement>;
37
+ }
38
+ export default Parser;
@@ -0,0 +1,21 @@
1
+ import { ParseResultElement } from '@speclynx/apidom-core';
2
+ import Parser, { ParserOptions } from '../Parser.ts';
3
+ import File from '../../../File.ts';
4
+ export type { default as Parser, ParserOptions } from '../Parser.ts';
5
+ export type { default as File, FileOptions } from '../../../File.ts';
6
+ /**
7
+ * @public
8
+ */
9
+ export interface APIDesignSystemsJSONParserOptions extends Omit<ParserOptions, 'name'> {
10
+ }
11
+ /**
12
+ * @public
13
+ */
14
+ declare class APIDesignSystemsJSONParser extends Parser {
15
+ syntacticAnalysis?: 'direct' | 'indirect';
16
+ refractorOpts: object;
17
+ constructor(options?: APIDesignSystemsJSONParserOptions);
18
+ canParse(file: File): Promise<boolean>;
19
+ parse(file: File): Promise<ParseResultElement>;
20
+ }
21
+ export default APIDesignSystemsJSONParser;
@@ -0,0 +1,20 @@
1
+ import { ParseResultElement } from '@speclynx/apidom-core';
2
+ import Parser, { ParserOptions } from '../Parser.ts';
3
+ import File from '../../../File.ts';
4
+ export type { default as Parser, ParserOptions } from '../Parser.ts';
5
+ export type { default as File, FileOptions } from '../../../File.ts';
6
+ /**
7
+ * @public
8
+ */
9
+ export interface APIDesignSystemsYAMLParserOptions extends Omit<ParserOptions, 'name'> {
10
+ }
11
+ /**
12
+ * @public
13
+ */
14
+ declare class APIDesignSystemsYAMLParser extends Parser {
15
+ refractorOpts: object;
16
+ constructor(options?: APIDesignSystemsYAMLParserOptions);
17
+ canParse(file: File): Promise<boolean>;
18
+ parse(file: File): Promise<ParseResultElement>;
19
+ }
20
+ export default APIDesignSystemsYAMLParser;
@@ -0,0 +1,24 @@
1
+ import { Namespace, ParseResultElement } from '@speclynx/apidom-core';
2
+ import Parser, { ParserOptions } from '../Parser.ts';
3
+ import File from '../../../File.ts';
4
+ export type { default as Parser, ParserOptions } from '../Parser.ts';
5
+ export type { default as File, FileOptions } from '../../../File.ts';
6
+ /**
7
+ * @public
8
+ */
9
+ export interface ApiDOMJSONParserOptions extends Omit<ParserOptions, 'name'> {
10
+ readonly namespace?: Namespace;
11
+ }
12
+ /**
13
+ * @public
14
+ */
15
+ declare class ApiDOMJSONParser extends Parser {
16
+ namespace: Namespace;
17
+ ['apidom-json']: {
18
+ namespace?: Namespace;
19
+ };
20
+ constructor(options?: ApiDOMJSONParserOptions);
21
+ canParse(file: File): boolean;
22
+ parse(file: File): ParseResultElement;
23
+ }
24
+ export default ApiDOMJSONParser;
@@ -0,0 +1,21 @@
1
+ import { ParseResultElement } from '@speclynx/apidom-core';
2
+ import Parser, { ParserOptions } from '../Parser.ts';
3
+ import File from '../../../File.ts';
4
+ export type { default as Parser, ParserOptions } from '../Parser.ts';
5
+ export type { default as File, FileOptions } from '../../../File.ts';
6
+ /**
7
+ * @public
8
+ */
9
+ export interface ArazzoJSON1ParserOptions extends Omit<ParserOptions, 'name'> {
10
+ }
11
+ /**
12
+ * @public
13
+ */
14
+ declare class ArazzoJSON1Parser extends Parser {
15
+ syntacticAnalysis?: 'direct' | 'indirect';
16
+ refractorOpts: object;
17
+ constructor(options?: ArazzoJSON1ParserOptions);
18
+ canParse(file: File): Promise<boolean>;
19
+ parse(file: File): Promise<ParseResultElement>;
20
+ }
21
+ export default ArazzoJSON1Parser;
@@ -0,0 +1,20 @@
1
+ import { ParseResultElement } from '@speclynx/apidom-core';
2
+ import Parser, { ParserOptions } from '../Parser.ts';
3
+ import File from '../../../File.ts';
4
+ export type { default as Parser, ParserOptions } from '../Parser.ts';
5
+ export type { default as File, FileOptions } from '../../../File.ts';
6
+ /**
7
+ * @public
8
+ */
9
+ export interface ArazzoYAML1ParserOptions extends Omit<ParserOptions, 'name'> {
10
+ }
11
+ /**
12
+ * @public
13
+ */
14
+ declare class ArazzoYAML1Parser extends Parser {
15
+ refractorOpts: object;
16
+ constructor(options?: ArazzoYAML1ParserOptions);
17
+ canParse(file: File): Promise<boolean>;
18
+ parse(file: File): Promise<ParseResultElement>;
19
+ }
20
+ export default ArazzoYAML1Parser;
@@ -0,0 +1,21 @@
1
+ import { ParseResultElement } from '@speclynx/apidom-core';
2
+ import Parser, { ParserOptions } from '../Parser.ts';
3
+ import File from '../../../File.ts';
4
+ export type { default as Parser, ParserOptions } from '../Parser.ts';
5
+ export type { default as File, FileOptions } from '../../../File.ts';
6
+ /**
7
+ * @public
8
+ */
9
+ export interface AsyncAPIJSON2ParserOptions extends Omit<ParserOptions, 'name'> {
10
+ }
11
+ /**
12
+ * @public
13
+ */
14
+ declare class AsyncAPIJSON2Parser extends Parser {
15
+ syntacticAnalysis?: 'direct' | 'indirect';
16
+ refractorOpts: object;
17
+ constructor(options?: AsyncAPIJSON2ParserOptions);
18
+ canParse(file: File): Promise<boolean>;
19
+ parse(file: File): Promise<ParseResultElement>;
20
+ }
21
+ export default AsyncAPIJSON2Parser;
@@ -0,0 +1,20 @@
1
+ import { ParseResultElement } from '@speclynx/apidom-core';
2
+ import Parser, { ParserOptions } from '../Parser.ts';
3
+ import File from '../../../File.ts';
4
+ export type { default as Parser, ParserOptions } from '../Parser.ts';
5
+ export type { default as File, FileOptions } from '../../../File.ts';
6
+ /**
7
+ * @public
8
+ */
9
+ export interface AsyncAPIYAML2ParserOptions extends Omit<ParserOptions, 'name'> {
10
+ }
11
+ /**
12
+ * @public
13
+ */
14
+ declare class AsyncAPIYAML2Parser extends Parser {
15
+ refractorOpts: object;
16
+ constructor(options?: AsyncAPIYAML2ParserOptions);
17
+ canParse(file: File): Promise<boolean>;
18
+ parse(file: File): Promise<ParseResultElement>;
19
+ }
20
+ export default AsyncAPIYAML2Parser;
@@ -0,0 +1,21 @@
1
+ import { ParseResultElement } from '@speclynx/apidom-core';
2
+ import Parser, { ParserOptions } from '../Parser.ts';
3
+ import File from '../../../File.ts';
4
+ export type { default as Parser, ParserOptions } from '../Parser.ts';
5
+ export type { default as File, FileOptions } from '../../../File.ts';
6
+ /**
7
+ * Everything that is not recognized by other parsers will be considered by this parser
8
+ * as a binary data and will be encoded to Base64 format.
9
+ * @public
10
+ */
11
+ export interface BinaryParserOptions extends Omit<ParserOptions, 'name'> {
12
+ }
13
+ /**
14
+ * @public
15
+ */
16
+ declare class BinaryParser extends Parser {
17
+ constructor(options?: BinaryParserOptions);
18
+ canParse(file: File): boolean;
19
+ parse(file: File): ParseResultElement;
20
+ }
21
+ export default BinaryParser;
@@ -0,0 +1,21 @@
1
+ import { ParseResultElement } from '@speclynx/apidom-core';
2
+ import Parser, { ParserOptions } from '../Parser.ts';
3
+ import File from '../../../File.ts';
4
+ export type { default as Parser, ParserOptions } from '../Parser.ts';
5
+ export type { default as File, FileOptions } from '../../../File.ts';
6
+ /**
7
+ * Everything that is not recognized by other parsers will be considered by this parser
8
+ * as a binary data and will be encoded to Base64 format.
9
+ * @public
10
+ */
11
+ export interface BinaryParserOptions extends Omit<ParserOptions, 'name'> {
12
+ }
13
+ /**
14
+ * @public
15
+ */
16
+ declare class BinaryParser extends Parser {
17
+ constructor(options?: BinaryParserOptions);
18
+ canParse(file: File): boolean;
19
+ parse(file: File): ParseResultElement;
20
+ }
21
+ export default BinaryParser;
@@ -0,0 +1,20 @@
1
+ import { ParseResultElement } from '@speclynx/apidom-core';
2
+ import Parser, { ParserOptions } from '../Parser.ts';
3
+ import File from '../../../File.ts';
4
+ export type { default as Parser, ParserOptions } from '../Parser.ts';
5
+ export type { default as File, FileOptions } from '../../../File.ts';
6
+ /**
7
+ * @public
8
+ */
9
+ export interface JSONParserOptions extends Omit<ParserOptions, 'name'> {
10
+ }
11
+ /**
12
+ * @public
13
+ */
14
+ declare class JSONParser extends Parser {
15
+ syntacticAnalysis?: 'direct' | 'indirect';
16
+ constructor(options?: JSONParserOptions);
17
+ canParse(file: File): Promise<boolean>;
18
+ parse(file: File): Promise<ParseResultElement>;
19
+ }
20
+ export default JSONParser;
@@ -0,0 +1,21 @@
1
+ import { ParseResultElement } from '@speclynx/apidom-core';
2
+ import Parser, { ParserOptions } from '../Parser.ts';
3
+ import File from '../../../File.ts';
4
+ export type { default as Parser, ParserOptions } from '../Parser.ts';
5
+ export type { default as File, FileOptions } from '../../../File.ts';
6
+ /**
7
+ * @public
8
+ */
9
+ export interface OpenAPIJSON2ParserOptions extends Omit<ParserOptions, 'name'> {
10
+ }
11
+ /**
12
+ * @public
13
+ */
14
+ declare class OpenAPIJSON2Parser extends Parser {
15
+ syntacticAnalysis?: 'direct' | 'indirect';
16
+ refractorOpts: object;
17
+ constructor(options?: OpenAPIJSON2ParserOptions);
18
+ canParse(file: File): Promise<boolean>;
19
+ parse(file: File): Promise<ParseResultElement>;
20
+ }
21
+ export default OpenAPIJSON2Parser;
@@ -0,0 +1,21 @@
1
+ import { ParseResultElement } from '@speclynx/apidom-core';
2
+ import Parser, { ParserOptions } from '../Parser.ts';
3
+ import File from '../../../File.ts';
4
+ export type { default as Parser, ParserOptions } from '../Parser.ts';
5
+ export type { default as File, FileOptions } from '../../../File.ts';
6
+ /**
7
+ * @public
8
+ */
9
+ export interface OpenAPIJSON3_0ParserOptions extends Omit<ParserOptions, 'name'> {
10
+ }
11
+ /**
12
+ * @public
13
+ */
14
+ declare class OpenAPIJSON3_0Parser extends Parser {
15
+ syntacticAnalysis?: 'direct' | 'indirect';
16
+ refractorOpts: object;
17
+ constructor(options?: OpenAPIJSON3_0ParserOptions);
18
+ canParse(file: File): Promise<boolean>;
19
+ parse(file: File): Promise<ParseResultElement>;
20
+ }
21
+ export default OpenAPIJSON3_0Parser;
@@ -0,0 +1,21 @@
1
+ import { ParseResultElement } from '@speclynx/apidom-core';
2
+ import Parser, { ParserOptions } from '../Parser.ts';
3
+ import File from '../../../File.ts';
4
+ export type { default as Parser, ParserOptions } from '../Parser.ts';
5
+ export type { default as File, FileOptions } from '../../../File.ts';
6
+ /**
7
+ * @public
8
+ */
9
+ export interface OpenAPIJSON3_1ParserOptions extends Omit<ParserOptions, 'name'> {
10
+ }
11
+ /**
12
+ * @public
13
+ */
14
+ declare class OpenAPIJSON3_1Parser extends Parser {
15
+ syntacticAnalysis?: 'direct' | 'indirect';
16
+ refractorOpts: object;
17
+ constructor(options?: OpenAPIJSON3_1ParserOptions);
18
+ canParse(file: File): Promise<boolean>;
19
+ parse(file: File): Promise<ParseResultElement>;
20
+ }
21
+ export default OpenAPIJSON3_1Parser;
@@ -0,0 +1,20 @@
1
+ import { ParseResultElement } from '@speclynx/apidom-core';
2
+ import Parser, { ParserOptions } from '../Parser.ts';
3
+ import File from '../../../File.ts';
4
+ export type { default as Parser, ParserOptions } from '../Parser.ts';
5
+ export type { default as File, FileOptions } from '../../../File.ts';
6
+ /**
7
+ * @public
8
+ */
9
+ export interface OpenAPIYAML2ParserOptions extends Omit<ParserOptions, 'name'> {
10
+ }
11
+ /**
12
+ * @public
13
+ */
14
+ declare class OpenAPIYAML2Parser extends Parser {
15
+ refractorOpts: object;
16
+ constructor(options?: OpenAPIYAML2ParserOptions);
17
+ canParse(file: File): Promise<boolean>;
18
+ parse(file: File): Promise<ParseResultElement>;
19
+ }
20
+ export default OpenAPIYAML2Parser;
@@ -0,0 +1,20 @@
1
+ import { ParseResultElement } from '@speclynx/apidom-core';
2
+ import Parser, { ParserOptions } from '../Parser.ts';
3
+ import File from '../../../File.ts';
4
+ export type { default as Parser, ParserOptions } from '../Parser.ts';
5
+ export type { default as File, FileOptions } from '../../../File.ts';
6
+ /**
7
+ * @public
8
+ */
9
+ export interface OpenAPIYAML3_0ParserOptions extends Omit<ParserOptions, 'name'> {
10
+ }
11
+ /**
12
+ * @public
13
+ */
14
+ declare class OpenAPIYAML3_0Parser extends Parser {
15
+ refractorOpts: object;
16
+ constructor(options?: OpenAPIYAML3_0ParserOptions);
17
+ canParse(file: File): Promise<boolean>;
18
+ parse(file: File): Promise<ParseResultElement>;
19
+ }
20
+ export default OpenAPIYAML3_0Parser;
@@ -0,0 +1,20 @@
1
+ import { ParseResultElement } from '@speclynx/apidom-core';
2
+ import Parser, { ParserOptions } from '../Parser.ts';
3
+ import File from '../../../File.ts';
4
+ export type { default as Parser, ParserOptions } from '../Parser.ts';
5
+ export type { default as File, FileOptions } from '../../../File.ts';
6
+ /**
7
+ * @public
8
+ */
9
+ export interface OpenAPIYAML3_1ParserOptions extends Omit<ParserOptions, 'name'> {
10
+ }
11
+ /**
12
+ * @public
13
+ */
14
+ declare class OpenAPIYAML3_1Parser extends Parser {
15
+ refractorOpts: object;
16
+ constructor(options?: OpenAPIYAML3_1ParserOptions);
17
+ canParse(file: File): Promise<boolean>;
18
+ parse(file: File): Promise<ParseResultElement>;
19
+ }
20
+ export default OpenAPIYAML3_1Parser;
@@ -0,0 +1,20 @@
1
+ import { ParseResultElement } from '@speclynx/apidom-core';
2
+ import Parser, { ParserOptions } from '../Parser.ts';
3
+ import File from '../../../File.ts';
4
+ export type { default as Parser, ParserOptions } from '../Parser.ts';
5
+ export type { default as File, FileOptions } from '../../../File.ts';
6
+ /**
7
+ * @public
8
+ */
9
+ export interface YAMLParserOptions extends Omit<ParserOptions, 'name'> {
10
+ }
11
+ /**
12
+ * @public
13
+ */
14
+ declare class YAML1Parser extends Parser {
15
+ refractorOpts: object;
16
+ constructor(options?: YAMLParserOptions);
17
+ canParse(file: File): Promise<boolean>;
18
+ parse(file: File): Promise<ParseResultElement>;
19
+ }
20
+ export default YAML1Parser;
@@ -0,0 +1,12 @@
1
+ import { Element } from '@speclynx/apidom-core';
2
+ import ReferenceSet from '../ReferenceSet.ts';
3
+ import type { ReferenceOptions } from '../options/index.ts';
4
+ /**
5
+ * Resolves ApiDOM with all its external references.
6
+ */
7
+ export declare const resolveApiDOM: <T extends Element>(element: T, options: ReferenceOptions) => Promise<ReferenceSet>;
8
+ /**
9
+ * Resolves a file with all its external references.
10
+ */
11
+ declare const resolve: (uri: string, options: ReferenceOptions) => Promise<ReferenceSet>;
12
+ export default resolve;
@@ -0,0 +1,22 @@
1
+ import Resolver, { ResolverOptions } from './Resolver.ts';
2
+ import File from '../../File.ts';
3
+ /**
4
+ * @public
5
+ */
6
+ export interface HTTPResolverOptions extends ResolverOptions {
7
+ readonly timeout?: number;
8
+ readonly redirects?: number;
9
+ readonly withCredentials?: boolean;
10
+ }
11
+ /**
12
+ * @public
13
+ */
14
+ declare abstract class HTTPResolver extends Resolver {
15
+ protected readonly timeout: number;
16
+ protected readonly redirects: number;
17
+ protected readonly withCredentials: boolean;
18
+ constructor(options?: HTTPResolverOptions);
19
+ canRead(file: File): boolean;
20
+ abstract getHttpClient(): unknown;
21
+ }
22
+ export default HTTPResolver;
@@ -0,0 +1,17 @@
1
+ import File from '../../File.ts';
2
+ /**
3
+ * @public
4
+ */
5
+ export interface ResolverOptions {
6
+ readonly name: string;
7
+ }
8
+ /**
9
+ * @public
10
+ */
11
+ declare abstract class Resolver {
12
+ readonly name: string;
13
+ constructor({ name }: ResolverOptions);
14
+ abstract canRead(file: File): boolean;
15
+ abstract read(file: File): Promise<Buffer>;
16
+ }
17
+ export default Resolver;
@@ -0,0 +1,12 @@
1
+ import Resolver from '../Resolver.ts';
2
+ export type { default as Resolver, ResolverOptions } from '../Resolver.ts';
3
+ export type { default as File, FileOptions } from '../../../File.ts';
4
+ /**
5
+ * @public
6
+ */
7
+ declare class FileResolver extends Resolver {
8
+ constructor();
9
+ canRead(): boolean;
10
+ read(): Promise<Buffer>;
11
+ }
12
+ export default FileResolver;
@@ -0,0 +1,20 @@
1
+ import File from '../../../File.ts';
2
+ import Resolver, { ResolverOptions } from '../Resolver.ts';
3
+ export type { default as Resolver, ResolverOptions } from '../Resolver.ts';
4
+ export type { default as File, FileOptions } from '../../../File.ts';
5
+ /**
6
+ * @public
7
+ */
8
+ export interface FileResolverOptions extends Omit<ResolverOptions, 'name'> {
9
+ readonly fileAllowList?: string[] | RegExp[];
10
+ }
11
+ /**
12
+ * @public
13
+ */
14
+ declare class FileResolver extends Resolver {
15
+ fileAllowList: string[] | RegExp[];
16
+ constructor(options?: FileResolverOptions);
17
+ canRead(file: File): boolean;
18
+ read(file: File): Promise<Buffer>;
19
+ }
20
+ export default FileResolver;