@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,30 @@
1
+ import { Axios, AxiosInstance, CreateAxiosDefaults } from 'axios';
2
+ import HTTPResolver, { HTTPResolverOptions } from '../HTTPResolver.ts';
3
+ import File from '../../../File.ts';
4
+ export type { default as HTTPResolver, HTTPResolverOptions } from '../HTTPResolver.ts';
5
+ export type { default as Resolver, ResolverOptions } from '../Resolver.ts';
6
+ export type { default as File, FileOptions } from '../../../File.ts';
7
+ /**
8
+ * @public
9
+ */
10
+ export interface HTTPResolverAxiosConfig extends CreateAxiosDefaults {
11
+ interceptors?: Axios['interceptors'];
12
+ }
13
+ /**
14
+ * @public
15
+ */
16
+ export interface HTTPResolverAxiosOptions extends Omit<HTTPResolverOptions, 'name'> {
17
+ readonly axiosConfig?: HTTPResolverAxiosConfig;
18
+ }
19
+ /**
20
+ * @public
21
+ */
22
+ declare class HTTPResolverAxios extends HTTPResolver {
23
+ axiosConfig: HTTPResolverAxiosConfig;
24
+ protected axiosInstance: AxiosInstance;
25
+ protected previousAxiosConfig: HTTPResolverAxiosConfig;
26
+ constructor(options?: HTTPResolverAxiosOptions);
27
+ getHttpClient(): AxiosInstance;
28
+ read(file: File): Promise<Buffer>;
29
+ }
30
+ export default HTTPResolverAxios;
@@ -0,0 +1,19 @@
1
+ import File from '../../File.ts';
2
+ import ReferenceSet from '../../ReferenceSet.ts';
3
+ import type { ReferenceOptions } from '../../options/index.ts';
4
+ /**
5
+ * @public
6
+ */
7
+ export interface ResolveStrategyOptions {
8
+ readonly name: string;
9
+ }
10
+ /**
11
+ * @public
12
+ */
13
+ declare abstract class ResolveStrategy {
14
+ readonly name: string;
15
+ constructor({ name }: ResolveStrategyOptions);
16
+ abstract canResolve(file: File, options: ReferenceOptions): boolean;
17
+ abstract resolve(file: File, options: ReferenceOptions): Promise<ReferenceSet>;
18
+ }
19
+ export default ResolveStrategy;
@@ -0,0 +1,27 @@
1
+ import ResolveStrategy, { ResolveStrategyOptions } from '../ResolveStrategy.ts';
2
+ import ReferenceSet from '../../../ReferenceSet.ts';
3
+ import File from '../../../File.ts';
4
+ import type { ReferenceOptions } from '../../../options/index.ts';
5
+ export type { default as ResolveStrategy, ResolveStrategyOptions } from '../ResolveStrategy.ts';
6
+ export type { default as ReferenceSet, ReferenceSetOptions } from '../../../ReferenceSet.ts';
7
+ export type { default as File, FileOptions } from '../../../File.ts';
8
+ export type { ReferenceOptions as ApiDOMReferenceOptions, ReferenceBundleOptions as ApiDOMReferenceBundleOptions, ReferenceDereferenceOptions as ApiDOMReferenceDereferenceOptions, ReferenceParseOptions as ApiDOMReferenceParseOptions, ReferenceResolveOptions as ApiDOMReferenceResolveOptions, } from '../../../options/index.ts';
9
+ export type { default as Parser, ParserOptions } from '../../../parse/parsers/Parser.ts';
10
+ export type { default as Resolver, ResolverOptions } from '../../resolvers/Resolver.ts';
11
+ export type { default as DereferenceStrategy, DereferenceStrategyOptions, } from '../../../dereference/strategies/DereferenceStrategy.ts';
12
+ export type { default as BundleStrategy, BundleStrategyOptions, } from '../../../bundle/strategies/BundleStrategy.ts';
13
+ export type { default as Reference, ReferenceOptions } from '../../../Reference.ts';
14
+ /**
15
+ * @public
16
+ */
17
+ export interface ApiDOMResolveStrategyOptions extends Omit<ResolveStrategyOptions, 'name'> {
18
+ }
19
+ /**
20
+ * @public
21
+ */
22
+ declare class ApiDOMResolveStrategy extends ResolveStrategy {
23
+ constructor(options?: ApiDOMResolveStrategyOptions);
24
+ canResolve(file: File, options: ReferenceOptions): boolean;
25
+ resolve(file: File, options: ReferenceOptions): Promise<ReferenceSet>;
26
+ }
27
+ export default ApiDOMResolveStrategy;
@@ -0,0 +1,27 @@
1
+ import ResolveStrategy, { ResolveStrategyOptions } from '../ResolveStrategy.ts';
2
+ import ReferenceSet from '../../../ReferenceSet.ts';
3
+ import File from '../../../File.ts';
4
+ import type { ReferenceOptions } from '../../../options/index.ts';
5
+ export type { default as ResolveStrategy, ResolveStrategyOptions } from '../ResolveStrategy.ts';
6
+ export type { default as ReferenceSet, ReferenceSetOptions } from '../../../ReferenceSet.ts';
7
+ export type { default as File, FileOptions } from '../../../File.ts';
8
+ export type { ReferenceOptions as ApiDOMReferenceOptions, ReferenceBundleOptions as ApiDOMReferenceBundleOptions, ReferenceDereferenceOptions as ApiDOMReferenceDereferenceOptions, ReferenceParseOptions as ApiDOMReferenceParseOptions, ReferenceResolveOptions as ApiDOMReferenceResolveOptions, } from '../../../options/index.ts';
9
+ export type { default as Parser, ParserOptions } from '../../../parse/parsers/Parser.ts';
10
+ export type { default as Resolver, ResolverOptions } from '../../resolvers/Resolver.ts';
11
+ export type { default as DereferenceStrategy, DereferenceStrategyOptions, } from '../../../dereference/strategies/DereferenceStrategy.ts';
12
+ export type { default as BundleStrategy, BundleStrategyOptions, } from '../../../bundle/strategies/BundleStrategy.ts';
13
+ export type { default as Reference, ReferenceOptions } from '../../../Reference.ts';
14
+ /**
15
+ * @public
16
+ */
17
+ export interface AsyncAPI2ResolveStrategyOptions extends Omit<ResolveStrategyOptions, 'name'> {
18
+ }
19
+ /**
20
+ * @public
21
+ */
22
+ declare class AsyncAPI2ResolveStrategy extends ResolveStrategy {
23
+ constructor(options?: AsyncAPI2ResolveStrategyOptions);
24
+ canResolve(file: File, options: ReferenceOptions): boolean;
25
+ resolve(file: File, options: ReferenceOptions): Promise<ReferenceSet>;
26
+ }
27
+ export default AsyncAPI2ResolveStrategy;
@@ -0,0 +1,27 @@
1
+ import ResolveStrategy, { ResolveStrategyOptions } from '../ResolveStrategy.ts';
2
+ import ReferenceSet from '../../../ReferenceSet.ts';
3
+ import File from '../../../File.ts';
4
+ import type { ReferenceOptions } from '../../../options/index.ts';
5
+ export type { default as ResolveStrategy, ResolveStrategyOptions } from '../ResolveStrategy.ts';
6
+ export type { default as ReferenceSet, ReferenceSetOptions } from '../../../ReferenceSet.ts';
7
+ export type { default as File, FileOptions } from '../../../File.ts';
8
+ export type { ReferenceOptions as ApiDOMReferenceOptions, ReferenceBundleOptions as ApiDOMReferenceBundleOptions, ReferenceDereferenceOptions as ApiDOMReferenceDereferenceOptions, ReferenceParseOptions as ApiDOMReferenceParseOptions, ReferenceResolveOptions as ApiDOMReferenceResolveOptions, } from '../../../options/index.ts';
9
+ export type { default as Parser, ParserOptions } from '../../../parse/parsers/Parser.ts';
10
+ export type { default as Resolver, ResolverOptions } from '../../resolvers/Resolver.ts';
11
+ export type { default as DereferenceStrategy, DereferenceStrategyOptions, } from '../../../dereference/strategies/DereferenceStrategy.ts';
12
+ export type { default as BundleStrategy, BundleStrategyOptions, } from '../../../bundle/strategies/BundleStrategy.ts';
13
+ export type { default as Reference, ReferenceOptions } from '../../../Reference.ts';
14
+ /**
15
+ * @public
16
+ */
17
+ export interface OpenAPI2ResolveStrategyOptions extends Omit<ResolveStrategyOptions, 'name'> {
18
+ }
19
+ /**
20
+ * @public
21
+ */
22
+ declare class OpenAPI2ResolveStrategy extends ResolveStrategy {
23
+ constructor(options?: OpenAPI2ResolveStrategyOptions);
24
+ canResolve(file: File, options: ReferenceOptions): boolean;
25
+ resolve(file: File, options: ReferenceOptions): Promise<ReferenceSet>;
26
+ }
27
+ export default OpenAPI2ResolveStrategy;
@@ -0,0 +1,27 @@
1
+ import ResolveStrategy, { ResolveStrategyOptions } from '../ResolveStrategy.ts';
2
+ import ReferenceSet from '../../../ReferenceSet.ts';
3
+ import File from '../../../File.ts';
4
+ import type { ReferenceOptions } from '../../../options/index.ts';
5
+ export type { default as ResolveStrategy, ResolveStrategyOptions } from '../ResolveStrategy.ts';
6
+ export type { default as ReferenceSet, ReferenceSetOptions } from '../../../ReferenceSet.ts';
7
+ export type { default as File, FileOptions } from '../../../File.ts';
8
+ export type { ReferenceOptions as ApiDOMReferenceOptions, ReferenceBundleOptions as ApiDOMReferenceBundleOptions, ReferenceDereferenceOptions as ApiDOMReferenceDereferenceOptions, ReferenceParseOptions as ApiDOMReferenceParseOptions, ReferenceResolveOptions as ApiDOMReferenceResolveOptions, } from '../../../options/index.ts';
9
+ export type { default as Parser, ParserOptions } from '../../../parse/parsers/Parser.ts';
10
+ export type { default as Resolver, ResolverOptions } from '../../resolvers/Resolver.ts';
11
+ export type { default as DereferenceStrategy, DereferenceStrategyOptions, } from '../../../dereference/strategies/DereferenceStrategy.ts';
12
+ export type { default as BundleStrategy, BundleStrategyOptions, } from '../../../bundle/strategies/BundleStrategy.ts';
13
+ export type { default as Reference, ReferenceOptions } from '../../../Reference.ts';
14
+ /**
15
+ * @public
16
+ */
17
+ export interface OpenAPI3_0ResolveStrategyOptions extends Omit<ResolveStrategyOptions, 'name'> {
18
+ }
19
+ /**
20
+ * @public
21
+ */
22
+ declare class OpenAPI3_0ResolveStrategy extends ResolveStrategy {
23
+ constructor(options?: OpenAPI3_0ResolveStrategyOptions);
24
+ canResolve(file: File, options: ReferenceOptions): boolean;
25
+ resolve(file: File, options: ReferenceOptions): Promise<ReferenceSet>;
26
+ }
27
+ export default OpenAPI3_0ResolveStrategy;
@@ -0,0 +1,27 @@
1
+ import ResolveStrategy, { ResolveStrategyOptions } from '../ResolveStrategy.ts';
2
+ import ReferenceSet from '../../../ReferenceSet.ts';
3
+ import File from '../../../File.ts';
4
+ import type { ReferenceOptions } from '../../../options/index.ts';
5
+ export type { default as ResolveStrategy, ResolveStrategyOptions } from '../ResolveStrategy.ts';
6
+ export type { default as ReferenceSet, ReferenceSetOptions } from '../../../ReferenceSet.ts';
7
+ export type { default as File, FileOptions } from '../../../File.ts';
8
+ export type { ReferenceOptions as ApiDOMReferenceOptions, ReferenceBundleOptions as ApiDOMReferenceBundleOptions, ReferenceDereferenceOptions as ApiDOMReferenceDereferenceOptions, ReferenceParseOptions as ApiDOMReferenceParseOptions, ReferenceResolveOptions as ApiDOMReferenceResolveOptions, } from '../../../options/index.ts';
9
+ export type { default as Parser, ParserOptions } from '../../../parse/parsers/Parser.ts';
10
+ export type { default as Resolver, ResolverOptions } from '../../resolvers/Resolver.ts';
11
+ export type { default as DereferenceStrategy, DereferenceStrategyOptions, } from '../../../dereference/strategies/DereferenceStrategy.ts';
12
+ export type { default as BundleStrategy, BundleStrategyOptions, } from '../../../bundle/strategies/BundleStrategy.ts';
13
+ export type { default as Reference, ReferenceOptions } from '../../../Reference.ts';
14
+ /**
15
+ * @public
16
+ */
17
+ export interface OpenAPI3_1ResolveStrategyOptions extends Omit<ResolveStrategyOptions, 'name'> {
18
+ }
19
+ /**
20
+ * @public
21
+ */
22
+ declare class OpenAPI3_1ResolveStrategy extends ResolveStrategy {
23
+ constructor(options?: OpenAPI3_1ResolveStrategyOptions);
24
+ canResolve(file: File, options: ReferenceOptions): boolean;
25
+ resolve(file: File, options: ReferenceOptions): Promise<ReferenceSet>;
26
+ }
27
+ export default OpenAPI3_1ResolveStrategy;
@@ -0,0 +1,6 @@
1
+ import File from '../File.ts';
2
+ import type { ReferenceOptions } from '../options/index.ts';
3
+ /**
4
+ * Reads the given file, using the configured resolver plugins.
5
+ */
6
+ export declare const readFile: (file: File, options: ReferenceOptions) => Promise<Buffer>;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Filters the given plugins, returning only the ones return `true` for the given method.
3
+ */
4
+ export declare const filter: (method: string, parameters: any[], plugins: Array<any>) => Promise<Array<any>>;
5
+ /**
6
+ * Runs the specified method of the given plugins, in order,
7
+ * until one of them returns a successful result.
8
+ * Each method can return a synchronous value or a Promise.
9
+ * If the promise resolves successfully then the result
10
+ * is immediately returned and no further plugins are called.
11
+ * If the promise rejects then the next plugin is called.
12
+ * If ALL plugins fail, then the last error is thrown.
13
+ */
14
+ export declare const run: (method: string, parameters: any[], plugins: any[]) => Promise<any>;
@@ -0,0 +1,106 @@
1
+ /**
2
+ * SPDX-FileCopyrightText: Copyright (c) 2015 James Messinger
3
+ *
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ /**
7
+ * @public
8
+ */
9
+ export type WindowsPredicate = () => boolean;
10
+ /**
11
+ * Returns the protocol of the given URL, or `undefined` if it has no protocol.
12
+ * @public
13
+ */
14
+ export declare const getProtocol: (url: string) => string | undefined;
15
+ /**
16
+ * Returns true if given URL has protocol.
17
+ * @public
18
+ */
19
+ export declare const hasProtocol: (url: string) => boolean;
20
+ /**
21
+ * Returns the lower-cased file extension of the given URL,
22
+ * or an empty string if it has no extension.
23
+ * @public
24
+ */
25
+ export declare const getExtension: (url: string) => string;
26
+ /**
27
+ * Determines whether the given path is a filesystem path.
28
+ * This includes "file://" URLs.
29
+ * @public
30
+ */
31
+ export declare const isFileSystemPath: (uri: string) => boolean;
32
+ /**
33
+ * Determines whether the given URI is an HTTP(S) URL.
34
+ * @public
35
+ */
36
+ export declare const isHttpUrl: (url: string) => boolean;
37
+ /**
38
+ * Determines whether the given URI
39
+ * @public
40
+ */
41
+ export declare const isURI: (uri: string) => boolean;
42
+ /**
43
+ * @public
44
+ */
45
+ export interface ToFileSystemPathOptions {
46
+ keepFileProtocol?: boolean;
47
+ isWindows?: WindowsPredicate;
48
+ }
49
+ /**
50
+ * Converts a URL to a local filesystem path.
51
+ * @public
52
+ */
53
+ export declare const toFileSystemPath: (uri: string, options?: ToFileSystemPathOptions) => string;
54
+ /**
55
+ * Converts a filesystem path to a properly-encoded URL.
56
+ *
57
+ * This is intended to handle situations where resolver is called
58
+ * with a filesystem path that contains characters which are not allowed in URLs.
59
+ *
60
+ * @example
61
+ * The following filesystem paths would be converted to the following URLs:
62
+ *```
63
+ * <"!@#$%^&*+=?'>.json ==> %3C%22!@%23$%25%5E&*+=%3F\'%3E.json
64
+ * C:\\My Documents\\File (1).json ==> C:/My%20Documents/File%20(1).json
65
+ * file://Project #42/file.json ==> file://Project%20%2342/file.json
66
+ * ```
67
+ * @public
68
+ */
69
+ export declare const fromFileSystemPath: (uri: string) => string;
70
+ /**
71
+ * Returns the hash (URL fragment), of the given path.
72
+ * If there is no hash, then the root hash ("#") is returned.
73
+ * @public
74
+ */
75
+ export declare const getHash: (uri: string) => string;
76
+ /**
77
+ * Removes the hash (URL fragment), if any, from the given path.
78
+ * @public
79
+ */
80
+ export declare const stripHash: (uri: string) => string;
81
+ /**
82
+ * Returns the current working directory (in Node) or the current page URL (in browsers).
83
+ * @public
84
+ */
85
+ export declare const cwd: () => string;
86
+ /**
87
+ * Resolves a target URI relative to a base URI in a manner similar to that of a Web browser resolving an anchor tag HREF.
88
+ * @public
89
+ */
90
+ export declare const resolve: (from: string, to: string) => string;
91
+ /**
92
+ * Sanitizes/Encodes URI to it's url encoded form.
93
+ *
94
+ * The functional will compensate with the usecase when
95
+ * already sanitized URI is passed to it,
96
+ * by first unsatizing it and then performing sanitization again.
97
+ * @public
98
+ */
99
+ export declare const sanitize: (uri: string) => string;
100
+ /**
101
+ * Unsanitizes/Decodes URI to it's url encoded form.
102
+ * This function already assumes that hash part of the URI
103
+ * has been removed prior to transforming it to it's sanitized form.
104
+ * @public
105
+ */
106
+ export declare const unsanitize: (uri: string) => string;