@speclynx/apidom-reference 4.10.1 → 4.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/README.md +215 -3
- package/dist/apidom-reference.browser.js +1515 -191
- package/dist/apidom-reference.browser.min.js +1 -1
- package/package.json +36 -31
- package/src/File.cjs +3 -1
- package/src/Reference.cjs +3 -1
- package/src/ReferenceSet.cjs +3 -1
- package/src/bundle/index.cjs +9 -1
- package/src/bundle/index.mjs +6 -0
- package/src/bundle/strategies/BundleStrategy.cjs +3 -1
- package/src/bundle/strategies/openapi-3-0/index.cjs +94 -0
- package/src/bundle/strategies/openapi-3-0/index.mjs +81 -0
- package/src/bundle/strategies/openapi-3-0/visitor.cjs +650 -0
- package/src/bundle/strategies/openapi-3-0/visitor.mjs +642 -0
- package/src/bundle/strategies/openapi-3-1/index.cjs +3 -1
- package/src/bundle/util.cjs +42 -0
- package/src/bundle/util.mjs +33 -0
- package/src/configuration/empty.cjs +9 -2
- package/src/configuration/saturated.cjs +19 -11
- package/src/configuration/saturated.mjs +2 -1
- package/src/dereference/index.cjs +3 -1
- package/src/dereference/strategies/DereferenceStrategy.cjs +3 -1
- package/src/dereference/strategies/apidom/index.cjs +9 -2
- package/src/dereference/strategies/apidom/selectors/element-id.cjs +9 -2
- package/src/dereference/strategies/apidom/visitor.cjs +3 -1
- package/src/dereference/strategies/arazzo-1/index.cjs +35 -8
- package/src/dereference/strategies/arazzo-1/index.mjs +1 -1
- package/src/dereference/strategies/arazzo-1/selectors/$anchor.cjs +46 -10
- package/src/dereference/strategies/arazzo-1/selectors/uri.cjs +22 -6
- package/src/dereference/strategies/arazzo-1/source-descriptions.cjs +3 -1
- package/src/dereference/strategies/arazzo-1/util.cjs +16 -4
- package/src/dereference/strategies/arazzo-1/visitor.cjs +4 -2
- package/src/dereference/strategies/arazzo-1/visitor.mjs +1 -1
- package/src/dereference/strategies/asyncapi-2/index.cjs +10 -3
- package/src/dereference/strategies/asyncapi-2/index.mjs +1 -1
- package/src/dereference/strategies/asyncapi-2/visitor.cjs +5 -3
- package/src/dereference/strategies/asyncapi-2/visitor.mjs +2 -2
- package/src/dereference/strategies/openapi-2/index.cjs +10 -3
- package/src/dereference/strategies/openapi-2/index.mjs +1 -1
- package/src/dereference/strategies/openapi-2/visitor.cjs +6 -4
- package/src/dereference/strategies/openapi-2/visitor.mjs +3 -3
- package/src/dereference/strategies/openapi-3-0/index.cjs +10 -3
- package/src/dereference/strategies/openapi-3-0/index.mjs +1 -1
- package/src/dereference/strategies/openapi-3-0/visitor.cjs +5 -3
- package/src/dereference/strategies/openapi-3-0/visitor.mjs +2 -2
- package/src/dereference/strategies/openapi-3-1/index.cjs +29 -7
- package/src/dereference/strategies/openapi-3-1/index.mjs +1 -1
- package/src/dereference/strategies/openapi-3-1/selectors/$anchor.cjs +22 -5
- package/src/dereference/strategies/openapi-3-1/selectors/uri.cjs +16 -4
- package/src/dereference/strategies/openapi-3-1/util.cjs +3 -1
- package/src/dereference/strategies/openapi-3-1/visitor.cjs +6 -4
- package/src/dereference/strategies/openapi-3-1/visitor.mjs +3 -3
- package/src/dereference/strategies/overlay-1/extends.cjs +3 -1
- package/src/dereference/strategies/overlay-1/index.cjs +9 -2
- package/src/dereference/util.cjs +3 -1
- package/src/errors/BundleError.cjs +4 -2
- package/src/errors/BundleError.mjs +2 -2
- package/src/errors/DereferenceError.cjs +3 -1
- package/src/errors/EvaluationElementIdError.cjs +3 -1
- package/src/errors/EvaluationJsonSchema$anchorError.cjs +3 -1
- package/src/errors/EvaluationJsonSchemaUriError.cjs +3 -1
- package/src/errors/InvalidJsonSchema$anchorError.cjs +3 -1
- package/src/errors/JsonSchema$anchorError.cjs +3 -1
- package/src/errors/JsonSchemaUriError.cjs +3 -1
- package/src/errors/MaximumBundleDepthError.cjs +3 -1
- package/src/errors/MaximumDereferenceDepthError.cjs +3 -1
- package/src/errors/MaximumResolveDepthError.cjs +3 -1
- package/src/errors/ParseError.cjs +3 -1
- package/src/errors/ParserError.cjs +3 -1
- package/src/errors/PluginError.cjs +3 -1
- package/src/errors/ResolveError.cjs +3 -1
- package/src/errors/ResolverError.cjs +3 -1
- package/src/errors/UnmatchedBundleStrategyError.cjs +3 -1
- package/src/errors/UnmatchedDereferenceStrategyError.cjs +3 -1
- package/src/errors/UnmatchedParserError.cjs +3 -1
- package/src/errors/UnmatchedResolveStrategyError.cjs +3 -1
- package/src/errors/UnmatchedResolverError.cjs +3 -1
- package/src/errors/UnresolvableReferenceError.cjs +8 -3
- package/src/errors/UnresolvableReferenceError.mjs +5 -2
- package/src/index.cjs +209 -36
- package/src/options/index.cjs +71 -2
- package/src/options/index.mjs +68 -1
- package/src/options/util.cjs +3 -1
- package/src/parse/index.cjs +3 -1
- package/src/parse/parsers/Parser.cjs +3 -1
- package/src/parse/parsers/apidom-json/index.cjs +3 -1
- package/src/parse/parsers/arazzo-json-1/index.cjs +9 -2
- package/src/parse/parsers/arazzo-json-1/source-descriptions.cjs +3 -1
- package/src/parse/parsers/arazzo-yaml-1/index.cjs +9 -2
- package/src/parse/parsers/arazzo-yaml-1/source-descriptions.cjs +3 -1
- package/src/parse/parsers/asyncapi-json-2/index.cjs +3 -1
- package/src/parse/parsers/asyncapi-yaml-2/index.cjs +3 -1
- package/src/parse/parsers/binary/index-browser.cjs +3 -1
- package/src/parse/parsers/binary/index-node.cjs +3 -1
- package/src/parse/parsers/json/index.cjs +3 -1
- package/src/parse/parsers/openapi-json-2/index.cjs +3 -1
- package/src/parse/parsers/openapi-json-3-0/index.cjs +3 -1
- package/src/parse/parsers/openapi-json-3-1/index.cjs +3 -1
- package/src/parse/parsers/openapi-yaml-2/index.cjs +3 -1
- package/src/parse/parsers/openapi-yaml-3-0/index.cjs +3 -1
- package/src/parse/parsers/openapi-yaml-3-1/index.cjs +3 -1
- package/src/parse/parsers/overlay-json-1/extends.cjs +3 -1
- package/src/parse/parsers/overlay-json-1/index.cjs +9 -2
- package/src/parse/parsers/overlay-yaml-1/extends.cjs +10 -4
- package/src/parse/parsers/overlay-yaml-1/index.cjs +9 -2
- package/src/parse/parsers/yaml-1-2/index.cjs +3 -1
- package/src/resolve/index.cjs +3 -1
- package/src/resolve/resolvers/HTTPResolver.cjs +3 -1
- package/src/resolve/resolvers/Resolver.cjs +3 -1
- package/src/resolve/resolvers/file/index-browser.cjs +3 -1
- package/src/resolve/resolvers/file/index-node.cjs +3 -1
- package/src/resolve/resolvers/http-axios/cache/MemoryCache.cjs +3 -1
- package/src/resolve/resolvers/http-axios/index.cjs +3 -1
- package/src/resolve/strategies/ResolveStrategy.cjs +3 -1
- package/src/resolve/strategies/apidom/index.cjs +3 -1
- package/src/resolve/strategies/arazzo-1/index.cjs +3 -1
- package/src/resolve/strategies/asyncapi-2/index.cjs +3 -1
- package/src/resolve/strategies/openapi-2/index.cjs +3 -1
- package/src/resolve/strategies/openapi-3-0/index.cjs +3 -1
- package/src/resolve/strategies/openapi-3-1/index.cjs +3 -1
- package/src/resolve/strategies/overlay-1/index.cjs +3 -1
- package/src/resolve/util.cjs +3 -1
- package/src/util/plugins.cjs +3 -1
- package/src/util/url.cjs +3 -1
- package/types/apidom-reference.d.ts +41 -2
- package/types/bundle/strategies/openapi-3-0/index.d.ts +31 -0
- package/types/bundle/strategies/openapi-3-0/visitor.d.ts +131 -0
- package/types/bundle/util.d.ts +22 -0
- package/types/errors/BundleError.d.ts +2 -2
- package/types/errors/UnresolvableReferenceError.d.ts +5 -2
- package/types/index.d.ts +1 -0
- package/types/options/index.d.ts +33 -1
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import ResolveError from './ResolveError.ts';
|
|
2
2
|
/**
|
|
3
|
+
* Thrown when a reference cannot be resolved. Resolution is shared by the
|
|
4
|
+
* dereference and bundle components, so this error lives under `ResolveError`.
|
|
5
|
+
*
|
|
3
6
|
* @public
|
|
4
7
|
*/
|
|
5
|
-
declare class UnresolvableReferenceError extends
|
|
8
|
+
declare class UnresolvableReferenceError extends ResolveError {
|
|
6
9
|
}
|
|
7
10
|
export default UnresolvableReferenceError;
|
package/types/index.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export type { DereferenceStrategyOptions } from './dereference/strategies/Derefe
|
|
|
16
16
|
export { AncestorLineage as DereferenceAncestorLineage } from './dereference/util.ts';
|
|
17
17
|
export { default as BundleStrategy } from './bundle/strategies/BundleStrategy.ts';
|
|
18
18
|
export type { BundleStrategyOptions } from './bundle/strategies/BundleStrategy.ts';
|
|
19
|
+
export type { ComponentNamesStrategy, ComponentNameResolver, ComponentNameResolverArgs, ComponentNameCollisionSeverity, } from './options/index.ts';
|
|
19
20
|
export { default as options } from './options/index.ts';
|
|
20
21
|
export { merge as mergeOptions } from './options/util.ts';
|
|
21
22
|
export type { ReferenceOptions as ApiDOMReferenceOptions, ReferenceBundleOptions as ApiDOMReferenceBundleOptions, ReferenceDereferenceOptions as ApiDOMReferenceDereferenceOptions, ReferenceParseOptions as ApiDOMReferenceParseOptions, ReferenceResolveOptions as ApiDOMReferenceResolveOptions, } from './options/index.ts';
|
package/types/options/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { RefElement } from '@speclynx/apidom-datamodel';
|
|
1
|
+
import type { RefElement, Element } from '@speclynx/apidom-datamodel';
|
|
2
2
|
import type Parser from '../parse/parsers/Parser.ts';
|
|
3
3
|
import type Resolver from '../resolve/resolvers/Resolver.ts';
|
|
4
4
|
import type ResolveStrategy from '../resolve/strategies/ResolveStrategy.ts';
|
|
@@ -40,13 +40,45 @@ export interface ReferenceDereferenceOptions {
|
|
|
40
40
|
immutable: boolean;
|
|
41
41
|
continueOnError: boolean | ((error: UnresolvableReferenceError) => void);
|
|
42
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Context passed to a custom component-name resolver.
|
|
45
|
+
*
|
|
46
|
+
* @public
|
|
47
|
+
*/
|
|
48
|
+
export interface ComponentNameResolverArgs {
|
|
49
|
+
/** The refracted element being hoisted. */
|
|
50
|
+
readonly element: Element;
|
|
51
|
+
/** The Components Object field the element is hoisted into (e.g. `schemas`). */
|
|
52
|
+
readonly field: string;
|
|
53
|
+
/** The JSON Pointer of the referenced fragment within its document. */
|
|
54
|
+
readonly jsonPointer: string;
|
|
55
|
+
/** The base URI (without hash) of the referenced document. */
|
|
56
|
+
readonly baseURI: string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* @public
|
|
60
|
+
*/
|
|
61
|
+
export type ComponentNameResolver = (args: ComponentNameResolverArgs) => string;
|
|
62
|
+
/**
|
|
63
|
+
* @public
|
|
64
|
+
*/
|
|
65
|
+
export type ComponentNamesStrategy = 'basename' | 'title' | ComponentNameResolver;
|
|
66
|
+
/**
|
|
67
|
+
* @public
|
|
68
|
+
*/
|
|
69
|
+
export type ComponentNameCollisionSeverity = 'off' | 'warn' | 'error';
|
|
43
70
|
/**
|
|
44
71
|
* @public
|
|
45
72
|
*/
|
|
46
73
|
export interface ReferenceBundleOptions {
|
|
47
74
|
strategies: Array<BundleStrategy>;
|
|
75
|
+
strategyOpts: Record<string, any>;
|
|
48
76
|
refSet: null | ReferenceSet;
|
|
49
77
|
maxDepth: number;
|
|
78
|
+
immutable: boolean;
|
|
79
|
+
componentNamesStrategy: ComponentNamesStrategy;
|
|
80
|
+
onComponentNameCollision: ComponentNameCollisionSeverity;
|
|
81
|
+
continueOnError: boolean | ((error: UnresolvableReferenceError) => void);
|
|
50
82
|
}
|
|
51
83
|
/**
|
|
52
84
|
* @public
|