@lapidist/dtif-parser 0.5.0 → 1.0.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 +56 -0
- package/README.md +24 -6
- package/dist/adapters/domain/diagnostics.d.ts +7 -0
- package/dist/adapters/domain/diagnostics.d.ts.map +1 -0
- package/dist/adapters/domain/diagnostics.js +30 -0
- package/dist/adapters/domain/diagnostics.js.map +1 -0
- package/dist/adapters/domain/document-source.d.ts +12 -0
- package/dist/adapters/domain/document-source.d.ts.map +1 -0
- package/dist/adapters/domain/document-source.js +96 -0
- package/dist/adapters/domain/document-source.js.map +1 -0
- package/dist/adapters/domain/index.d.ts +8 -0
- package/dist/adapters/domain/index.d.ts.map +1 -0
- package/dist/adapters/domain/index.js +5 -0
- package/dist/adapters/domain/index.js.map +1 -0
- package/dist/adapters/domain/plugins.d.ts +20 -0
- package/dist/adapters/domain/plugins.d.ts.map +1 -0
- package/dist/adapters/domain/plugins.js +99 -0
- package/dist/adapters/domain/plugins.js.map +1 -0
- package/dist/adapters/domain/services.d.ts +82 -0
- package/dist/adapters/domain/services.d.ts.map +1 -0
- package/dist/adapters/domain/services.js +368 -0
- package/dist/adapters/domain/services.js.map +1 -0
- package/dist/adapters/node/token-parser.d.ts +7 -6
- package/dist/adapters/node/token-parser.d.ts.map +1 -1
- package/dist/adapters/node/token-parser.js +4 -4
- package/dist/adapters/node/token-parser.js.map +1 -1
- package/dist/application/factory.d.ts +14 -0
- package/dist/application/factory.d.ts.map +1 -0
- package/dist/application/factory.js +81 -0
- package/dist/application/factory.js.map +1 -0
- package/dist/application/index.d.ts +6 -0
- package/dist/application/index.d.ts.map +1 -0
- package/dist/application/index.js +4 -0
- package/dist/application/index.js.map +1 -0
- package/dist/application/inline.d.ts +6 -0
- package/dist/application/inline.d.ts.map +1 -0
- package/dist/application/inline.js +82 -0
- package/dist/application/inline.js.map +1 -0
- package/dist/application/requests.d.ts +12 -0
- package/dist/application/requests.d.ts.map +1 -0
- package/dist/application/requests.js +82 -0
- package/dist/application/requests.js.map +1 -0
- package/dist/application/use-cases.d.ts +61 -0
- package/dist/application/use-cases.d.ts.map +1 -0
- package/dist/application/use-cases.js +545 -0
- package/dist/application/use-cases.js.map +1 -0
- package/dist/ast/normaliser/context.d.ts +7 -6
- package/dist/ast/normaliser/context.d.ts.map +1 -1
- package/dist/ast/normaliser/context.js +1 -1
- package/dist/ast/normaliser/context.js.map +1 -1
- package/dist/ast/normaliser/document.js +1 -1
- package/dist/ast/normaliser/document.js.map +1 -1
- package/dist/ast/normaliser.d.ts +2 -2
- package/dist/ast/normaliser.d.ts.map +1 -1
- package/dist/ast/normaliser.js.map +1 -1
- package/dist/cli/parse.d.ts.map +1 -1
- package/dist/cli/parse.js +29 -12
- package/dist/cli/parse.js.map +1 -1
- package/dist/cli/serialize.d.ts +3 -4
- package/dist/cli/serialize.d.ts.map +1 -1
- package/dist/cli/serialize.js +19 -5
- package/dist/cli/serialize.js.map +1 -1
- package/dist/diagnostics/format.d.ts +7 -0
- package/dist/diagnostics/format.d.ts.map +1 -0
- package/dist/diagnostics/format.js +94 -0
- package/dist/diagnostics/format.js.map +1 -0
- package/dist/domain/index.d.ts +5 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/index.js +5 -0
- package/dist/domain/index.js.map +1 -0
- package/dist/domain/models.d.ts +88 -0
- package/dist/domain/models.d.ts.map +1 -0
- package/dist/domain/models.js +2 -0
- package/dist/domain/models.js.map +1 -0
- package/dist/domain/ports.d.ts +69 -0
- package/dist/domain/ports.d.ts.map +1 -0
- package/dist/domain/ports.js +2 -0
- package/dist/domain/ports.js.map +1 -0
- package/dist/domain/primitives.d.ts +17 -0
- package/dist/domain/primitives.d.ts.map +1 -0
- package/dist/domain/primitives.js +2 -0
- package/dist/domain/primitives.js.map +1 -0
- package/dist/domain/services.d.ts +35 -0
- package/dist/domain/services.d.ts.map +1 -0
- package/dist/domain/services.js +2 -0
- package/dist/domain/services.js.map +1 -0
- package/dist/index.d.ts +10 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/io/decoder.d.ts +3 -2
- package/dist/io/decoder.d.ts.map +1 -1
- package/dist/io/decoder.js +14 -8
- package/dist/io/decoder.js.map +1 -1
- package/dist/io/document-cache.d.ts +3 -2
- package/dist/io/document-cache.d.ts.map +1 -1
- package/dist/io/document-cache.js +8 -5
- package/dist/io/document-cache.js.map +1 -1
- package/dist/plugins/registry.d.ts +3 -2
- package/dist/plugins/registry.d.ts.map +1 -1
- package/dist/plugins/registry.js.map +1 -1
- package/dist/plugins/types.d.ts +8 -8
- package/dist/plugins/types.d.ts.map +1 -1
- package/dist/resolver/document-resolver.d.ts +1 -1
- package/dist/resolver/document-resolver.d.ts.map +1 -1
- package/dist/resolver/document-resolver.js +22 -30
- package/dist/resolver/document-resolver.js.map +1 -1
- package/dist/resolver/internal/constants.d.ts +3 -3
- package/dist/resolver/internal/constants.d.ts.map +1 -1
- package/dist/resolver/internal/constants.js.map +1 -1
- package/dist/resolver/internal/context.d.ts +1 -1
- package/dist/resolver/internal/context.d.ts.map +1 -1
- package/dist/resolver/internal/diagnostics.d.ts +8 -0
- package/dist/resolver/internal/diagnostics.d.ts.map +1 -0
- package/dist/resolver/internal/diagnostics.js +21 -0
- package/dist/resolver/internal/diagnostics.js.map +1 -0
- package/dist/resolver/internal/helpers.d.ts +7 -6
- package/dist/resolver/internal/helpers.d.ts.map +1 -1
- package/dist/resolver/internal/helpers.js.map +1 -1
- package/dist/resolver/internal/resolved-token.d.ts +4 -3
- package/dist/resolver/internal/resolved-token.d.ts.map +1 -1
- package/dist/resolver/internal/resolved-token.js.map +1 -1
- package/dist/resolver/types.d.ts +6 -5
- package/dist/resolver/types.d.ts.map +1 -1
- package/dist/session/internal/options.d.ts +2 -2
- package/dist/session/internal/options.d.ts.map +1 -1
- package/dist/session/internal/options.js +1 -1
- package/dist/session/internal/options.js.map +1 -1
- package/dist/session/types.d.ts +2 -2
- package/dist/session/types.d.ts.map +1 -1
- package/dist/session.d.ts +13 -8
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +12 -167
- package/dist/session.js.map +1 -1
- package/dist/tokens/cache.d.ts +24 -20
- package/dist/tokens/cache.d.ts.map +1 -1
- package/dist/tokens/cache.js +25 -24
- package/dist/tokens/cache.js.map +1 -1
- package/dist/tokens/inputs.d.ts +16 -0
- package/dist/tokens/inputs.d.ts.map +1 -0
- package/dist/tokens/inputs.js +180 -0
- package/dist/tokens/inputs.js.map +1 -0
- package/dist/tokens/parse-tokens.d.ts +12 -15
- package/dist/tokens/parse-tokens.d.ts.map +1 -1
- package/dist/tokens/parse-tokens.js +57 -444
- package/dist/tokens/parse-tokens.js.map +1 -1
- package/dist/tokens/snapshots.d.ts +2 -2
- package/dist/tokens/snapshots.d.ts.map +1 -1
- package/dist/tokens/snapshots.js.map +1 -1
- package/dist/tokens/types.d.ts +1 -34
- package/dist/tokens/types.d.ts.map +1 -1
- package/dist/types.d.ts +13 -58
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/bytes.d.ts +2 -0
- package/dist/utils/bytes.d.ts.map +1 -0
- package/dist/utils/bytes.js +15 -0
- package/dist/utils/bytes.js.map +1 -0
- package/dist/validation/schema-guard.d.ts +3 -3
- package/dist/validation/schema-guard.d.ts.map +1 -1
- package/dist/validation/schema-guard.js +1 -1
- package/dist/validation/schema-guard.js.map +1 -1
- package/package.json +3 -3
- package/dist/diagnostics/bag.d.ts +0 -26
- package/dist/diagnostics/bag.d.ts.map +0 -1
- package/dist/diagnostics/bag.js +0 -106
- package/dist/diagnostics/bag.js.map +0 -1
- package/dist/tokens/diagnostics.d.ts +0 -5
- package/dist/tokens/diagnostics.d.ts.map +0 -1
- package/dist/tokens/diagnostics.js +0 -124
- package/dist/tokens/diagnostics.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
export * as domain from './domain/index.js';
|
|
2
|
+
export * as domainAdapters from './adapters/domain/index.js';
|
|
3
|
+
export * as application from './application/index.js';
|
|
1
4
|
export { normalizeDocument } from './ast/normaliser.js';
|
|
2
5
|
export type { NormaliserResult, NormaliserOptions } from './ast/normaliser.js';
|
|
3
6
|
export type { AliasNode, AstField, CollectionNode, DocumentAst, DocumentChildNode, NodeMetadata, OverrideFallbackNode, OverrideNode, TokenNode } from './ast/nodes.js';
|
|
@@ -8,7 +11,6 @@ export type { DocumentResolverOptions, ResolutionResult, ResolvedToken, Resoluti
|
|
|
8
11
|
export { buildDocumentGraph } from './graph/builder.js';
|
|
9
12
|
export type { GraphBuilderResult } from './graph/builder.js';
|
|
10
13
|
export type { GraphNode, GraphNodeBase, GraphCollectionNode, GraphTokenNode, GraphAliasNode, GraphReferenceField, GraphReferenceTarget, GraphOverrideNode, GraphOverrideFallbackNode } from './graph/nodes.js';
|
|
11
|
-
export { DiagnosticBag } from './diagnostics/bag.js';
|
|
12
14
|
export { DiagnosticCodes, DiagnosticDomain, type DiagnosticDomainKey, type DiagnosticDomainValue, formatDiagnosticCode, isDiagnosticCode } from './diagnostics/codes.js';
|
|
13
15
|
export { DIAGNOSTIC_SEVERITIES, compareDiagnosticSeverity, isDiagnosticSeverity, maxDiagnosticSeverity, minDiagnosticSeverity, severityWeight } from './diagnostics/severity.js';
|
|
14
16
|
export { DefaultDocumentLoader, DocumentLoaderError } from './io/document-loader.js';
|
|
@@ -17,20 +19,22 @@ export { InMemoryDocumentCache } from './io/document-cache.js';
|
|
|
17
19
|
export type { InMemoryDocumentCacheOptions } from './io/document-cache.js';
|
|
18
20
|
export { SchemaGuard } from './validation/schema-guard.js';
|
|
19
21
|
export type { SchemaGuardOptions, SchemaGuardResult } from './validation/schema-guard.js';
|
|
20
|
-
export type { ContentType, Diagnostic, DocumentCache, DocumentGraph, DocumentHandle, JsonPointer,
|
|
22
|
+
export type { ContentType, Diagnostic, DocumentCache, DocumentGraph, DocumentHandle, JsonPointer, ParseInput, ParseInputRecord, ParseDataInputRecord, RawDocument, RelatedInformation, SourceMap, SourcePosition, SourceSpan } from './types.js';
|
|
21
23
|
export type { DiagnosticSeverity, DiagnosticCode } from './types.js';
|
|
24
|
+
export type { ParseDocumentResult, ParseCollectionResult } from './session.js';
|
|
22
25
|
export { JSON_POINTER_ROOT, appendJsonPointer, decodeJsonPointerSegment, encodeJsonPointerSegment, isJsonPointer, joinJsonPointer, jsonPointerStartsWith, normalizeJsonPointer, parentJsonPointer, splitJsonPointer, tailJsonPointer } from './utils/json-pointer.js';
|
|
23
26
|
export { ZERO_SOURCE_POSITION, cloneSourcePosition, cloneSourceSpan, compareSourcePositions, createSourcePosition, createSourceSpan, isSourcePosition, isSourceSpan, maxSourcePosition, minSourcePosition, spanContainsPosition, spanLength, spansOverlap, translateSourceSpan, unionSourceSpans } from './utils/source.js';
|
|
24
27
|
export { PluginRegistry, createPluginRegistry } from './plugins/index.js';
|
|
25
28
|
export type { ParserPlugin, ExtensionHandler, ExtensionHandlerResult, ExtensionHandlerInput, ExtensionEvaluation, ResolvedTokenTransform, ResolvedTokenTransformContext, ResolvedTokenTransformResult, ResolvedTokenTransformEvaluation } from './plugins/index.js';
|
|
26
|
-
export {
|
|
27
|
-
export type {
|
|
29
|
+
export { formatDiagnostic } from './diagnostics/format.js';
|
|
30
|
+
export type { TokenId, TokenPointer, TokenMetadataSnapshot, ResolvedTokenView, TokenType, JsonValue, DtifFlattenedToken } from './tokens/types.js';
|
|
31
|
+
export type { FormatDiagnosticOptions } from './diagnostics/format.js';
|
|
28
32
|
export { parseTokens, parseTokensSync } from './tokens/parse-tokens.js';
|
|
29
33
|
export type { ParseTokensInput, ParseTokensOptions, ParseTokensResult } from './tokens/parse-tokens.js';
|
|
30
34
|
export { createMetadataSnapshot, createResolutionSnapshot } from './tokens/snapshots.js';
|
|
31
35
|
export { flattenTokens } from './tokens/flatten.js';
|
|
32
|
-
export {
|
|
33
|
-
export type {
|
|
36
|
+
export { InMemoryTokenCache, createTokenCache } from './tokens/cache.js';
|
|
37
|
+
export type { TokenCache, TokenCacheSnapshot, TokenCacheKey, TokenCacheConfiguration, TokenCacheVariantOverrides, InMemoryTokenCacheOptions } from './tokens/cache.js';
|
|
34
38
|
export { parseTokensFromFile, readTokensFile, DtifTokenParseError } from './adapters/node/token-parser.js';
|
|
35
39
|
export type { NodeParseTokensOptions } from './adapters/node/token-parser.js';
|
|
36
40
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,YAAY,EACV,SAAS,EACT,QAAQ,EACR,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,YAAY,EACZ,SAAS,EACV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3F,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEzE,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,YAAY,EACV,uBAAuB,EACvB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,YAAY,EACV,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
export * as domain from './domain/index.js';
|
|
2
|
+
export * as domainAdapters from './adapters/domain/index.js';
|
|
3
|
+
export * as application from './application/index.js';
|
|
1
4
|
export { normalizeDocument } from './ast/normaliser.js';
|
|
2
5
|
export { ParseSession, createSession, parseCollection, parseDocument } from './session.js';
|
|
3
6
|
export { createDocumentResolver, DocumentResolver } from './resolver/index.js';
|
|
4
7
|
export { buildDocumentGraph } from './graph/builder.js';
|
|
5
|
-
export { DiagnosticBag } from './diagnostics/bag.js';
|
|
6
8
|
export { DiagnosticCodes, DiagnosticDomain, formatDiagnosticCode, isDiagnosticCode } from './diagnostics/codes.js';
|
|
7
9
|
export { DIAGNOSTIC_SEVERITIES, compareDiagnosticSeverity, isDiagnosticSeverity, maxDiagnosticSeverity, minDiagnosticSeverity, severityWeight } from './diagnostics/severity.js';
|
|
8
10
|
export { DefaultDocumentLoader, DocumentLoaderError } from './io/document-loader.js';
|
|
@@ -11,10 +13,10 @@ export { SchemaGuard } from './validation/schema-guard.js';
|
|
|
11
13
|
export { JSON_POINTER_ROOT, appendJsonPointer, decodeJsonPointerSegment, encodeJsonPointerSegment, isJsonPointer, joinJsonPointer, jsonPointerStartsWith, normalizeJsonPointer, parentJsonPointer, splitJsonPointer, tailJsonPointer } from './utils/json-pointer.js';
|
|
12
14
|
export { ZERO_SOURCE_POSITION, cloneSourcePosition, cloneSourceSpan, compareSourcePositions, createSourcePosition, createSourceSpan, isSourcePosition, isSourceSpan, maxSourcePosition, minSourcePosition, spanContainsPosition, spanLength, spansOverlap, translateSourceSpan, unionSourceSpans } from './utils/source.js';
|
|
13
15
|
export { PluginRegistry, createPluginRegistry } from './plugins/index.js';
|
|
14
|
-
export {
|
|
16
|
+
export { formatDiagnostic } from './diagnostics/format.js';
|
|
15
17
|
export { parseTokens, parseTokensSync } from './tokens/parse-tokens.js';
|
|
16
18
|
export { createMetadataSnapshot, createResolutionSnapshot } from './tokens/snapshots.js';
|
|
17
19
|
export { flattenTokens } from './tokens/flatten.js';
|
|
18
|
-
export {
|
|
20
|
+
export { InMemoryTokenCache, createTokenCache } from './tokens/cache.js';
|
|
19
21
|
export { parseTokensFromFile, readTokensFile, DtifTokenParseError } from './adapters/node/token-parser.js';
|
|
20
22
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAcxD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG3F,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAY/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAcxD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,cAAc,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,WAAW,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAcxD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG3F,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAY/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAcxD,OAAO,EACL,eAAe,EACf,gBAAgB,EAGhB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACf,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAQrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAuB3D,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,EACxB,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EAChB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAa1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAW3D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAMxE,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AASzE,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACpB,MAAM,iCAAiC,CAAC"}
|
package/dist/io/decoder.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { DocumentHandle
|
|
1
|
+
import type { DocumentHandle } from '../types.js';
|
|
2
|
+
import type { DecodedDocument } from '../domain/models.js';
|
|
2
3
|
export { DecoderError } from './decoder/errors.js';
|
|
3
|
-
export declare function decodeDocument(handle: DocumentHandle): Promise<
|
|
4
|
+
export declare function decodeDocument(handle: DocumentHandle): Promise<DecodedDocument>;
|
|
4
5
|
//# sourceMappingURL=decoder.d.ts.map
|
package/dist/io/decoder.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../src/io/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../src/io/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAQ3D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAUnD,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CA+B/E"}
|
package/dist/io/decoder.js
CHANGED
|
@@ -14,7 +14,7 @@ function ensureError(error) {
|
|
|
14
14
|
export function decodeDocument(handle) {
|
|
15
15
|
if (hasProvidedData(handle)) {
|
|
16
16
|
try {
|
|
17
|
-
return Promise.resolve(Object.freeze(
|
|
17
|
+
return Promise.resolve(Object.freeze(createDocumentFromProvidedData(handle)));
|
|
18
18
|
}
|
|
19
19
|
catch (error) {
|
|
20
20
|
return Promise.reject(ensureError(error));
|
|
@@ -27,8 +27,10 @@ export function decodeDocument(handle) {
|
|
|
27
27
|
const data = toJavaScript(yamlDocument);
|
|
28
28
|
const sourceMap = buildSourceMap(handle, text, yamlDocument.contents, lineCounter);
|
|
29
29
|
return Promise.resolve(Object.freeze({
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
identity: Object.freeze({
|
|
31
|
+
uri: handle.uri,
|
|
32
|
+
contentType: handle.contentType
|
|
33
|
+
}),
|
|
32
34
|
bytes: handle.bytes,
|
|
33
35
|
text,
|
|
34
36
|
data,
|
|
@@ -39,15 +41,17 @@ export function decodeDocument(handle) {
|
|
|
39
41
|
return Promise.reject(ensureError(error));
|
|
40
42
|
}
|
|
41
43
|
}
|
|
42
|
-
function
|
|
44
|
+
function createDocumentFromProvidedData(handle) {
|
|
43
45
|
const data = cloneJsonValue(handle.data);
|
|
44
46
|
if (typeof handle.text === 'string' && handle.text.length > 0) {
|
|
45
47
|
const text = normalizeInlineYamlText(handle.text);
|
|
46
48
|
const { document: yamlDocument, lineCounter } = parseYaml(text);
|
|
47
49
|
const sourceMap = buildSourceMap(handle, text, yamlDocument.contents, lineCounter);
|
|
48
50
|
return {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
+
identity: Object.freeze({
|
|
52
|
+
uri: handle.uri,
|
|
53
|
+
contentType: handle.contentType
|
|
54
|
+
}),
|
|
51
55
|
bytes: handle.bytes,
|
|
52
56
|
text,
|
|
53
57
|
data,
|
|
@@ -57,8 +61,10 @@ function createRawDocumentFromProvidedData(handle) {
|
|
|
57
61
|
const text = normalizeInlineYamlText(handle.text ?? '');
|
|
58
62
|
const sourceMap = createSyntheticSourceMap(handle.uri, data);
|
|
59
63
|
return {
|
|
60
|
-
|
|
61
|
-
|
|
64
|
+
identity: Object.freeze({
|
|
65
|
+
uri: handle.uri,
|
|
66
|
+
contentType: handle.contentType
|
|
67
|
+
}),
|
|
62
68
|
bytes: handle.bytes,
|
|
63
69
|
text,
|
|
64
70
|
data,
|
package/dist/io/decoder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/io/decoder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/io/decoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { DocumentCache, RawDocument } from '../types.js';
|
|
2
|
+
import type { RawDocumentIdentity } from '../domain/models.js';
|
|
2
3
|
export interface InMemoryDocumentCacheOptions {
|
|
3
4
|
readonly maxEntries?: number;
|
|
4
5
|
readonly maxAgeMs?: number;
|
|
@@ -7,9 +8,9 @@ export interface InMemoryDocumentCacheOptions {
|
|
|
7
8
|
export declare class InMemoryDocumentCache implements DocumentCache {
|
|
8
9
|
#private;
|
|
9
10
|
constructor(options?: InMemoryDocumentCacheOptions);
|
|
10
|
-
get(
|
|
11
|
+
get(identity: RawDocumentIdentity): RawDocument | undefined;
|
|
11
12
|
set(document: RawDocument): void;
|
|
12
|
-
delete(
|
|
13
|
+
delete(identity: RawDocumentIdentity): void;
|
|
13
14
|
clear(): void;
|
|
14
15
|
}
|
|
15
16
|
//# sourceMappingURL=document-cache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-cache.d.ts","sourceRoot":"","sources":["../../src/io/document-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"document-cache.d.ts","sourceRoot":"","sources":["../../src/io/document-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CAC/B;AAUD,qBAAa,qBAAsB,YAAW,aAAa;;gBAM7C,OAAO,GAAE,4BAAiC;IAMtD,GAAG,CAAC,QAAQ,EAAE,mBAAmB,GAAG,WAAW,GAAG,SAAS;IAgB3D,GAAG,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAgBhC,MAAM,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAI3C,KAAK,IAAI,IAAI;CA2Cd"}
|
|
@@ -10,8 +10,8 @@ export class InMemoryDocumentCache {
|
|
|
10
10
|
this.#maxAgeMs = normalizeMaxAge(options.maxAgeMs);
|
|
11
11
|
this.#clock = options.clock ?? Date.now;
|
|
12
12
|
}
|
|
13
|
-
get(
|
|
14
|
-
const key =
|
|
13
|
+
get(identity) {
|
|
14
|
+
const key = toCacheKey(identity);
|
|
15
15
|
const entry = this.#entries.get(key);
|
|
16
16
|
if (!entry) {
|
|
17
17
|
return undefined;
|
|
@@ -28,7 +28,7 @@ export class InMemoryDocumentCache {
|
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
30
30
|
this.#pruneExpired();
|
|
31
|
-
const key = document.
|
|
31
|
+
const key = toCacheKey(document.identity);
|
|
32
32
|
const entry = {
|
|
33
33
|
document,
|
|
34
34
|
timestamp: this.#clock()
|
|
@@ -36,8 +36,8 @@ export class InMemoryDocumentCache {
|
|
|
36
36
|
this.#entries.set(key, entry);
|
|
37
37
|
this.#enforceSize();
|
|
38
38
|
}
|
|
39
|
-
delete(
|
|
40
|
-
this.#entries.delete(
|
|
39
|
+
delete(identity) {
|
|
40
|
+
this.#entries.delete(toCacheKey(identity));
|
|
41
41
|
}
|
|
42
42
|
clear() {
|
|
43
43
|
this.#entries.clear();
|
|
@@ -76,6 +76,9 @@ export class InMemoryDocumentCache {
|
|
|
76
76
|
this.#entries.set(key, entry);
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
|
+
function toCacheKey(identity) {
|
|
80
|
+
return identity.uri.href;
|
|
81
|
+
}
|
|
79
82
|
function normalizeMaxAge(input) {
|
|
80
83
|
if (input === undefined) {
|
|
81
84
|
return DEFAULT_MAX_AGE_MS;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-cache.js","sourceRoot":"","sources":["../../src/io/document-cache.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"document-cache.js","sourceRoot":"","sources":["../../src/io/document-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { DecodedDocument, DiagnosticEvent } from '../domain/models.js';
|
|
2
|
+
import type { JsonPointer, SourceSpan } from '../domain/primitives.js';
|
|
2
3
|
import type { ExtensionEvaluation, ParserPlugin, ResolvedTokenTransformEntry } from './types.js';
|
|
3
4
|
interface ExtensionInvocation {
|
|
4
5
|
readonly namespace: string;
|
|
@@ -13,7 +14,7 @@ export interface ExtensionCollector {
|
|
|
13
14
|
export declare class PluginRegistry {
|
|
14
15
|
#private;
|
|
15
16
|
constructor(plugins?: readonly ParserPlugin[]);
|
|
16
|
-
createExtensionCollector(document:
|
|
17
|
+
createExtensionCollector(document: DecodedDocument, diagnostics: DiagnosticEvent[]): ExtensionCollector | undefined;
|
|
17
18
|
get transforms(): readonly ResolvedTokenTransformEntry[];
|
|
18
19
|
}
|
|
19
20
|
export type { ResolvedTokenTransformEntry };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/plugins/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/plugins/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EACV,mBAAmB,EAGnB,YAAY,EACZ,2BAA2B,EAC5B,MAAM,YAAY,CAAC;AAapB,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC9C,OAAO,IAAI,SAAS,mBAAmB,EAAE,CAAC;CAC3C;AAqGD,qBAAa,cAAc;;gBAIb,OAAO,GAAE,SAAS,YAAY,EAAO;IA0CjD,wBAAwB,CACtB,QAAQ,EAAE,eAAe,EACzB,WAAW,EAAE,eAAe,EAAE,GAC7B,kBAAkB,GAAG,SAAS;IAOjC,IAAI,UAAU,IAAI,SAAS,2BAA2B,EAAE,CAEvD;CACF;AAED,YAAY,EAAE,2BAA2B,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/plugins/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/plugins/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAW1D,MAAM,iBAAiB,GAA+B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACxE,MAAM,2BAA2B,GAAmC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACtF,MAAM,uBAAuB,GAA2C,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAqB1F,MAAM,sBAAsB;IAKP;IACA;IACA;IANnB,QAAQ,GAA0B,EAAE,CAAC;IACrC,UAAU,CAAkC;IAE5C,YACmB,QAA6B,EAC7B,QAAyB,EACzB,WAA8B;QAF9B,aAAQ,GAAR,QAAQ,CAAqB;QAC7B,aAAQ,GAAR,QAAQ,CAAiB;QACzB,gBAAW,GAAX,WAAW,CAAmB;IAC9C,CAAC;IAEJ,MAAM,CAAC,UAA+B;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,2BAA2B,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACrF,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBAC3D,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;wBACrC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,MAAM,CAAC,MAAM,CAAC;oBACZ,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,SAAS,EAAE,UAAU,CAAC,SAAS;oBAC/B,OAAO,EAAE,UAAU,CAAC,OAAO;oBAC3B,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,UAAU,EAAE,MAAM,EAAE,UAAU;oBAC9B,WAAW;iBACZ,CAAC,CACH,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gCAAgC,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,2BAA2B,CAAC;YAC9C,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF;AAED,SAAS,2BAA2B,CAClC,UAA+B,EAC/B,QAAyB;IAEzB,OAAO;QACL,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,gCAAgC,CACvC,UAA+B,EAC/B,MAAc,EACd,KAAc;IAEd,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO;QACL,IAAI,EAAE,eAAe,CAAC,OAAO,CAAC,gBAAgB;QAC9C,OAAO,EAAE,WAAW,MAAM,kCAAkC,UAAU,CAAC,SAAS,MAAM,OAAO,EAAE;QAC/F,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,IAAI,EAAE,UAAU,CAAC,IAAI;KACI,CAAC;AAC9B,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAiC;IAC1D,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,iBAAiB,CACxB,KAAyF;IAEzF,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,OAAO,cAAc;IAChB,SAAS,CAAsB;IAC/B,WAAW,CAAyC;IAE7D,YAAY,UAAmC,EAAE;QAC/C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAmC,CAAC;QAC9D,MAAM,UAAU,GAAkC,EAAE,CAAC;QAErD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACjE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;YACvE,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;YAEzB,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtB,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;oBACxE,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;wBAClC,MAAM,IAAI,SAAS,CACjB,oCAAoC,SAAS,gBAAgB,IAAI,uBAAuB,CACzF,CAAC;oBACJ,CAAC;oBACD,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACvC,MAAM,KAAK,GAA0B,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;oBAC9E,IAAI,IAAI,EAAE,CAAC;wBACT,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACnB,CAAC;yBAAM,CAAC;wBACN,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;gBAClC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;YAC7F,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,GAAG,EAA4C,CAAC;QAC3E,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YACxD,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,cAAc,CAAC;QAChC,IAAI,CAAC,WAAW;YACd,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,wBAAwB,CACtB,QAAyB,EACzB,WAA8B;QAE9B,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,sBAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF"}
|
package/dist/plugins/types.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { JsonPointer,
|
|
1
|
+
import type { DecodedDocument, DiagnosticEvent } from '../domain/models.js';
|
|
2
|
+
import type { JsonPointer, SourceSpan } from '../domain/primitives.js';
|
|
3
3
|
import type { ResolvedToken } from '../resolver/index.js';
|
|
4
4
|
export interface ExtensionHandlerInput {
|
|
5
5
|
readonly namespace: string;
|
|
6
6
|
readonly pointer: JsonPointer;
|
|
7
7
|
readonly span?: SourceSpan;
|
|
8
8
|
readonly value: unknown;
|
|
9
|
-
readonly document:
|
|
9
|
+
readonly document: DecodedDocument;
|
|
10
10
|
}
|
|
11
11
|
export interface ExtensionHandlerResult {
|
|
12
12
|
readonly normalized?: unknown;
|
|
13
|
-
readonly diagnostics?: readonly
|
|
13
|
+
readonly diagnostics?: readonly DiagnosticEvent[];
|
|
14
14
|
}
|
|
15
15
|
export type ExtensionHandler = (input: ExtensionHandlerInput) => ExtensionHandlerResult | undefined;
|
|
16
16
|
export interface ExtensionEvaluation {
|
|
@@ -20,21 +20,21 @@ export interface ExtensionEvaluation {
|
|
|
20
20
|
readonly span?: SourceSpan;
|
|
21
21
|
readonly value: unknown;
|
|
22
22
|
readonly normalized?: unknown;
|
|
23
|
-
readonly diagnostics: readonly
|
|
23
|
+
readonly diagnostics: readonly DiagnosticEvent[];
|
|
24
24
|
}
|
|
25
25
|
export interface ResolvedTokenTransformContext {
|
|
26
|
-
readonly document:
|
|
26
|
+
readonly document: DecodedDocument;
|
|
27
27
|
}
|
|
28
28
|
export interface ResolvedTokenTransformResult {
|
|
29
29
|
readonly data?: unknown;
|
|
30
|
-
readonly diagnostics?: readonly
|
|
30
|
+
readonly diagnostics?: readonly DiagnosticEvent[];
|
|
31
31
|
}
|
|
32
32
|
export type ResolvedTokenTransform = (token: ResolvedToken, context: ResolvedTokenTransformContext) => ResolvedTokenTransformResult | undefined;
|
|
33
33
|
export interface ResolvedTokenTransformEvaluation {
|
|
34
34
|
readonly plugin: string;
|
|
35
35
|
readonly pointer: JsonPointer;
|
|
36
36
|
readonly data?: unknown;
|
|
37
|
-
readonly diagnostics: readonly
|
|
37
|
+
readonly diagnostics: readonly DiagnosticEvent[];
|
|
38
38
|
}
|
|
39
39
|
export interface ParserPlugin {
|
|
40
40
|
readonly name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/plugins/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/plugins/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;CACnD;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,qBAAqB,KAAK,sBAAsB,GAAG,SAAS,CAAC;AAEpG,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,SAAS,eAAe,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;CACpC;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;CACnD;AAED,MAAM,MAAM,sBAAsB,GAAG,CACnC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,6BAA6B,KACnC,4BAA4B,GAAG,SAAS,CAAC;AAE9C,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,SAAS,eAAe,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,CAAC,EAChB,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,GACrC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC/C,QAAQ,CAAC,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;CAC1D;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAC;CAC5C"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { JsonPointer } from '../
|
|
1
|
+
import type { JsonPointer } from '../domain/primitives.js';
|
|
2
2
|
import type { DocumentGraph } from '../graph/nodes.js';
|
|
3
3
|
import type { DocumentResolverOptions, ResolutionResult } from './types.js';
|
|
4
4
|
export declare class DocumentResolver {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-resolver.d.ts","sourceRoot":"","sources":["../../src/resolver/document-resolver.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"document-resolver.d.ts","sourceRoot":"","sources":["../../src/resolver/document-resolver.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EACV,aAAa,EAOd,MAAM,mBAAmB,CAAC;AAwB3B,OAAO,KAAK,EACV,uBAAuB,EACvB,gBAAgB,EAIjB,MAAM,YAAY,CAAC;AAgCpB,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyD;IACnF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyC;IACpE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA2C;IACjE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;gBAEtC,KAAK,EAAE,aAAa,EAAE,OAAO,GAAE,uBAA4B;IASvE,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,gBAAgB;IAkC/C,OAAO,CAAC,eAAe;IAyEvB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,gBAAgB;IAmCxB,OAAO,CAAC,gBAAgB;IAwExB,OAAO,CAAC,cAAc;IAyCtB,OAAO,CAAC,gBAAgB;IAyExB,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,kBAAkB;IA8E1B,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,oBAAoB;IA4C5B,OAAO,CAAC,oBAAoB;IA2H5B,OAAO,CAAC,eAAe;CAsCxB;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,OAAO,GAAE,uBAA4B,GACpC,gBAAgB,CAElB"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { DiagnosticCodes } from '../diagnostics/codes.js';
|
|
2
|
-
import { DiagnosticBag } from '../diagnostics/bag.js';
|
|
3
2
|
import { JSON_POINTER_ROOT, normalizeJsonPointer } from '../utils/json-pointer.js';
|
|
4
3
|
import { EMPTY_DIAGNOSTICS, EMPTY_OVERRIDES, EMPTY_WARNINGS, EMPTY_TRANSFORM_EVALUATIONS } from './internal/constants.js';
|
|
5
4
|
import { finalizeResolution, freezeResultDiagnostics, createTransformFailureDiagnostic, createTraceStep, createFieldSource, createTargetSource, mergeDiagnostics, conditionMatches } from './internal/helpers.js';
|
|
6
5
|
import { normalizeContext, normalizeMaxDepth, indexOverrides, normalizeTransforms } from './internal/context.js';
|
|
7
6
|
import { ResolvedTokenImpl } from './internal/resolved-token.js';
|
|
7
|
+
import { createDiagnosticCollector } from './internal/diagnostics.js';
|
|
8
8
|
export class DocumentResolver {
|
|
9
9
|
graph;
|
|
10
10
|
context;
|
|
@@ -23,7 +23,7 @@ export class DocumentResolver {
|
|
|
23
23
|
this.transforms = normalizeTransforms(options.transforms);
|
|
24
24
|
}
|
|
25
25
|
resolve(pointer) {
|
|
26
|
-
const diagnostics =
|
|
26
|
+
const diagnostics = createDiagnosticCollector();
|
|
27
27
|
try {
|
|
28
28
|
const normalized = normalizeJsonPointer(pointer);
|
|
29
29
|
const state = this.resolveInternal(normalized, diagnostics, 0);
|
|
@@ -220,10 +220,8 @@ export class DocumentResolver {
|
|
|
220
220
|
}
|
|
221
221
|
let matchedState;
|
|
222
222
|
for (const override of overrides) {
|
|
223
|
-
const evaluation = this.evaluateOverride(override, base,
|
|
224
|
-
|
|
225
|
-
diagnostics.add(diagnostic);
|
|
226
|
-
}
|
|
223
|
+
const evaluation = this.evaluateOverride(override, base, depth);
|
|
224
|
+
diagnostics.addMany(evaluation.diagnostics);
|
|
227
225
|
if (evaluation.matched && evaluation.state) {
|
|
228
226
|
matchedState = evaluation.state;
|
|
229
227
|
}
|
|
@@ -245,7 +243,7 @@ export class DocumentResolver {
|
|
|
245
243
|
trace
|
|
246
244
|
};
|
|
247
245
|
}
|
|
248
|
-
evaluateOverride(override, base,
|
|
246
|
+
evaluateOverride(override, base, depth) {
|
|
249
247
|
if (!this.doesOverrideApply(override)) {
|
|
250
248
|
return { matched: false, diagnostics: EMPTY_DIAGNOSTICS };
|
|
251
249
|
}
|
|
@@ -266,19 +264,19 @@ export class DocumentResolver {
|
|
|
266
264
|
const traceSteps = [
|
|
267
265
|
createTraceStep(override.pointer, 'override', override.span)
|
|
268
266
|
];
|
|
269
|
-
const
|
|
267
|
+
const localDiagnostics = createDiagnosticCollector();
|
|
270
268
|
let state;
|
|
271
269
|
if (override.ref) {
|
|
272
|
-
state = this.resolveOverrideRef(override, override.ref, base,
|
|
270
|
+
state = this.resolveOverrideRef(override, override.ref, base, localDiagnostics, traceSteps, depth);
|
|
273
271
|
}
|
|
274
272
|
if (!state && override.value) {
|
|
275
273
|
state = this.resolveOverrideValue(override, override.value, traceSteps);
|
|
276
274
|
}
|
|
277
275
|
if (!state && override.fallback) {
|
|
278
|
-
state = this.resolveFallbackChain(override.fallback, base,
|
|
276
|
+
state = this.resolveFallbackChain(override.fallback, base, localDiagnostics, 1, traceSteps, depth + 1);
|
|
279
277
|
}
|
|
280
278
|
if (!state) {
|
|
281
|
-
|
|
279
|
+
localDiagnostics.add({
|
|
282
280
|
code: DiagnosticCodes.resolver.OVERRIDE_FAILED,
|
|
283
281
|
message: `Override "${override.pointer}" matched the current context but did not resolve to a value.`,
|
|
284
282
|
severity: 'error',
|
|
@@ -289,7 +287,7 @@ export class DocumentResolver {
|
|
|
289
287
|
return {
|
|
290
288
|
matched: true,
|
|
291
289
|
state,
|
|
292
|
-
diagnostics:
|
|
290
|
+
diagnostics: localDiagnostics.toArray()
|
|
293
291
|
};
|
|
294
292
|
}
|
|
295
293
|
doesOverrideApply(override) {
|
|
@@ -310,7 +308,7 @@ export class DocumentResolver {
|
|
|
310
308
|
resolveOverrideRef(override, ref, base, diagnostics, trace, depth) {
|
|
311
309
|
const target = ref.value;
|
|
312
310
|
if (target.external) {
|
|
313
|
-
diagnostics.
|
|
311
|
+
diagnostics.add({
|
|
314
312
|
code: DiagnosticCodes.resolver.EXTERNAL_REFERENCE,
|
|
315
313
|
message: `Override "${override.pointer}" references external pointer "${target.uri.href}${target.pointer}" which is not yet supported.`,
|
|
316
314
|
severity: 'error',
|
|
@@ -319,14 +317,11 @@ export class DocumentResolver {
|
|
|
319
317
|
});
|
|
320
318
|
return undefined;
|
|
321
319
|
}
|
|
322
|
-
const targetDiagnostics =
|
|
320
|
+
const targetDiagnostics = createDiagnosticCollector();
|
|
323
321
|
const targetState = this.resolveInternal(target.pointer, targetDiagnostics, depth + 1);
|
|
324
|
-
|
|
325
|
-
if (targetMessages.length > 0) {
|
|
326
|
-
diagnostics.push(...targetMessages);
|
|
327
|
-
}
|
|
322
|
+
diagnostics.addMany(targetDiagnostics.toArray());
|
|
328
323
|
if (!targetState) {
|
|
329
|
-
diagnostics.
|
|
324
|
+
diagnostics.add({
|
|
330
325
|
code: DiagnosticCodes.resolver.OVERRIDE_FAILED,
|
|
331
326
|
message: `Override "${override.pointer}" could not resolve target "${target.pointer}".`,
|
|
332
327
|
severity: 'error',
|
|
@@ -337,7 +332,7 @@ export class DocumentResolver {
|
|
|
337
332
|
}
|
|
338
333
|
const type = base.type ?? targetState.type;
|
|
339
334
|
if (base.type && targetState.type && base.type !== targetState.type) {
|
|
340
|
-
diagnostics.
|
|
335
|
+
diagnostics.add({
|
|
341
336
|
code: DiagnosticCodes.resolver.TARGET_TYPE_MISMATCH,
|
|
342
337
|
message: `Override "${override.pointer}" expects type "${base.type}" but target "${target.pointer}" resolved to type "${targetState.type}".`,
|
|
343
338
|
severity: 'error',
|
|
@@ -396,7 +391,7 @@ export class DocumentResolver {
|
|
|
396
391
|
}
|
|
397
392
|
resolveFallbackChain(chain, base, diagnostics, depth, trace, resolutionDepth) {
|
|
398
393
|
if (resolutionDepth > this.maxDepth) {
|
|
399
|
-
diagnostics.
|
|
394
|
+
diagnostics.add({
|
|
400
395
|
code: DiagnosticCodes.resolver.MAX_DEPTH_EXCEEDED,
|
|
401
396
|
message: `Resolution depth exceeded maximum of ${String(this.maxDepth)} while evaluating fallback chain for "${chain[0]?.pointer ?? base.pointer}".`,
|
|
402
397
|
severity: 'error',
|
|
@@ -410,7 +405,7 @@ export class DocumentResolver {
|
|
|
410
405
|
return result;
|
|
411
406
|
}
|
|
412
407
|
}
|
|
413
|
-
diagnostics.
|
|
408
|
+
diagnostics.add({
|
|
414
409
|
code: DiagnosticCodes.resolver.FALLBACK_EXHAUSTED,
|
|
415
410
|
message: 'Override fallback chain exhausted without producing a value.',
|
|
416
411
|
severity: 'error',
|
|
@@ -420,7 +415,7 @@ export class DocumentResolver {
|
|
|
420
415
|
}
|
|
421
416
|
resolveFallbackEntry(entry, base, diagnostics, depth, trace, resolutionDepth) {
|
|
422
417
|
if (resolutionDepth > this.maxDepth) {
|
|
423
|
-
diagnostics.
|
|
418
|
+
diagnostics.add({
|
|
424
419
|
code: DiagnosticCodes.resolver.MAX_DEPTH_EXCEEDED,
|
|
425
420
|
message: `Resolution depth exceeded maximum of ${String(this.maxDepth)} while evaluating fallback entry "${entry.pointer}".`,
|
|
426
421
|
severity: 'error',
|
|
@@ -433,7 +428,7 @@ export class DocumentResolver {
|
|
|
433
428
|
if (entry.ref) {
|
|
434
429
|
const target = entry.ref.value;
|
|
435
430
|
if (target.external) {
|
|
436
|
-
diagnostics.
|
|
431
|
+
diagnostics.add({
|
|
437
432
|
code: DiagnosticCodes.resolver.EXTERNAL_REFERENCE,
|
|
438
433
|
message: `Fallback entry "${entry.pointer}" references external pointer "${target.uri.href}${target.pointer}" which is not yet supported.`,
|
|
439
434
|
severity: 'error',
|
|
@@ -442,16 +437,13 @@ export class DocumentResolver {
|
|
|
442
437
|
});
|
|
443
438
|
}
|
|
444
439
|
else {
|
|
445
|
-
const targetDiagnostics =
|
|
440
|
+
const targetDiagnostics = createDiagnosticCollector();
|
|
446
441
|
const targetState = this.resolveInternal(target.pointer, targetDiagnostics, resolutionDepth + 1);
|
|
447
|
-
|
|
448
|
-
if (targetMessages.length > 0) {
|
|
449
|
-
diagnostics.push(...targetMessages);
|
|
450
|
-
}
|
|
442
|
+
diagnostics.addMany(targetDiagnostics.toArray());
|
|
451
443
|
if (targetState) {
|
|
452
444
|
const type = base.type ?? targetState.type;
|
|
453
445
|
if (base.type && targetState.type && base.type !== targetState.type) {
|
|
454
|
-
diagnostics.
|
|
446
|
+
diagnostics.add({
|
|
455
447
|
code: DiagnosticCodes.resolver.TARGET_TYPE_MISMATCH,
|
|
456
448
|
message: `Fallback entry "${entry.pointer}" expects type "${base.type}" but target "${target.pointer}" resolved to type "${targetState.type}".`,
|
|
457
449
|
severity: 'error',
|