@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.
Files changed (170) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/README.md +24 -6
  3. package/dist/adapters/domain/diagnostics.d.ts +7 -0
  4. package/dist/adapters/domain/diagnostics.d.ts.map +1 -0
  5. package/dist/adapters/domain/diagnostics.js +30 -0
  6. package/dist/adapters/domain/diagnostics.js.map +1 -0
  7. package/dist/adapters/domain/document-source.d.ts +12 -0
  8. package/dist/adapters/domain/document-source.d.ts.map +1 -0
  9. package/dist/adapters/domain/document-source.js +96 -0
  10. package/dist/adapters/domain/document-source.js.map +1 -0
  11. package/dist/adapters/domain/index.d.ts +8 -0
  12. package/dist/adapters/domain/index.d.ts.map +1 -0
  13. package/dist/adapters/domain/index.js +5 -0
  14. package/dist/adapters/domain/index.js.map +1 -0
  15. package/dist/adapters/domain/plugins.d.ts +20 -0
  16. package/dist/adapters/domain/plugins.d.ts.map +1 -0
  17. package/dist/adapters/domain/plugins.js +99 -0
  18. package/dist/adapters/domain/plugins.js.map +1 -0
  19. package/dist/adapters/domain/services.d.ts +82 -0
  20. package/dist/adapters/domain/services.d.ts.map +1 -0
  21. package/dist/adapters/domain/services.js +368 -0
  22. package/dist/adapters/domain/services.js.map +1 -0
  23. package/dist/adapters/node/token-parser.d.ts +7 -6
  24. package/dist/adapters/node/token-parser.d.ts.map +1 -1
  25. package/dist/adapters/node/token-parser.js +4 -4
  26. package/dist/adapters/node/token-parser.js.map +1 -1
  27. package/dist/application/factory.d.ts +14 -0
  28. package/dist/application/factory.d.ts.map +1 -0
  29. package/dist/application/factory.js +81 -0
  30. package/dist/application/factory.js.map +1 -0
  31. package/dist/application/index.d.ts +6 -0
  32. package/dist/application/index.d.ts.map +1 -0
  33. package/dist/application/index.js +4 -0
  34. package/dist/application/index.js.map +1 -0
  35. package/dist/application/inline.d.ts +6 -0
  36. package/dist/application/inline.d.ts.map +1 -0
  37. package/dist/application/inline.js +82 -0
  38. package/dist/application/inline.js.map +1 -0
  39. package/dist/application/requests.d.ts +12 -0
  40. package/dist/application/requests.d.ts.map +1 -0
  41. package/dist/application/requests.js +82 -0
  42. package/dist/application/requests.js.map +1 -0
  43. package/dist/application/use-cases.d.ts +61 -0
  44. package/dist/application/use-cases.d.ts.map +1 -0
  45. package/dist/application/use-cases.js +545 -0
  46. package/dist/application/use-cases.js.map +1 -0
  47. package/dist/ast/normaliser/context.d.ts +7 -6
  48. package/dist/ast/normaliser/context.d.ts.map +1 -1
  49. package/dist/ast/normaliser/context.js +1 -1
  50. package/dist/ast/normaliser/context.js.map +1 -1
  51. package/dist/ast/normaliser/document.js +1 -1
  52. package/dist/ast/normaliser/document.js.map +1 -1
  53. package/dist/ast/normaliser.d.ts +2 -2
  54. package/dist/ast/normaliser.d.ts.map +1 -1
  55. package/dist/ast/normaliser.js.map +1 -1
  56. package/dist/cli/parse.d.ts.map +1 -1
  57. package/dist/cli/parse.js +29 -12
  58. package/dist/cli/parse.js.map +1 -1
  59. package/dist/cli/serialize.d.ts +3 -4
  60. package/dist/cli/serialize.d.ts.map +1 -1
  61. package/dist/cli/serialize.js +19 -5
  62. package/dist/cli/serialize.js.map +1 -1
  63. package/dist/diagnostics/format.d.ts +7 -0
  64. package/dist/diagnostics/format.d.ts.map +1 -0
  65. package/dist/diagnostics/format.js +94 -0
  66. package/dist/diagnostics/format.js.map +1 -0
  67. package/dist/domain/index.d.ts +5 -0
  68. package/dist/domain/index.d.ts.map +1 -0
  69. package/dist/domain/index.js +5 -0
  70. package/dist/domain/index.js.map +1 -0
  71. package/dist/domain/models.d.ts +88 -0
  72. package/dist/domain/models.d.ts.map +1 -0
  73. package/dist/domain/models.js +2 -0
  74. package/dist/domain/models.js.map +1 -0
  75. package/dist/domain/ports.d.ts +69 -0
  76. package/dist/domain/ports.d.ts.map +1 -0
  77. package/dist/domain/ports.js +2 -0
  78. package/dist/domain/ports.js.map +1 -0
  79. package/dist/domain/primitives.d.ts +17 -0
  80. package/dist/domain/primitives.d.ts.map +1 -0
  81. package/dist/domain/primitives.js +2 -0
  82. package/dist/domain/primitives.js.map +1 -0
  83. package/dist/domain/services.d.ts +35 -0
  84. package/dist/domain/services.d.ts.map +1 -0
  85. package/dist/domain/services.js +2 -0
  86. package/dist/domain/services.js.map +1 -0
  87. package/dist/index.d.ts +10 -6
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/index.js +5 -3
  90. package/dist/index.js.map +1 -1
  91. package/dist/io/decoder.d.ts +3 -2
  92. package/dist/io/decoder.d.ts.map +1 -1
  93. package/dist/io/decoder.js +14 -8
  94. package/dist/io/decoder.js.map +1 -1
  95. package/dist/io/document-cache.d.ts +3 -2
  96. package/dist/io/document-cache.d.ts.map +1 -1
  97. package/dist/io/document-cache.js +8 -5
  98. package/dist/io/document-cache.js.map +1 -1
  99. package/dist/plugins/registry.d.ts +3 -2
  100. package/dist/plugins/registry.d.ts.map +1 -1
  101. package/dist/plugins/registry.js.map +1 -1
  102. package/dist/plugins/types.d.ts +8 -8
  103. package/dist/plugins/types.d.ts.map +1 -1
  104. package/dist/resolver/document-resolver.d.ts +1 -1
  105. package/dist/resolver/document-resolver.d.ts.map +1 -1
  106. package/dist/resolver/document-resolver.js +22 -30
  107. package/dist/resolver/document-resolver.js.map +1 -1
  108. package/dist/resolver/internal/constants.d.ts +3 -3
  109. package/dist/resolver/internal/constants.d.ts.map +1 -1
  110. package/dist/resolver/internal/constants.js.map +1 -1
  111. package/dist/resolver/internal/context.d.ts +1 -1
  112. package/dist/resolver/internal/context.d.ts.map +1 -1
  113. package/dist/resolver/internal/diagnostics.d.ts +8 -0
  114. package/dist/resolver/internal/diagnostics.d.ts.map +1 -0
  115. package/dist/resolver/internal/diagnostics.js +21 -0
  116. package/dist/resolver/internal/diagnostics.js.map +1 -0
  117. package/dist/resolver/internal/helpers.d.ts +7 -6
  118. package/dist/resolver/internal/helpers.d.ts.map +1 -1
  119. package/dist/resolver/internal/helpers.js.map +1 -1
  120. package/dist/resolver/internal/resolved-token.d.ts +4 -3
  121. package/dist/resolver/internal/resolved-token.d.ts.map +1 -1
  122. package/dist/resolver/internal/resolved-token.js.map +1 -1
  123. package/dist/resolver/types.d.ts +6 -5
  124. package/dist/resolver/types.d.ts.map +1 -1
  125. package/dist/session/internal/options.d.ts +2 -2
  126. package/dist/session/internal/options.d.ts.map +1 -1
  127. package/dist/session/internal/options.js +1 -1
  128. package/dist/session/internal/options.js.map +1 -1
  129. package/dist/session/types.d.ts +2 -2
  130. package/dist/session/types.d.ts.map +1 -1
  131. package/dist/session.d.ts +13 -8
  132. package/dist/session.d.ts.map +1 -1
  133. package/dist/session.js +12 -167
  134. package/dist/session.js.map +1 -1
  135. package/dist/tokens/cache.d.ts +24 -20
  136. package/dist/tokens/cache.d.ts.map +1 -1
  137. package/dist/tokens/cache.js +25 -24
  138. package/dist/tokens/cache.js.map +1 -1
  139. package/dist/tokens/inputs.d.ts +16 -0
  140. package/dist/tokens/inputs.d.ts.map +1 -0
  141. package/dist/tokens/inputs.js +180 -0
  142. package/dist/tokens/inputs.js.map +1 -0
  143. package/dist/tokens/parse-tokens.d.ts +12 -15
  144. package/dist/tokens/parse-tokens.d.ts.map +1 -1
  145. package/dist/tokens/parse-tokens.js +57 -444
  146. package/dist/tokens/parse-tokens.js.map +1 -1
  147. package/dist/tokens/snapshots.d.ts +2 -2
  148. package/dist/tokens/snapshots.d.ts.map +1 -1
  149. package/dist/tokens/snapshots.js.map +1 -1
  150. package/dist/tokens/types.d.ts +1 -34
  151. package/dist/tokens/types.d.ts.map +1 -1
  152. package/dist/types.d.ts +13 -58
  153. package/dist/types.d.ts.map +1 -1
  154. package/dist/utils/bytes.d.ts +2 -0
  155. package/dist/utils/bytes.d.ts.map +1 -0
  156. package/dist/utils/bytes.js +15 -0
  157. package/dist/utils/bytes.js.map +1 -0
  158. package/dist/validation/schema-guard.d.ts +3 -3
  159. package/dist/validation/schema-guard.d.ts.map +1 -1
  160. package/dist/validation/schema-guard.js +1 -1
  161. package/dist/validation/schema-guard.js.map +1 -1
  162. package/package.json +3 -3
  163. package/dist/diagnostics/bag.d.ts +0 -26
  164. package/dist/diagnostics/bag.d.ts.map +0 -1
  165. package/dist/diagnostics/bag.js +0 -106
  166. package/dist/diagnostics/bag.js.map +0 -1
  167. package/dist/tokens/diagnostics.d.ts +0 -5
  168. package/dist/tokens/diagnostics.d.ts.map +0 -1
  169. package/dist/tokens/diagnostics.js +0 -124
  170. 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, ParseCollectionResult, ParseInput, ParseInputRecord, ParseDataInputRecord, ParseResult, RawDocument, RelatedInformation, SourceMap, SourcePosition, SourceSpan } from './types.js';
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 { toTokenDiagnostic, formatTokenDiagnostic } from './tokens/diagnostics.js';
27
- export type { FormatTokenDiagnosticOptions, TokenDiagnostic, TokenDiagnosticContext, TokenId, TokenPointer, TokenMetadataSnapshot, ResolvedTokenView, TokenType, JsonValue, DtifFlattenedToken } from './tokens/types.js';
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 { InMemoryParseCache, createParseCache } from './tokens/cache.js';
33
- export type { ParseCache, ParseCacheEntry, ParseCacheKey, InMemoryParseCacheOptions } from './tokens/cache.js';
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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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 { toTokenDiagnostic, formatTokenDiagnostic } from './tokens/diagnostics.js';
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 { InMemoryParseCache, createParseCache } from './tokens/cache.js';
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,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,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,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAanF,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;AAOzE,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACpB,MAAM,iCAAiC,CAAC"}
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"}
@@ -1,4 +1,5 @@
1
- import type { DocumentHandle, RawDocument } from '../types.js';
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<RawDocument>;
4
+ export declare function decodeDocument(handle: DocumentHandle): Promise<DecodedDocument>;
4
5
  //# sourceMappingURL=decoder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decoder.d.ts","sourceRoot":"","sources":["../../src/io/decoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAQ/D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAUnD,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CA6B3E"}
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"}
@@ -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(createRawDocumentFromProvidedData(handle)));
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
- uri: handle.uri,
31
- contentType: handle.contentType,
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 createRawDocumentFromProvidedData(handle) {
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
- uri: handle.uri,
50
- contentType: handle.contentType,
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
- uri: handle.uri,
61
- contentType: handle.contentType,
64
+ identity: Object.freeze({
65
+ uri: handle.uri,
66
+ contentType: handle.contentType
67
+ }),
62
68
  bytes: handle.bytes,
63
69
  text,
64
70
  data,
@@ -1 +1 @@
1
- {"version":3,"file":"decoder.js","sourceRoot":"","sources":["../../src/io/decoder.ts"],"names":[],"mappings":"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"}
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(uri: URL): RawDocument | undefined;
11
+ get(identity: RawDocumentIdentity): RawDocument | undefined;
11
12
  set(document: RawDocument): void;
12
- delete(uri: URL): void;
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;AAE9D,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,GAAG,EAAE,GAAG,GAAG,WAAW,GAAG,SAAS;IAgBtC,GAAG,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAgBhC,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAItB,KAAK,IAAI,IAAI;CA2Cd"}
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(uri) {
14
- const key = uri.href;
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.uri.href;
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(uri) {
40
- this.#entries.delete(uri.href);
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":"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"}
1
+ {"version":3,"file":"document-cache.js","sourceRoot":"","sources":["../../src/io/document-cache.ts"],"names":[],"mappings":"AAcA,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAC/B,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;AAEtD,MAAM,OAAO,qBAAqB;IACvB,QAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;IACzC,WAAW,CAAS;IACpB,SAAS,CAAU;IACnB,MAAM,CAAe;IAE9B,YAAY,UAAwC,EAAE;QACpD,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3D,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC;IAC1C,CAAC;IAED,GAAG,CAAC,QAA6B;QAC/B,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACxB,OAAO,KAAK,CAAC,QAAQ,CAAC;IACxB,CAAC;IAED,GAAG,CAAC,QAAqB;QACvB,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAe;YACxB,QAAQ;YACR,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;SACzB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,QAA6B;QAClC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAED,YAAY;QACV,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YACpD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM;YACR,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,UAAU,CAAC,KAAiB;QAC1B,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC;QAC5C,OAAO,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,GAAW,EAAE,KAAiB;QACnC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;CACF;AAED,SAAS,UAAU,CAAC,QAA6B;IAC/C,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;AAC3B,CAAC;AAED,SAAS,eAAe,CAAC,KAAyB;IAChD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAyB;IACpD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACxC,CAAC"}
@@ -1,4 +1,5 @@
1
- import type { Diagnostic, JsonPointer, RawDocument, SourceSpan } from '../types.js';
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: RawDocument, diagnostics: Diagnostic[]): ExtensionCollector | undefined;
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,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACpF,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,WAAW,EACrB,WAAW,EAAE,UAAU,EAAE,GACxB,kBAAkB,GAAG,SAAS;IAOjC,IAAI,UAAU,IAAI,SAAS,2BAA2B,EAAE,CAEvD;CACF;AAED,YAAY,EAAE,2BAA2B,EAAE,CAAC"}
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":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/plugins/registry.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,16 @@
1
- import type { Diagnostic } from '../types.js';
2
- import type { JsonPointer, RawDocument, SourceSpan } from '../types.js';
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: RawDocument;
9
+ readonly document: DecodedDocument;
10
10
  }
11
11
  export interface ExtensionHandlerResult {
12
12
  readonly normalized?: unknown;
13
- readonly diagnostics?: readonly Diagnostic[];
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 Diagnostic[];
23
+ readonly diagnostics: readonly DiagnosticEvent[];
24
24
  }
25
25
  export interface ResolvedTokenTransformContext {
26
- readonly document: RawDocument;
26
+ readonly document: DecodedDocument;
27
27
  }
28
28
  export interface ResolvedTokenTransformResult {
29
29
  readonly data?: unknown;
30
- readonly diagnostics?: readonly Diagnostic[];
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 Diagnostic[];
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,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACxE,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,WAAW,CAAC;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;CAC9C;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,UAAU,EAAE,CAAC;CAC7C;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;CAChC;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;CAC9C;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,UAAU,EAAE,CAAC;CAC7C;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
+ {"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 '../types.js';
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,EAAc,WAAW,EAAe,MAAM,aAAa,CAAC;AACxE,OAAO,KAAK,EACV,aAAa,EAOd,MAAM,mBAAmB,CAAC;AAwB3B,OAAO,KAAK,EACV,uBAAuB,EACvB,gBAAgB,EAIjB,MAAM,YAAY,CAAC;AA+BpB,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,CAAc;IACxC,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;IAgCxB,OAAO,CAAC,gBAAgB;IAwExB,OAAO,CAAC,cAAc;IA2CtB,OAAO,CAAC,gBAAgB;IA0ExB,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,kBAAkB;IAiF1B,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,oBAAoB;IA4C5B,OAAO,CAAC,oBAAoB;IA8H5B,OAAO,CAAC,eAAe;CAsCxB;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,OAAO,GAAE,uBAA4B,GACpC,gBAAgB,CAElB"}
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 = new DiagnosticBag();
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, diagnostics, depth);
224
- for (const diagnostic of evaluation.diagnostics) {
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, diagnostics, depth) {
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 diagnosticsList = [];
267
+ const localDiagnostics = createDiagnosticCollector();
270
268
  let state;
271
269
  if (override.ref) {
272
- state = this.resolveOverrideRef(override, override.ref, base, diagnosticsList, traceSteps, depth);
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, diagnosticsList, 1, traceSteps, depth + 1);
276
+ state = this.resolveFallbackChain(override.fallback, base, localDiagnostics, 1, traceSteps, depth + 1);
279
277
  }
280
278
  if (!state) {
281
- diagnosticsList.push({
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: diagnosticsList.length === 0 ? EMPTY_DIAGNOSTICS : Object.freeze(diagnosticsList)
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.push({
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 = new DiagnosticBag();
320
+ const targetDiagnostics = createDiagnosticCollector();
323
321
  const targetState = this.resolveInternal(target.pointer, targetDiagnostics, depth + 1);
324
- const targetMessages = targetDiagnostics.toArray();
325
- if (targetMessages.length > 0) {
326
- diagnostics.push(...targetMessages);
327
- }
322
+ diagnostics.addMany(targetDiagnostics.toArray());
328
323
  if (!targetState) {
329
- diagnostics.push({
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.push({
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.push({
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.push({
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.push({
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.push({
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 = new DiagnosticBag();
440
+ const targetDiagnostics = createDiagnosticCollector();
446
441
  const targetState = this.resolveInternal(target.pointer, targetDiagnostics, resolutionDepth + 1);
447
- const targetMessages = targetDiagnostics.toArray();
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.push({
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',