@lapidist/dtif-parser 1.0.6 → 2.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 (256) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/LICENSE +28 -0
  3. package/README.md +5 -0
  4. package/dist/adapters/domain/diagnostics.d.ts +1 -3
  5. package/dist/adapters/domain/diagnostics.d.ts.map +1 -1
  6. package/dist/adapters/domain/diagnostics.js +3 -1
  7. package/dist/adapters/domain/diagnostics.js.map +1 -1
  8. package/dist/adapters/domain/document-source.d.ts.map +1 -1
  9. package/dist/adapters/domain/document-source.js +1 -10
  10. package/dist/adapters/domain/document-source.js.map +1 -1
  11. package/dist/adapters/domain/index.d.ts +2 -2
  12. package/dist/adapters/domain/index.d.ts.map +1 -1
  13. package/dist/adapters/domain/index.js +1 -1
  14. package/dist/adapters/domain/index.js.map +1 -1
  15. package/dist/adapters/domain/plugins.d.ts.map +1 -1
  16. package/dist/adapters/domain/plugins.js +1 -1
  17. package/dist/adapters/domain/plugins.js.map +1 -1
  18. package/dist/adapters/domain/services.d.ts +13 -20
  19. package/dist/adapters/domain/services.d.ts.map +1 -1
  20. package/dist/adapters/domain/services.js +62 -56
  21. package/dist/adapters/domain/services.js.map +1 -1
  22. package/dist/adapters/node/token-parser.d.ts +1 -1
  23. package/dist/adapters/node/token-parser.d.ts.map +1 -1
  24. package/dist/adapters/node/token-parser.js +23 -10
  25. package/dist/adapters/node/token-parser.js.map +1 -1
  26. package/dist/application/factory.d.ts +4 -7
  27. package/dist/application/factory.d.ts.map +1 -1
  28. package/dist/application/factory.js +10 -35
  29. package/dist/application/factory.js.map +1 -1
  30. package/dist/application/index.d.ts +1 -1
  31. package/dist/application/index.d.ts.map +1 -1
  32. package/dist/application/index.js +1 -1
  33. package/dist/application/index.js.map +1 -1
  34. package/dist/application/inline.d.ts +2 -5
  35. package/dist/application/inline.d.ts.map +1 -1
  36. package/dist/application/inline.js +2 -81
  37. package/dist/application/inline.js.map +1 -1
  38. package/dist/application/requests.d.ts +3 -8
  39. package/dist/application/requests.d.ts.map +1 -1
  40. package/dist/application/requests.js +1 -38
  41. package/dist/application/requests.js.map +1 -1
  42. package/dist/application/runtime-options.d.ts +14 -0
  43. package/dist/application/runtime-options.d.ts.map +1 -0
  44. package/dist/application/runtime-options.js +2 -0
  45. package/dist/application/runtime-options.js.map +1 -0
  46. package/dist/application/use-cases.d.ts +17 -10
  47. package/dist/application/use-cases.d.ts.map +1 -1
  48. package/dist/application/use-cases.js +69 -73
  49. package/dist/application/use-cases.js.map +1 -1
  50. package/dist/ast/nodes.d.ts +1 -1
  51. package/dist/ast/nodes.d.ts.map +1 -1
  52. package/dist/ast/normaliser/document.d.ts.map +1 -1
  53. package/dist/ast/normaliser/document.js +26 -0
  54. package/dist/ast/normaliser/document.js.map +1 -1
  55. package/dist/ast/normaliser/fields.d.ts +1 -1
  56. package/dist/ast/normaliser/fields.d.ts.map +1 -1
  57. package/dist/ast/normaliser/known-types.d.ts +2 -0
  58. package/dist/ast/normaliser/known-types.d.ts.map +1 -0
  59. package/dist/ast/normaliser/known-types.js +37 -0
  60. package/dist/ast/normaliser/known-types.js.map +1 -0
  61. package/dist/ast/normaliser/metadata.d.ts +1 -1
  62. package/dist/ast/normaliser/metadata.d.ts.map +1 -1
  63. package/dist/ast/normaliser/nodes.d.ts +1 -1
  64. package/dist/ast/normaliser/nodes.d.ts.map +1 -1
  65. package/dist/ast/normaliser/nodes.js +21 -0
  66. package/dist/ast/normaliser/nodes.js.map +1 -1
  67. package/dist/ast/normaliser/ordering.d.ts +6 -0
  68. package/dist/ast/normaliser/ordering.d.ts.map +1 -0
  69. package/dist/ast/normaliser/ordering.js +91 -0
  70. package/dist/ast/normaliser/ordering.js.map +1 -0
  71. package/dist/ast/normaliser/overrides.d.ts +1 -1
  72. package/dist/ast/normaliser/overrides.d.ts.map +1 -1
  73. package/dist/ast/normaliser/overrides.js +10 -8
  74. package/dist/ast/normaliser/overrides.js.map +1 -1
  75. package/dist/ast/normaliser/utils.d.ts +1 -1
  76. package/dist/ast/normaliser/utils.d.ts.map +1 -1
  77. package/dist/cli/parse.d.ts.map +1 -1
  78. package/dist/cli/parse.js +3 -4
  79. package/dist/cli/parse.js.map +1 -1
  80. package/dist/config/parse-options.d.ts +21 -0
  81. package/dist/config/parse-options.d.ts.map +1 -0
  82. package/dist/config/parse-options.js +2 -0
  83. package/dist/config/parse-options.js.map +1 -0
  84. package/dist/diagnostics/codes.d.ts +6 -1
  85. package/dist/diagnostics/codes.d.ts.map +1 -1
  86. package/dist/diagnostics/codes.js +6 -2
  87. package/dist/diagnostics/codes.js.map +1 -1
  88. package/dist/domain/models.d.ts +2 -2
  89. package/dist/domain/models.d.ts.map +1 -1
  90. package/dist/domain/ports.d.ts +5 -1
  91. package/dist/domain/ports.d.ts.map +1 -1
  92. package/dist/domain/primitives.d.ts +1 -0
  93. package/dist/domain/primitives.d.ts.map +1 -1
  94. package/dist/domain/services.d.ts +2 -6
  95. package/dist/domain/services.d.ts.map +1 -1
  96. package/dist/graph/builder/context.d.ts +4 -3
  97. package/dist/graph/builder/context.d.ts.map +1 -1
  98. package/dist/graph/builder/context.js.map +1 -1
  99. package/dist/graph/builder/nodes.d.ts +1 -1
  100. package/dist/graph/builder/nodes.d.ts.map +1 -1
  101. package/dist/graph/nodes.d.ts +1 -1
  102. package/dist/graph/nodes.d.ts.map +1 -1
  103. package/dist/index.d.ts +1 -1
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js.map +1 -1
  106. package/dist/input/content-sniffing.d.ts +4 -0
  107. package/dist/input/content-sniffing.d.ts.map +1 -0
  108. package/dist/input/content-sniffing.js +37 -0
  109. package/dist/input/content-sniffing.js.map +1 -0
  110. package/dist/input/contracts.d.ts +7 -0
  111. package/dist/input/contracts.d.ts.map +1 -0
  112. package/dist/input/contracts.js +38 -0
  113. package/dist/input/contracts.js.map +1 -0
  114. package/dist/input/inline-document.d.ts +10 -0
  115. package/dist/input/inline-document.d.ts.map +1 -0
  116. package/dist/input/inline-document.js +14 -0
  117. package/dist/input/inline-document.js.map +1 -0
  118. package/dist/input/memory-uri.d.ts +10 -0
  119. package/dist/input/memory-uri.d.ts.map +1 -0
  120. package/dist/input/memory-uri.js +30 -0
  121. package/dist/input/memory-uri.js.map +1 -0
  122. package/dist/io/decoder/core.d.ts +8 -0
  123. package/dist/io/decoder/core.d.ts.map +1 -0
  124. package/dist/io/decoder/core.js +39 -0
  125. package/dist/io/decoder/core.js.map +1 -0
  126. package/dist/io/decoder/inline-document.d.ts +4 -0
  127. package/dist/io/decoder/inline-document.d.ts.map +1 -0
  128. package/dist/io/decoder/inline-document.js +12 -0
  129. package/dist/io/decoder/inline-document.js.map +1 -0
  130. package/dist/io/decoder.d.ts.map +1 -1
  131. package/dist/io/decoder.js +3 -52
  132. package/dist/io/decoder.js.map +1 -1
  133. package/dist/io/document-loader.d.ts.map +1 -1
  134. package/dist/io/document-loader.js +22 -86
  135. package/dist/io/document-loader.js.map +1 -1
  136. package/dist/io/loader-diagnostics.d.ts +4 -0
  137. package/dist/io/loader-diagnostics.d.ts.map +1 -0
  138. package/dist/io/loader-diagnostics.js +13 -0
  139. package/dist/io/loader-diagnostics.js.map +1 -0
  140. package/dist/plugins/transform-utils.d.ts +5 -0
  141. package/dist/plugins/transform-utils.d.ts.map +1 -0
  142. package/dist/plugins/transform-utils.js +18 -0
  143. package/dist/plugins/transform-utils.js.map +1 -0
  144. package/dist/plugins/types.d.ts +30 -1
  145. package/dist/plugins/types.d.ts.map +1 -1
  146. package/dist/resolver/document-resolver.d.ts +6 -4
  147. package/dist/resolver/document-resolver.d.ts.map +1 -1
  148. package/dist/resolver/document-resolver.js +216 -163
  149. package/dist/resolver/document-resolver.js.map +1 -1
  150. package/dist/resolver/external-graph-provider.d.ts +31 -0
  151. package/dist/resolver/external-graph-provider.d.ts.map +1 -0
  152. package/dist/resolver/external-graph-provider.js +124 -0
  153. package/dist/resolver/external-graph-provider.js.map +1 -0
  154. package/dist/resolver/internal/constants.d.ts +1 -1
  155. package/dist/resolver/internal/context.d.ts +1 -1
  156. package/dist/resolver/internal/context.d.ts.map +1 -1
  157. package/dist/resolver/internal/context.js +2 -7
  158. package/dist/resolver/internal/context.js.map +1 -1
  159. package/dist/resolver/internal/external-graph-index.d.ts +7 -0
  160. package/dist/resolver/internal/external-graph-index.d.ts.map +1 -0
  161. package/dist/resolver/internal/external-graph-index.js +81 -0
  162. package/dist/resolver/internal/external-graph-index.js.map +1 -0
  163. package/dist/resolver/internal/helpers.d.ts +1 -3
  164. package/dist/resolver/internal/helpers.d.ts.map +1 -1
  165. package/dist/resolver/internal/helpers.js +0 -16
  166. package/dist/resolver/internal/helpers.js.map +1 -1
  167. package/dist/resolver/internal/override-evaluator.d.ts +3 -0
  168. package/dist/resolver/internal/override-evaluator.d.ts.map +1 -0
  169. package/dist/resolver/internal/override-evaluator.js +17 -0
  170. package/dist/resolver/internal/override-evaluator.js.map +1 -0
  171. package/dist/resolver/internal/resolution-key.d.ts +3 -0
  172. package/dist/resolver/internal/resolution-key.d.ts.map +1 -0
  173. package/dist/resolver/internal/resolution-key.js +4 -0
  174. package/dist/resolver/internal/resolution-key.js.map +1 -0
  175. package/dist/resolver/internal/state.d.ts +26 -0
  176. package/dist/resolver/internal/state.d.ts.map +1 -0
  177. package/dist/resolver/internal/state.js +2 -0
  178. package/dist/resolver/internal/state.js.map +1 -0
  179. package/dist/resolver/internal/transform-runner.d.ts +6 -0
  180. package/dist/resolver/internal/transform-runner.d.ts.map +1 -0
  181. package/dist/resolver/internal/transform-runner.js +31 -0
  182. package/dist/resolver/internal/transform-runner.js.map +1 -0
  183. package/dist/resolver/internal/type-compatibility.d.ts +2 -0
  184. package/dist/resolver/internal/type-compatibility.d.ts.map +1 -0
  185. package/dist/resolver/internal/type-compatibility.js +25 -0
  186. package/dist/resolver/internal/type-compatibility.js.map +1 -0
  187. package/dist/resolver/types.d.ts +5 -1
  188. package/dist/resolver/types.d.ts.map +1 -1
  189. package/dist/runtime/resolve-options.d.ts +16 -0
  190. package/dist/runtime/resolve-options.d.ts.map +1 -0
  191. package/dist/runtime/resolve-options.js +27 -0
  192. package/dist/runtime/resolve-options.js.map +1 -0
  193. package/dist/session/internal/options.d.ts +1 -15
  194. package/dist/session/internal/options.d.ts.map +1 -1
  195. package/dist/session/internal/options.js +1 -28
  196. package/dist/session/internal/options.js.map +1 -1
  197. package/dist/session/internal/runtime.d.ts +15 -0
  198. package/dist/session/internal/runtime.d.ts.map +1 -0
  199. package/dist/session/internal/runtime.js +15 -0
  200. package/dist/session/internal/runtime.js.map +1 -0
  201. package/dist/session/options.d.ts +2 -0
  202. package/dist/session/options.d.ts.map +1 -0
  203. package/dist/session/options.js +2 -0
  204. package/dist/session/options.js.map +1 -0
  205. package/dist/session/runtime.d.ts +2 -0
  206. package/dist/session/runtime.d.ts.map +1 -0
  207. package/dist/session/runtime.js +2 -0
  208. package/dist/session/runtime.js.map +1 -0
  209. package/dist/session/types.d.ts +1 -15
  210. package/dist/session/types.d.ts.map +1 -1
  211. package/dist/session.d.ts +1 -1
  212. package/dist/session.d.ts.map +1 -1
  213. package/dist/session.js +4 -4
  214. package/dist/session.js.map +1 -1
  215. package/dist/tokens/contracts.d.ts +33 -0
  216. package/dist/tokens/contracts.d.ts.map +1 -0
  217. package/dist/tokens/contracts.js +2 -0
  218. package/dist/tokens/contracts.js.map +1 -0
  219. package/dist/tokens/inputs.d.ts +1 -4
  220. package/dist/tokens/inputs.d.ts.map +1 -1
  221. package/dist/tokens/inputs.js +21 -81
  222. package/dist/tokens/inputs.js.map +1 -1
  223. package/dist/tokens/internal/parse-result.d.ts +15 -0
  224. package/dist/tokens/internal/parse-result.d.ts.map +1 -0
  225. package/dist/tokens/internal/parse-result.js +43 -0
  226. package/dist/tokens/internal/parse-result.js.map +1 -0
  227. package/dist/tokens/parse-tokens.d.ts +3 -24
  228. package/dist/tokens/parse-tokens.d.ts.map +1 -1
  229. package/dist/tokens/parse-tokens.js +24 -49
  230. package/dist/tokens/parse-tokens.js.map +1 -1
  231. package/dist/tokens/token-flattening-adapter.d.ts +24 -0
  232. package/dist/tokens/token-flattening-adapter.d.ts.map +1 -0
  233. package/dist/tokens/token-flattening-adapter.js +59 -0
  234. package/dist/tokens/token-flattening-adapter.js.map +1 -0
  235. package/dist/tokens/use-case-factory.d.ts +11 -0
  236. package/dist/tokens/use-case-factory.d.ts.map +1 -0
  237. package/dist/tokens/use-case-factory.js +33 -0
  238. package/dist/tokens/use-case-factory.js.map +1 -0
  239. package/dist/utils/context.d.ts +3 -0
  240. package/dist/utils/context.d.ts.map +1 -0
  241. package/dist/utils/context.js +10 -0
  242. package/dist/utils/context.js.map +1 -0
  243. package/dist/utils/inline-yaml.d.ts.map +1 -0
  244. package/dist/utils/inline-yaml.js.map +1 -0
  245. package/dist/utils/json-pointer.d.ts +1 -1
  246. package/dist/utils/json-pointer.d.ts.map +1 -1
  247. package/dist/utils/source.d.ts +1 -1
  248. package/dist/utils/source.d.ts.map +1 -1
  249. package/dist/validation/schema-guard.d.ts.map +1 -1
  250. package/dist/validation/schema-guard.js +19 -82
  251. package/dist/validation/schema-guard.js.map +1 -1
  252. package/package.json +11 -12
  253. package/dist/io/decoder/inline-yaml.d.ts.map +0 -1
  254. package/dist/io/decoder/inline-yaml.js.map +0 -1
  255. /package/dist/{io/decoder → utils}/inline-yaml.d.ts +0 -0
  256. /package/dist/{io/decoder → utils}/inline-yaml.js +0 -0
@@ -26,7 +26,7 @@ export class ParseDocumentUseCase {
26
26
  appendDiagnostics(aggregated, ingestionResult.diagnostics);
27
27
  const rawDocument = ingestionResult.outcome;
28
28
  if (!rawDocument || hasErrors(ingestionResult.diagnostics)) {
29
- const diagnostics = aggregated.length === 0 ? EMPTY_DIAGNOSTICS : aggregated.slice();
29
+ const diagnostics = finalizeDiagnostics(aggregated);
30
30
  return this.#finalize({
31
31
  reportDiagnostics,
32
32
  result: { diagnostics, fromCache: false }
@@ -50,7 +50,7 @@ export class ParseDocumentUseCase {
50
50
  const decoded = decodedResult.outcome;
51
51
  appendDiagnostics(aggregated, decodedResult.diagnostics);
52
52
  if (!decoded || hasErrors(decodedResult.diagnostics)) {
53
- const diagnostics = aggregated.length === 0 ? EMPTY_DIAGNOSTICS : aggregated.slice();
53
+ const diagnostics = finalizeDiagnostics(aggregated);
54
54
  return this.#finalize({
55
55
  reportDiagnostics,
56
56
  result: { document, decoded, diagnostics, fromCache }
@@ -68,7 +68,7 @@ export class ParseDocumentUseCase {
68
68
  const validationResult = await this.#schema.validate(decoded);
69
69
  appendDiagnostics(aggregated, validationResult.diagnostics);
70
70
  if (!validationResult.outcome || hasErrors(validationResult.diagnostics)) {
71
- const diagnostics = aggregated.length === 0 ? EMPTY_DIAGNOSTICS : aggregated.slice();
71
+ const diagnostics = finalizeDiagnostics(aggregated);
72
72
  return this.#finalize({
73
73
  reportDiagnostics,
74
74
  result: { document, decoded, diagnostics, fromCache }
@@ -78,7 +78,7 @@ export class ParseDocumentUseCase {
78
78
  const normalized = normalizationResult.outcome;
79
79
  appendDiagnostics(aggregated, normalizationResult.diagnostics);
80
80
  if (!normalized || hasErrors(normalizationResult.diagnostics)) {
81
- const diagnostics = aggregated.length === 0 ? EMPTY_DIAGNOSTICS : aggregated.slice();
81
+ const diagnostics = finalizeDiagnostics(aggregated);
82
82
  return this.#finalize({
83
83
  reportDiagnostics,
84
84
  result: {
@@ -94,7 +94,7 @@ export class ParseDocumentUseCase {
94
94
  const graph = graphResult.outcome;
95
95
  appendDiagnostics(aggregated, graphResult.diagnostics);
96
96
  if (!graph || hasErrors(graphResult.diagnostics)) {
97
- const diagnostics = aggregated.length === 0 ? EMPTY_DIAGNOSTICS : aggregated.slice();
97
+ const diagnostics = finalizeDiagnostics(aggregated);
98
98
  return this.#finalize({
99
99
  reportDiagnostics,
100
100
  result: {
@@ -115,7 +115,7 @@ export class ParseDocumentUseCase {
115
115
  const resolution = resolutionResult.outcome;
116
116
  appendDiagnostics(aggregated, resolutionResult.diagnostics);
117
117
  if (!resolution || hasErrors(resolutionResult.diagnostics)) {
118
- const diagnostics = aggregated.length === 0 ? EMPTY_DIAGNOSTICS : aggregated.slice();
118
+ const diagnostics = finalizeDiagnostics(aggregated);
119
119
  return this.#finalize({
120
120
  reportDiagnostics,
121
121
  result: {
@@ -129,7 +129,7 @@ export class ParseDocumentUseCase {
129
129
  });
130
130
  }
131
131
  appendDiagnostics(aggregated, resolution.diagnostics);
132
- const diagnostics = aggregated.length === 0 ? EMPTY_DIAGNOSTICS : aggregated.slice();
132
+ const diagnostics = finalizeDiagnostics(aggregated);
133
133
  return this.#finalize({
134
134
  reportDiagnostics,
135
135
  result: {
@@ -150,7 +150,7 @@ export class ParseDocumentUseCase {
150
150
  appendDiagnostics(aggregated, ingestionResult.diagnostics);
151
151
  const rawDocument = ingestionResult.outcome;
152
152
  if (!rawDocument || hasErrors(ingestionResult.diagnostics)) {
153
- const diagnostics = aggregated.length === 0 ? EMPTY_DIAGNOSTICS : aggregated.slice();
153
+ const diagnostics = finalizeDiagnostics(aggregated);
154
154
  return this.#finalize({
155
155
  reportDiagnostics,
156
156
  result: { diagnostics, fromCache: false }
@@ -174,7 +174,7 @@ export class ParseDocumentUseCase {
174
174
  const decoded = decodedResult.outcome;
175
175
  appendDiagnostics(aggregated, decodedResult.diagnostics);
176
176
  if (!decoded || hasErrors(decodedResult.diagnostics)) {
177
- const diagnostics = aggregated.length === 0 ? EMPTY_DIAGNOSTICS : aggregated.slice();
177
+ const diagnostics = finalizeDiagnostics(aggregated);
178
178
  return this.#finalize({
179
179
  reportDiagnostics,
180
180
  result: { document, decoded, diagnostics, fromCache }
@@ -192,7 +192,7 @@ export class ParseDocumentUseCase {
192
192
  const validationResult = ensureSynchronous(this.#schema.validate(decoded), 'validate document');
193
193
  appendDiagnostics(aggregated, validationResult.diagnostics);
194
194
  if (!validationResult.outcome || hasErrors(validationResult.diagnostics)) {
195
- const diagnostics = aggregated.length === 0 ? EMPTY_DIAGNOSTICS : aggregated.slice();
195
+ const diagnostics = finalizeDiagnostics(aggregated);
196
196
  return this.#finalize({
197
197
  reportDiagnostics,
198
198
  result: { document, decoded, diagnostics, fromCache }
@@ -202,7 +202,7 @@ export class ParseDocumentUseCase {
202
202
  const normalized = normalizationResult.outcome;
203
203
  appendDiagnostics(aggregated, normalizationResult.diagnostics);
204
204
  if (!normalized || hasErrors(normalizationResult.diagnostics)) {
205
- const diagnostics = aggregated.length === 0 ? EMPTY_DIAGNOSTICS : aggregated.slice();
205
+ const diagnostics = finalizeDiagnostics(aggregated);
206
206
  return this.#finalize({
207
207
  reportDiagnostics,
208
208
  result: {
@@ -218,7 +218,7 @@ export class ParseDocumentUseCase {
218
218
  const graph = graphResult.outcome;
219
219
  appendDiagnostics(aggregated, graphResult.diagnostics);
220
220
  if (!graph || hasErrors(graphResult.diagnostics)) {
221
- const diagnostics = aggregated.length === 0 ? EMPTY_DIAGNOSTICS : aggregated.slice();
221
+ const diagnostics = finalizeDiagnostics(aggregated);
222
222
  return this.#finalize({
223
223
  reportDiagnostics,
224
224
  result: {
@@ -235,7 +235,7 @@ export class ParseDocumentUseCase {
235
235
  const resolution = resolutionResult.outcome;
236
236
  appendDiagnostics(aggregated, resolutionResult.diagnostics);
237
237
  if (!resolution || hasErrors(resolutionResult.diagnostics)) {
238
- const diagnostics = aggregated.length === 0 ? EMPTY_DIAGNOSTICS : aggregated.slice();
238
+ const diagnostics = finalizeDiagnostics(aggregated);
239
239
  return this.#finalize({
240
240
  reportDiagnostics,
241
241
  result: {
@@ -249,7 +249,7 @@ export class ParseDocumentUseCase {
249
249
  });
250
250
  }
251
251
  appendDiagnostics(aggregated, resolution.diagnostics);
252
- const diagnostics = aggregated.length === 0 ? EMPTY_DIAGNOSTICS : aggregated.slice();
252
+ const diagnostics = finalizeDiagnostics(aggregated);
253
253
  return this.#finalize({
254
254
  reportDiagnostics,
255
255
  result: {
@@ -312,15 +312,9 @@ export class ParseTokensUseCase {
312
312
  const aggregated = [...documentResult.diagnostics];
313
313
  let tokensFromCache = false;
314
314
  let snapshot;
315
- if (documentResult.resolution && documentResult.document) {
316
- const variant = this.#resolveVariantValue(input);
317
- const key = {
318
- document: documentResult.document.identity,
319
- variant
320
- };
321
- const documentHash = this.#hashDocument
322
- ? this.#hashDocument(documentResult.document)
323
- : undefined;
315
+ const context = this.#createTokenExecutionContext(documentResult, input);
316
+ if (context) {
317
+ const { key, documentHash, flatten } = context;
324
318
  if (this.#tokenCache && !input.bypassTokenCache) {
325
319
  const cached = await this.#tokenCache.get(key);
326
320
  if (cached && (!documentHash || cached.documentHash === documentHash)) {
@@ -329,25 +323,19 @@ export class ParseTokensUseCase {
329
323
  appendDiagnostics(aggregated, snapshot.diagnostics);
330
324
  }
331
325
  else {
332
- snapshot = await this.#flattenTokens(documentResult, aggregated, documentHash, input.flatten ?? true);
326
+ snapshot = await this.#flattenTokens(documentResult, aggregated, documentHash, flatten);
333
327
  if (snapshot && !hasErrors(snapshot.diagnostics)) {
334
- const entry = normalizeTokenCacheEntryDiagnostics(ensureDocumentHash(snapshot.token, documentHash), snapshot.diagnostics);
335
- await this.#tokenCache.set(key, entry);
328
+ await this.#tokenCache.set(key, withTokenCacheDiagnostics(snapshot.token, snapshot.diagnostics));
336
329
  }
337
330
  }
338
331
  }
339
332
  else {
340
- snapshot = await this.#flattenTokens(documentResult, aggregated, documentHash, input.flatten ?? true);
333
+ snapshot = await this.#flattenTokens(documentResult, aggregated, documentHash, flatten);
341
334
  }
342
335
  }
343
- const diagnostics = aggregated.length === 0 ? EMPTY_DIAGNOSTICS : aggregated.slice();
336
+ const diagnostics = finalizeDiagnostics(aggregated);
344
337
  this.#reportDiagnostics(diagnostics);
345
- return {
346
- ...documentResult,
347
- tokens: snapshot,
348
- diagnostics,
349
- tokensFromCache
350
- };
338
+ return this.#createParseTokensExecution(documentResult, snapshot, diagnostics, tokensFromCache);
351
339
  }
352
340
  executeSync(input) {
353
341
  const documentResult = this.#documents.executeSync(input, {
@@ -356,15 +344,9 @@ export class ParseTokensUseCase {
356
344
  const aggregated = [...documentResult.diagnostics];
357
345
  let tokensFromCache = false;
358
346
  let snapshot;
359
- if (documentResult.resolution && documentResult.document) {
360
- const variant = this.#resolveVariantValue(input);
361
- const key = {
362
- document: documentResult.document.identity,
363
- variant
364
- };
365
- const documentHash = this.#hashDocument
366
- ? this.#hashDocument(documentResult.document)
367
- : undefined;
347
+ const context = this.#createTokenExecutionContext(documentResult, input);
348
+ if (context) {
349
+ const { key, documentHash, flatten } = context;
368
350
  if (this.#tokenCache && !input.bypassTokenCache) {
369
351
  const cached = ensureSynchronous(this.#tokenCache.get(key), 'read token cache');
370
352
  if (cached && (!documentHash || cached.documentHash === documentHash)) {
@@ -373,25 +355,19 @@ export class ParseTokensUseCase {
373
355
  appendDiagnostics(aggregated, snapshot.diagnostics);
374
356
  }
375
357
  else {
376
- snapshot = this.#flattenTokensSync(documentResult, aggregated, documentHash, input.flatten ?? true);
358
+ snapshot = this.#flattenTokensSync(documentResult, aggregated, documentHash, flatten);
377
359
  if (snapshot && !hasErrors(snapshot.diagnostics)) {
378
- const entry = normalizeTokenCacheEntryDiagnostics(ensureDocumentHash(snapshot.token, documentHash), snapshot.diagnostics);
379
- ensureSynchronous(this.#tokenCache.set(key, entry), 'write token cache');
360
+ ensureSynchronous(this.#tokenCache.set(key, withTokenCacheDiagnostics(snapshot.token, snapshot.diagnostics)), 'write token cache');
380
361
  }
381
362
  }
382
363
  }
383
364
  else {
384
- snapshot = this.#flattenTokensSync(documentResult, aggregated, documentHash, input.flatten ?? true);
365
+ snapshot = this.#flattenTokensSync(documentResult, aggregated, documentHash, flatten);
385
366
  }
386
367
  }
387
- const diagnostics = aggregated.length === 0 ? EMPTY_DIAGNOSTICS : aggregated.slice();
368
+ const diagnostics = finalizeDiagnostics(aggregated);
388
369
  this.#reportDiagnostics(diagnostics);
389
- return {
390
- ...documentResult,
391
- tokens: snapshot,
392
- diagnostics,
393
- tokensFromCache
394
- };
370
+ return this.#createParseTokensExecution(documentResult, snapshot, diagnostics, tokensFromCache);
395
371
  }
396
372
  async #flattenTokens(documentResult, aggregated, documentHash, flatten) {
397
373
  if (!documentResult.document || !documentResult.graph || !documentResult.resolution) {
@@ -409,10 +385,8 @@ export class ParseTokensUseCase {
409
385
  if (!snapshot) {
410
386
  return undefined;
411
387
  }
412
- const tokenDiagnostics = aggregated.length > 0 ? Object.freeze(aggregated.slice()) : undefined;
413
- const token = ensureDocumentHash(snapshot.token, documentHash);
414
388
  return {
415
- token: tokenDiagnostics ? { ...token, diagnostics: tokenDiagnostics } : token,
389
+ token: snapshot.token,
416
390
  diagnostics: snapshot.diagnostics
417
391
  };
418
392
  }
@@ -432,10 +406,8 @@ export class ParseTokensUseCase {
432
406
  if (!snapshot) {
433
407
  return undefined;
434
408
  }
435
- const tokenDiagnostics = aggregated.length > 0 ? Object.freeze(aggregated.slice()) : undefined;
436
- const token = ensureDocumentHash(snapshot.token, documentHash);
437
409
  return {
438
- token: tokenDiagnostics ? { ...token, diagnostics: tokenDiagnostics } : token,
410
+ token: snapshot.token,
439
411
  diagnostics: snapshot.diagnostics
440
412
  };
441
413
  }
@@ -457,6 +429,33 @@ export class ParseTokensUseCase {
457
429
  includeGraphs: input.includeGraphs ?? true
458
430
  });
459
431
  }
432
+ #createTokenExecutionContext(documentResult, input) {
433
+ if (!documentResult.document || !documentResult.resolution) {
434
+ return undefined;
435
+ }
436
+ const variant = this.#resolveVariantValue(input);
437
+ const key = {
438
+ document: documentResult.document.identity,
439
+ variant
440
+ };
441
+ const documentHash = this.#hashDocument
442
+ ? this.#hashDocument(documentResult.document)
443
+ : undefined;
444
+ const flatten = input.flatten ?? true;
445
+ return {
446
+ key,
447
+ documentHash,
448
+ flatten
449
+ };
450
+ }
451
+ #createParseTokensExecution(documentResult, snapshot, diagnostics, tokensFromCache) {
452
+ return {
453
+ ...documentResult,
454
+ tokens: snapshot,
455
+ diagnostics,
456
+ tokensFromCache
457
+ };
458
+ }
460
459
  }
461
460
  const EMPTY_DIAGNOSTICS = Object.freeze([]);
462
461
  function appendDiagnostics(target, diagnostics) {
@@ -469,6 +468,9 @@ function appendDiagnostics(target, diagnostics) {
469
468
  }
470
469
  return events.some((event) => event.severity === 'error');
471
470
  }
471
+ function finalizeDiagnostics(aggregated) {
472
+ return aggregated.length === 0 ? EMPTY_DIAGNOSTICS : aggregated.slice();
473
+ }
472
474
  function hasErrors(diagnostics) {
473
475
  const events = toDiagnosticEvents(diagnostics);
474
476
  if (!events) {
@@ -483,21 +485,15 @@ function createSnapshotFromCache(entry) {
483
485
  diagnostics
484
486
  };
485
487
  }
486
- function ensureDocumentHash(entry, documentHash) {
487
- if (!documentHash || entry.documentHash === documentHash) {
488
- return entry;
489
- }
490
- return { ...entry, documentHash };
491
- }
492
- function normalizeTokenCacheEntryDiagnostics(entry, diagnostics) {
493
- const { diagnostics: existingDiagnostics, ...entryWithoutDiagnostics } = entry;
494
- if (diagnostics && diagnostics.length > 0) {
495
- return { ...entryWithoutDiagnostics, diagnostics };
496
- }
497
- if (!existingDiagnostics || existingDiagnostics.length === 0) {
488
+ function withTokenCacheDiagnostics(entry, diagnostics) {
489
+ if (diagnostics.length === 0) {
498
490
  return entry;
499
491
  }
500
- return entryWithoutDiagnostics;
492
+ const updated = {
493
+ ...entry,
494
+ diagnostics
495
+ };
496
+ return updated;
501
497
  }
502
498
  function toDiagnosticEvents(diagnostics) {
503
499
  if (!diagnostics) {
@@ -1 +1 @@
1
- {"version":3,"file":"use-cases.js","sourceRoot":"","sources":["../../src/application/use-cases.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAgCvD,MAAM,OAAO,oBAAoB;IACtB,UAAU,CAA2B;IACrC,SAAS,CAA0B;IACnC,OAAO,CAA0B;IACjC,cAAc,CAAqC;IACnD,MAAM,CAAyC;IAC/C,WAAW,CAA2C;IACtD,cAAc,CAAqB;IACnC,YAAY,CAAkB;IAEvC,YAAY,YAA8D;QACxE,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC,aAAa,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC,aAAa,CAAC;QACjD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,WAAW,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,OAAO,CACX,KAAyB,EACzB,UAAuC,EAAE;QAEzC,MAAM,EAAE,iBAAiB,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAC7C,MAAM,UAAU,GAAsB,EAAE,CAAC;QAEzC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpE,iBAAiB,CAAC,UAAU,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;QAE3D,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC;QAC5C,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3D,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACrF,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,iBAAiB;gBACjB,MAAM,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE;aAC1C,CAAC,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,GAAG,WAAW,CAAC;QAC3B,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;YACtD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACnE,IAAI,MAAM,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClE,QAAQ,GAAG,MAAM,CAAC;oBAClB,SAAS,GAAG,IAAI,CAAC;gBACnB,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;QACtC,iBAAiB,CAAC,UAAU,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;QAEzD,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;YACrD,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACrF,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,iBAAiB;gBACjB,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE;aACtD,CAAC,CAAC;QACL,CAAC;QAED,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE7C,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;YACpE,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9D,iBAAiB,CAAC,UAAU,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,gBAAgB,CAAC,OAAO,IAAI,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;YACzE,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACrF,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,iBAAiB;gBACjB,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE;aACtD,CAAC,CAAC;QACL,CAAC;QAED,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC;QAC/C,iBAAiB,CAAC,UAAU,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAE/D,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9D,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACrF,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,iBAAiB;gBACjB,MAAM,EAAE;oBACN,QAAQ;oBACR,OAAO;oBACP,UAAU;oBACV,WAAW;oBACX,SAAS;iBACV;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC;QAClC,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;QAEvD,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;YACjD,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACrF,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,iBAAiB;gBACjB,MAAM,EAAE;oBACN,QAAQ;oBACR,OAAO;oBACP,UAAU;oBACV,KAAK;oBACL,WAAW;oBACX,SAAS;iBACV;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE;YAC7D,QAAQ;YACR,OAAO;YACP,UAAU;SACX,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC;QAC5C,iBAAiB,CAAC,UAAU,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAE5D,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3D,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACrF,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,iBAAiB;gBACjB,MAAM,EAAE;oBACN,QAAQ;oBACR,OAAO;oBACP,UAAU;oBACV,KAAK;oBACL,WAAW;oBACX,SAAS;iBACV;aACF,CAAC,CAAC;QACL,CAAC;QAED,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;QAEtD,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACrF,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,iBAAiB;YACjB,MAAM,EAAE;gBACN,QAAQ;gBACR,OAAO;gBACP,UAAU;gBACV,KAAK;gBACL,UAAU;gBACV,WAAW;gBACX,SAAS;aACV;SACF,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CACT,KAAyB,EACzB,UAAuC,EAAE;QAEzC,MAAM,EAAE,iBAAiB,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAC7C,MAAM,UAAU,GAAsB,EAAE,CAAC;QAEzC,MAAM,eAAe,GAAG,iBAAiB,CACvC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EACrC,iBAAiB,CAClB,CAAC;QACF,iBAAiB,CAAC,UAAU,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;QAE3D,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC;QAC5C,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3D,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACrF,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,iBAAiB;gBACjB,MAAM,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE;aAC1C,CAAC,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,GAAG,WAAW,CAAC;QAC3B,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;YACtD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,iBAAiB,CAC9B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,EAC7C,qBAAqB,CACtB,CAAC;gBACF,IAAI,MAAM,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClE,QAAQ,GAAG,MAAM,CAAC;oBAClB,SAAS,GAAG,IAAI,CAAC;gBACnB,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAC5F,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;QACtC,iBAAiB,CAAC,UAAU,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;QAEzD,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;YACrD,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACrF,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,iBAAiB;gBACjB,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE;aACtD,CAAC,CAAC;QACL,CAAC;QAED,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE7C,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;YACpE,IAAI,CAAC;gBACH,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,sBAAsB,CAAC,CAAC;YAC/E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC;QAChG,iBAAiB,CAAC,UAAU,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,gBAAgB,CAAC,OAAO,IAAI,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;YACzE,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACrF,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,iBAAiB;gBACjB,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE;aACtD,CAAC,CAAC;QACL,CAAC;QAED,MAAM,mBAAmB,GAAG,iBAAiB,CAC3C,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,EACtC,oBAAoB,CACrB,CAAC;QACF,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC;QAC/C,iBAAiB,CAAC,UAAU,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAE/D,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9D,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACrF,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,iBAAiB;gBACjB,MAAM,EAAE;oBACN,QAAQ;oBACR,OAAO;oBACP,UAAU;oBACV,WAAW;oBACX,SAAS;iBACV;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAC7F,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC;QAClC,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;QAEvD,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;YACjD,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACrF,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,iBAAiB;gBACjB,MAAM,EAAE;oBACN,QAAQ;oBACR,OAAO;oBACP,UAAU;oBACV,KAAK;oBACL,WAAW;oBACX,SAAS;iBACV;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,gBAAgB,GAAG,iBAAiB,CACxC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAClE,kBAAkB,CACnB,CAAC;QACF,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC;QAC5C,iBAAiB,CAAC,UAAU,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAE5D,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3D,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACrF,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,iBAAiB;gBACjB,MAAM,EAAE;oBACN,QAAQ;oBACR,OAAO;oBACP,UAAU;oBACV,KAAK;oBACL,WAAW;oBACX,SAAS;iBACV;aACF,CAAC,CAAC;QACL,CAAC;QAED,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;QAEtD,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACrF,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,iBAAiB;YACjB,MAAM,EAAE;gBACN,QAAQ;gBACR,OAAO;gBACP,UAAU;gBACV,KAAK;gBACL,UAAU;gBACV,WAAW;gBACX,SAAS;aACV;SACF,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,EACR,iBAAiB,EACjB,MAAM,EAIP;QACC,IAAI,iBAAiB,EAAE,CAAC;YACtB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,kBAAkB,CAAC,MAAkC;QACnD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACvC,CAAC;CACF;AAED,SAAS,cAAc,CAAC,QAAqB,EAAE,OAAwB;IACrE,IACE,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI;QAC9B,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI;QAC9B,QAAQ,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EACxC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS;KAC7B,CAAC;AAC1B,CAAC;AAwBD,MAAM,OAAO,kBAAkB;IACpB,UAAU,CAA+E;IACzF,WAAW,CAA8D;IACzE,WAAW,CAAsC;IACjD,YAAY,CAAkB;IAC9B,aAAa,CAAqC;IAClD,eAAe,CAAqD;IAE7E,YAAY,YAA4D;QACtE,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,WAAW,CAAC;QAC7C,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,YAAY,CAAC;QAC/C,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC,cAAc,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAuB;QACnC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE;YAC1D,iBAAiB,EAAE,KAAK;SACzB,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,QAAuD,CAAC;QAE5D,IAAI,cAAc,CAAC,UAAU,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;YACzD,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACjD,MAAM,GAAG,GAAkB;gBACzB,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,QAAQ;gBAC1C,OAAO;aACR,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa;gBACrC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC;gBAC7C,CAAC,CAAC,SAAS,CAAC;YAEd,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC/C,IAAI,MAAM,IAAI,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,KAAK,YAAY,CAAC,EAAE,CAAC;oBACtE,QAAQ,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;oBAC3C,eAAe,GAAG,IAAI,CAAC;oBACvB,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACN,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAClC,cAAc,EACd,UAAU,EACV,YAAY,EACZ,KAAK,CAAC,OAAO,IAAI,IAAI,CACtB,CAAC;oBACF,IAAI,QAAQ,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;wBACjD,MAAM,KAAK,GAAG,mCAAmC,CAC/C,kBAAkB,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,EAChD,QAAQ,CAAC,WAAW,CACrB,CAAC;wBACF,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAClC,cAAc,EACd,UAAU,EACV,YAAY,EACZ,KAAK,CAAC,OAAO,IAAI,IAAI,CACtB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACrF,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAErC,OAAO;YACL,GAAG,cAAc;YACjB,MAAM,EAAE,QAAQ;YAChB,WAAW;YACX,eAAe;SACsC,CAAC;IAC1D,CAAC;IAED,WAAW,CAAC,KAAuB;QACjC,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE;YACxD,iBAAiB,EAAE,KAAK;SACzB,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,QAAuD,CAAC;QAE5D,IAAI,cAAc,CAAC,UAAU,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;YACzD,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACjD,MAAM,GAAG,GAAkB;gBACzB,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,QAAQ;gBAC1C,OAAO;aACR,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa;gBACrC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC;gBAC7C,CAAC,CAAC,SAAS,CAAC;YAEd,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBAChD,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,kBAAkB,CAAC,CAAC;gBAChF,IAAI,MAAM,IAAI,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,KAAK,YAAY,CAAC,EAAE,CAAC;oBACtE,QAAQ,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;oBAC3C,eAAe,GAAG,IAAI,CAAC;oBACvB,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACN,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAChC,cAAc,EACd,UAAU,EACV,YAAY,EACZ,KAAK,CAAC,OAAO,IAAI,IAAI,CACtB,CAAC;oBACF,IAAI,QAAQ,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;wBACjD,MAAM,KAAK,GAAG,mCAAmC,CAC/C,kBAAkB,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,EAChD,QAAQ,CAAC,WAAW,CACrB,CAAC;wBACF,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,mBAAmB,CAAC,CAAC;oBAC3E,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAChC,cAAc,EACd,UAAU,EACV,YAAY,EACZ,KAAK,CAAC,OAAO,IAAI,IAAI,CACtB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACrF,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAErC,OAAO;YACL,GAAG,cAAc;YACjB,MAAM,EAAE,QAAQ;YAChB,WAAW;YACX,eAAe;SACsC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,cAA6D,EAC7D,UAA6B,EAC7B,YAAgC,EAChC,OAAgB;QAEhB,IAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;YACpF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAC5C,QAAQ,EAAE,cAAc,CAAC,QAAQ;YACjC,KAAK,EAAE,cAAc,CAAC,KAAK;YAC3B,UAAU,EAAE,cAAc,CAAC,UAAU;YACrC,YAAY;YACZ,OAAO;SACR,CAAC,CAAC;QACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAElD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/F,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAE/D,OAAO;YACL,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,KAAK;YAC7E,WAAW,EAAE,QAAQ,CAAC,WAAW;SACU,CAAC;IAChD,CAAC;IAED,kBAAkB,CAChB,cAA6D,EAC7D,UAA6B,EAC7B,YAAgC,EAChC,OAAgB;QAEhB,IAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;YACpF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,iBAAiB,CAC9B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YACvB,QAAQ,EAAE,cAAc,CAAC,QAAQ;YACjC,KAAK,EAAE,cAAc,CAAC,KAAK;YAC3B,UAAU,EAAE,cAAc,CAAC,UAAU;YACrC,YAAY;YACZ,OAAO;SACR,CAAC,EACF,gBAAgB,CACjB,CAAC;QACF,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAElD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/F,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAE/D,OAAO;YACL,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,KAAK;YAC7E,WAAW,EAAE,QAAQ,CAAC,WAAW;SACU,CAAC;IAChD,CAAC;IAED,kBAAkB,CAAC,MAAkC;QACnD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,oBAAoB,CAAC,KAAuB;QAC1C,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC,OAAO,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC;YAC1B,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;YAC9B,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,IAAI;SAC3C,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,iBAAiB,GAA+B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAExE,SAAS,iBAAiB,CACxB,MAAyB,EACzB,WAA8D;IAE9D,MAAM,MAAM,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,SAAS,CAAC,WAA8D;IAC/E,MAAM,MAAM,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAyB;IACxD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,iBAAiB,CAAC;IAC3D,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,WAAW;KACgC,CAAC;AAChD,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAyB,EACzB,YAAgC;IAEhC,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,EAAE,GAAG,KAAK,EAAE,YAAY,EAA+B,CAAC;AACjE,CAAC;AAED,SAAS,mCAAmC,CAC1C,KAAyB,EACzB,WAAmD;IAEnD,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,GAAG,uBAAuB,EAAE,GAAG,KAAK,CAAC;IAE/E,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,OAAO,EAAE,GAAG,uBAAuB,EAAE,WAAW,EAA+B,CAAC;IAClF,CAAC;IAED,IAAI,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,uBAAoD,CAAC;AAC9D,CAAC;AAED,SAAS,kBAAkB,CACzB,WAA8D;IAE9D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,sBAAsB,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO,WAAW,CAAC,MAAM,CAAC;AAC5B,CAAC;AAED,SAAS,sBAAsB,CAC7B,WAA6D;IAE7D,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,OAAO;QACL,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,YAAY;QACvC,OAAO,EACL,KAAK,YAAY,KAAK;YACpB,CAAC,CAAC,4CAA4C,KAAK,CAAC,OAAO,EAAE;YAC7D,CAAC,CAAC,0CAA0C;QAChD,QAAQ,EAAE,SAAS;KACM,CAAC;AAC9B,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,OAAO;QACL,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,YAAY;QACvC,OAAO,EACL,KAAK,YAAY,KAAK;YACpB,CAAC,CAAC,yCAAyC,KAAK,CAAC,OAAO,EAAE;YAC1D,CAAC,CAAC,uCAAuC;QAC7C,QAAQ,EAAE,SAAS;KACM,CAAC;AAC9B,CAAC;AAED,SAAS,iBAAiB,CAAI,KAAqB,EAAE,KAAa;IAChE,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,iDAAiD,KAAK,GAAG,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAI,KAAqB;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,OAAO,IAAI,KAAK,UAAU,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"use-cases.js","sourceRoot":"","sources":["../../src/application/use-cases.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAgCvD,MAAM,OAAO,oBAAoB;IACtB,UAAU,CAA2B;IACrC,SAAS,CAA0B;IACnC,OAAO,CAA0B;IACjC,cAAc,CAAqC;IACnD,MAAM,CAAyC;IAC/C,WAAW,CAA2C;IACtD,cAAc,CAAqB;IACnC,YAAY,CAAkB;IAEvC,YAAY,YAA8D;QACxE,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC;QACnC,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC,aAAa,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC,aAAa,CAAC;QACjD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,WAAW,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,OAAO,CACX,KAAyB,EACzB,UAAuC,EAAE;QAEzC,MAAM,EAAE,iBAAiB,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAC7C,MAAM,UAAU,GAAsB,EAAE,CAAC;QAEzC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpE,iBAAiB,CAAC,UAAU,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;QAE3D,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC;QAC5C,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3D,MAAM,WAAW,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,iBAAiB;gBACjB,MAAM,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE;aAC1C,CAAC,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,GAAG,WAAW,CAAC;QAC3B,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;YACtD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBACnE,IAAI,MAAM,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClE,QAAQ,GAAG,MAAM,CAAC;oBAClB,SAAS,GAAG,IAAI,CAAC;gBACnB,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;QACtC,iBAAiB,CAAC,UAAU,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;QAEzD,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;YACrD,MAAM,WAAW,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,iBAAiB;gBACjB,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE;aACtD,CAAC,CAAC;QACL,CAAC;QAED,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE7C,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;YACpE,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9D,iBAAiB,CAAC,UAAU,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,gBAAgB,CAAC,OAAO,IAAI,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;YACzE,MAAM,WAAW,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,iBAAiB;gBACjB,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE;aACtD,CAAC,CAAC;QACL,CAAC;QAED,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACzE,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC;QAC/C,iBAAiB,CAAC,UAAU,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAE/D,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9D,MAAM,WAAW,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,iBAAiB;gBACjB,MAAM,EAAE;oBACN,QAAQ;oBACR,OAAO;oBACP,UAAU;oBACV,WAAW;oBACX,SAAS;iBACV;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC;QAClC,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;QAEvD,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;YACjD,MAAM,WAAW,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,iBAAiB;gBACjB,MAAM,EAAE;oBACN,QAAQ;oBACR,OAAO;oBACP,UAAU;oBACV,KAAK;oBACL,WAAW;oBACX,SAAS;iBACV;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE;YAC7D,QAAQ;YACR,OAAO;YACP,UAAU;SACX,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC;QAC5C,iBAAiB,CAAC,UAAU,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAE5D,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3D,MAAM,WAAW,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,iBAAiB;gBACjB,MAAM,EAAE;oBACN,QAAQ;oBACR,OAAO;oBACP,UAAU;oBACV,KAAK;oBACL,WAAW;oBACX,SAAS;iBACV;aACF,CAAC,CAAC;QACL,CAAC;QAED,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;QAEtD,MAAM,WAAW,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,iBAAiB;YACjB,MAAM,EAAE;gBACN,QAAQ;gBACR,OAAO;gBACP,UAAU;gBACV,KAAK;gBACL,UAAU;gBACV,WAAW;gBACX,SAAS;aACV;SACF,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CACT,KAAyB,EACzB,UAAuC,EAAE;QAEzC,MAAM,EAAE,iBAAiB,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAC7C,MAAM,UAAU,GAAsB,EAAE,CAAC;QAEzC,MAAM,eAAe,GAAG,iBAAiB,CACvC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EACrC,iBAAiB,CAClB,CAAC;QACF,iBAAiB,CAAC,UAAU,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;QAE3D,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC;QAC5C,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3D,MAAM,WAAW,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,iBAAiB;gBACjB,MAAM,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE;aAC1C,CAAC,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,GAAG,WAAW,CAAC;QAC3B,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;YACtD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,iBAAiB,CAC9B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,EAC7C,qBAAqB,CACtB,CAAC;gBACF,IAAI,MAAM,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClE,QAAQ,GAAG,MAAM,CAAC;oBAClB,SAAS,GAAG,IAAI,CAAC;gBACnB,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAC5F,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;QACtC,iBAAiB,CAAC,UAAU,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;QAEzD,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;YACrD,MAAM,WAAW,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,iBAAiB;gBACjB,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE;aACtD,CAAC,CAAC;QACL,CAAC;QAED,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE7C,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;YACpE,IAAI,CAAC;gBACH,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,sBAAsB,CAAC,CAAC;YAC/E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC;QAChG,iBAAiB,CAAC,UAAU,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,gBAAgB,CAAC,OAAO,IAAI,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;YACzE,MAAM,WAAW,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,iBAAiB;gBACjB,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE;aACtD,CAAC,CAAC;QACL,CAAC;QAED,MAAM,mBAAmB,GAAG,iBAAiB,CAC3C,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,EACtC,oBAAoB,CACrB,CAAC;QACF,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,CAAC;QAC/C,iBAAiB,CAAC,UAAU,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAE/D,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9D,MAAM,WAAW,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,iBAAiB;gBACjB,MAAM,EAAE;oBACN,QAAQ;oBACR,OAAO;oBACP,UAAU;oBACV,WAAW;oBACX,SAAS;iBACV;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAC7F,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC;QAClC,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;QAEvD,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;YACjD,MAAM,WAAW,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,iBAAiB;gBACjB,MAAM,EAAE;oBACN,QAAQ;oBACR,OAAO;oBACP,UAAU;oBACV,KAAK;oBACL,WAAW;oBACX,SAAS;iBACV;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,gBAAgB,GAAG,iBAAiB,CACxC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAClE,kBAAkB,CACnB,CAAC;QACF,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC;QAC5C,iBAAiB,CAAC,UAAU,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAE5D,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3D,MAAM,WAAW,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,iBAAiB;gBACjB,MAAM,EAAE;oBACN,QAAQ;oBACR,OAAO;oBACP,UAAU;oBACV,KAAK;oBACL,WAAW;oBACX,SAAS;iBACV;aACF,CAAC,CAAC;QACL,CAAC;QAED,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;QAEtD,MAAM,WAAW,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,iBAAiB;YACjB,MAAM,EAAE;gBACN,QAAQ;gBACR,OAAO;gBACP,UAAU;gBACV,KAAK;gBACL,UAAU;gBACV,WAAW;gBACX,SAAS;aACV;SACF,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,EACR,iBAAiB,EACjB,MAAM,EAIP;QACC,IAAI,iBAAiB,EAAE,CAAC;YACtB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,kBAAkB,CAAC,MAAkC;QACnD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACvC,CAAC;CACF;AAED,SAAS,cAAc,CAAC,QAAqB,EAAE,OAAwB;IACrE,IACE,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI;QAC9B,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI;QAC9B,QAAQ,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EACxC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS;KAC7B,CAAC;AAC1B,CAAC;AA2CD,MAAM,OAAO,kBAAkB;IAMpB,UAAU,CAA+E;IACzF,WAAW,CAAkD;IAC7D,WAAW,CAA0B;IACrC,YAAY,CAAkB;IAC9B,aAAa,CAAqC;IAClD,eAAe,CAAqD;IAE7E,YAAY,YAAoE;QAC9E,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,WAAW,CAAC;QAC7C,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,YAAY,CAAC;QAC/C,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC,cAAc,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,OAAO,CACX,KAAuB;QAEvB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE;YAC1D,iBAAiB,EAAE,KAAK;SACzB,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,QAA2C,CAAC;QAEhD,MAAM,OAAO,GAAG,IAAI,CAAC,4BAA4B,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACzE,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAE/C,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC/C,IAAI,MAAM,IAAI,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,KAAK,YAAY,CAAC,EAAE,CAAC;oBACtE,QAAQ,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;oBAC3C,eAAe,GAAG,IAAI,CAAC;oBACvB,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACN,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;oBACxF,IAAI,QAAQ,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;wBACjD,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CACxB,GAAG,EACH,yBAAyB,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,CAChE,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAErC,OAAO,IAAI,CAAC,2BAA2B,CAAC,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;IAClG,CAAC;IAED,WAAW,CAAC,KAAuB;QACjC,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE;YACxD,iBAAiB,EAAE,KAAK;SACzB,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,QAA2C,CAAC;QAEhD,MAAM,OAAO,GAAG,IAAI,CAAC,4BAA4B,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACzE,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAE/C,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBAChD,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,kBAAkB,CAAC,CAAC;gBAChF,IAAI,MAAM,IAAI,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,KAAK,YAAY,CAAC,EAAE,CAAC;oBACtE,QAAQ,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;oBAC3C,eAAe,GAAG,IAAI,CAAC;oBACvB,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACN,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;oBACtF,IAAI,QAAQ,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;wBACjD,iBAAiB,CACf,IAAI,CAAC,WAAW,CAAC,GAAG,CAClB,GAAG,EACH,yBAAyB,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,CAChE,EACD,mBAAmB,CACpB,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAErC,OAAO,IAAI,CAAC,2BAA2B,CAAC,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;IAClG,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,cAA6D,EAC7D,UAA6B,EAC7B,YAAgC,EAChC,OAAgB;QAEhB,IAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;YACpF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAC5C,QAAQ,EAAE,cAAc,CAAC,QAAQ;YACjC,KAAK,EAAE,cAAc,CAAC,KAAK;YAC3B,UAAU,EAAE,cAAc,CAAC,UAAU;YACrC,YAAY;YACZ,OAAO;SACR,CAAC,CAAC;QACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAElD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO;YACL,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;SACF,CAAC;IACpC,CAAC;IAED,kBAAkB,CAChB,cAA6D,EAC7D,UAA6B,EAC7B,YAAgC,EAChC,OAAgB;QAEhB,IAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;YACpF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,iBAAiB,CAC9B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YACvB,QAAQ,EAAE,cAAc,CAAC,QAAQ;YACjC,KAAK,EAAE,cAAc,CAAC,KAAK;YAC3B,UAAU,EAAE,cAAc,CAAC,UAAU;YACrC,YAAY;YACZ,OAAO;SACR,CAAC,EACF,gBAAgB,CACjB,CAAC;QACF,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAElD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO;YACL,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;SACF,CAAC;IACpC,CAAC;IAED,kBAAkB,CAAC,MAAkC;QACnD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,oBAAoB,CAAC,KAAuB;QAC1C,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC,OAAO,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC;YAC1B,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;YAC9B,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,IAAI;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,4BAA4B,CAC1B,cAA6D,EAC7D,KAAuB;QAEvB,IAAI,CAAC,cAAc,CAAC,QAAQ,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;YAC3D,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,GAAG,GAAkB;YACzB,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,QAAQ;YAC1C,OAAO;SACR,CAAC;QACF,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa;YACrC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,QAAQ,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC;QAEtC,OAAO;YACL,GAAG;YACH,YAAY;YACZ,OAAO;SACwB,CAAC;IACpC,CAAC;IAED,2BAA2B,CACzB,cAA6D,EAC7D,QAA2C,EAC3C,WAAuC,EACvC,eAAwB;QAExB,OAAO;YACL,GAAG,cAAc;YACjB,MAAM,EAAE,QAAQ;YAChB,WAAW;YACX,eAAe;SAC8C,CAAC;IAClE,CAAC;CACF;AAED,MAAM,iBAAiB,GAA+B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAQxE,SAAS,iBAAiB,CACxB,MAAyB,EACzB,WAA8D;IAE9D,MAAM,MAAM,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,mBAAmB,CAAC,UAAsC;IACjE,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;AAC1E,CAAC;AAED,SAAS,SAAS,CAAC,WAA8D;IAC/E,MAAM,MAAM,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,uBAAuB,CAC9B,KAAa;IAEb,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,iBAAiB,CAAC;IAC3D,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,WAAW;KACoB,CAAC;AACpC,CAAC;AAED,SAAS,yBAAyB,CAChC,KAAa,EACb,WAAuC;IAEvC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAW;QACtB,GAAG,KAAK;QACR,WAAW;KACZ,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,kBAAkB,CACzB,WAA8D;IAE9D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,sBAAsB,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO,WAAW,CAAC,MAAM,CAAC;AAC5B,CAAC;AAED,SAAS,sBAAsB,CAC7B,WAA6D;IAE7D,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,OAAO;QACL,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,YAAY;QACvC,OAAO,EACL,KAAK,YAAY,KAAK;YACpB,CAAC,CAAC,4CAA4C,KAAK,CAAC,OAAO,EAAE;YAC7D,CAAC,CAAC,0CAA0C;QAChD,QAAQ,EAAE,SAAS;KACM,CAAC;AAC9B,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,OAAO;QACL,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,YAAY;QACvC,OAAO,EACL,KAAK,YAAY,KAAK;YACpB,CAAC,CAAC,yCAAyC,KAAK,CAAC,OAAO,EAAE;YAC1D,CAAC,CAAC,uCAAuC;QAC7C,QAAQ,EAAE,SAAS;KACM,CAAC;AAC9B,CAAC;AAED,SAAS,iBAAiB,CAAI,KAAqB,EAAE,KAAa;IAChE,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,iDAAiD,KAAK,GAAG,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAI,KAAqB;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,OAAO,IAAI,KAAK,UAAU,CAAC;AACpC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { JsonPointer, SourceSpan } from '../types.js';
1
+ import type { JsonPointer, SourceSpan } from '../domain/primitives.js';
2
2
  export interface AstField<T> {
3
3
  readonly value: T;
4
4
  readonly pointer: JsonPointer;
@@ -1 +1 @@
1
- {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../src/ast/nodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../src/ast/nodes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAEvE,MAAM,WAAW,QAAQ,CAAC,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAClE,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACnD,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;CACjC;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACjD;AAED,MAAM,WAAW,SAAU,SAAQ,QAAQ;IACzC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,SAAU,SAAQ,QAAQ;IACzC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;CAChC;AAED,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG,SAAS,GAAG,SAAS,CAAC;AAEvE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACrD;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACrD;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,SAAS,YAAY,EAAE,CAAC;CAC7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../src/ast/normaliser/document.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAqB,WAAW,EAAE,MAAM,aAAa,CAAC;AAElE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAOtD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,WAAW,GAAG,SAAS,CA4CpF"}
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../src/ast/normaliser/document.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAqB,WAAW,EAAE,MAAM,aAAa,CAAC;AAElE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAWtD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,WAAW,GAAG,SAAS,CA8CpF"}
@@ -4,8 +4,11 @@ import { readOptionalStringField } from './fields.js';
4
4
  import { getSourceSpan } from './context.js';
5
5
  import { extractMetadata } from './metadata.js';
6
6
  import { normalizeNode } from './nodes.js';
7
+ import { validateCollectionMemberOrder } from './ordering.js';
7
8
  import { normalizeOverrides } from './overrides.js';
8
9
  import { freezeDocumentAst, isPlainObject } from './utils.js';
10
+ const SUPPORTED_VERSION_MAJOR = 1;
11
+ const SEMVER_MAJOR_PATTERN = /^([0-9]+)\./;
9
12
  export function buildDocumentAst(context) {
10
13
  const { document } = context;
11
14
  const data = document.data;
@@ -20,8 +23,10 @@ export function buildDocumentAst(context) {
20
23
  return undefined;
21
24
  }
22
25
  const metadata = extractMetadata(context, data, JSON_POINTER_ROOT);
26
+ validateCollectionMemberOrder(context, data, JSON_POINTER_ROOT);
23
27
  const schemaField = readOptionalStringField(context, data, '$schema', JSON_POINTER_ROOT);
24
28
  const versionField = readOptionalStringField(context, data, '$version', JSON_POINTER_ROOT);
29
+ emitVersionDiagnostics(context, versionField);
25
30
  const overrides = normalizeOverrides(context, data, JSON_POINTER_ROOT);
26
31
  const children = [];
27
32
  for (const [name, value] of Object.entries(data)) {
@@ -46,4 +51,25 @@ export function buildDocumentAst(context) {
46
51
  overrides
47
52
  });
48
53
  }
54
+ function emitVersionDiagnostics(context, versionField) {
55
+ if (!versionField) {
56
+ return;
57
+ }
58
+ const match = SEMVER_MAJOR_PATTERN.exec(versionField.value);
59
+ if (!match) {
60
+ return;
61
+ }
62
+ const majorText = match[1];
63
+ const major = Number.parseInt(majorText, 10);
64
+ if (!Number.isSafeInteger(major) || major <= SUPPORTED_VERSION_MAJOR) {
65
+ return;
66
+ }
67
+ context.diagnostics.push({
68
+ code: DiagnosticCodes.normaliser.FUTURE_VERSION,
69
+ message: `DTIF document declares major version "${majorText}", which is newer than the supported major version "${String(SUPPORTED_VERSION_MAJOR)}".`,
70
+ severity: 'warning',
71
+ pointer: versionField.pointer,
72
+ span: versionField.span
73
+ });
74
+ }
49
75
  //# sourceMappingURL=document.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../src/ast/normaliser/document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,UAAU,gBAAgB,CAAC,OAA0B;IACzD,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC7B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAE3B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,eAAe,CAAC,UAAU,CAAC,YAAY;YAC7C,OAAO,EAAE,2CAA2C;YACpD,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,iBAAiB;YAC1B,IAAI,EAAE,aAAa,CAAC,OAAO,EAAE,iBAAiB,CAAC;SAChD,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,uBAAuB,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;IACzF,MAAM,YAAY,GAAG,uBAAuB,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAC3F,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC;IAEvE,MAAM,QAAQ,GAAwB,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1D,IAAI,IAAI,EAAE,CAAC;YACT,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,iBAAiB,CAAC;QACvB,IAAI,EAAE,UAAU;QAChB,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG;QAC1B,OAAO,EAAE,iBAAiB;QAC1B,IAAI,EAAE,aAAa,CAAC,OAAO,EAAE,iBAAiB,CAAC;QAC/C,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,YAAY;QACrB,QAAQ;QACR,QAAQ;QACR,SAAS;KACV,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../src/ast/normaliser/document.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { JsonPointer } from '../../types.js';
1
+ import type { JsonPointer } from '../../domain/primitives.js';
2
2
  import type { AstField } from '../nodes.js';
3
3
  import type { NormaliserContext } from './context.js';
4
4
  export declare function readOptionalStringField(context: NormaliserContext, value: Record<string, unknown>, key: string, pointer: JsonPointer): AstField<string> | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../src/ast/normaliser/fields.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAItD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,WAAW,GACnB,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAoB9B;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,WAAW,GACnB,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAY9B;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,EAAE,WAAW,GACnB,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAsCzD"}
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../src/ast/normaliser/fields.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAItD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,WAAW,GACnB,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAoB9B;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,WAAW,GACnB,QAAQ,CAAC,MAAM,CAAC,GAAG,SAAS,CAY9B;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,EAAE,WAAW,GACnB,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,CAsCzD"}
@@ -0,0 +1,2 @@
1
+ export declare function isKnownTokenType(value: string): boolean;
2
+ //# sourceMappingURL=known-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"known-types.d.ts","sourceRoot":"","sources":["../../../src/ast/normaliser/known-types.ts"],"names":[],"mappings":"AAOA,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEvD"}
@@ -0,0 +1,37 @@
1
+ import { createRequire } from 'node:module';
2
+ const require = createRequire(import.meta.url);
3
+ const CORE_SCHEMA = require('@lapidist/dtif-schema/core.json');
4
+ const KNOWN_TYPES = collectKnownTypes(CORE_SCHEMA);
5
+ export function isKnownTokenType(value) {
6
+ return KNOWN_TYPES.has(value);
7
+ }
8
+ function collectKnownTypes(schema) {
9
+ const known = new Set();
10
+ walkSchemaForTypeConsts(schema, known);
11
+ return known;
12
+ }
13
+ function walkSchemaForTypeConsts(value, known) {
14
+ if (Array.isArray(value)) {
15
+ for (const entry of value) {
16
+ walkSchemaForTypeConsts(entry, known);
17
+ }
18
+ return;
19
+ }
20
+ if (!isRecord(value)) {
21
+ return;
22
+ }
23
+ const typeProperty = value.$type;
24
+ if (isRecord(typeProperty)) {
25
+ const typeConst = typeProperty.const;
26
+ if (typeof typeConst === 'string' && typeConst.length > 0) {
27
+ known.add(typeConst);
28
+ }
29
+ }
30
+ for (const nested of Object.values(value)) {
31
+ walkSchemaForTypeConsts(nested, known);
32
+ }
33
+ }
34
+ function isRecord(value) {
35
+ return typeof value === 'object' && value !== null;
36
+ }
37
+ //# sourceMappingURL=known-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"known-types.js","sourceRoot":"","sources":["../../../src/ast/normaliser/known-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAY,OAAO,CAAC,iCAAiC,CAAC,CAAC;AAExE,MAAM,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;AAEnD,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAe;IACxC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEvC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc,EAAE,KAAkB;IACjE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;YAC1B,uBAAuB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;IACjC,IAAI,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;QACrC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1C,uBAAuB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { JsonPointer } from '../../types.js';
1
+ import type { JsonPointer } from '../../domain/primitives.js';
2
2
  import type { NodeMetadata } from '../nodes.js';
3
3
  import type { NormaliserContext } from './context.js';
4
4
  export declare function extractMetadata(context: NormaliserContext, value: Record<string, unknown>, pointer: JsonPointer): NodeMetadata;
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/ast/normaliser/metadata.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAY,YAAY,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAoDtD,wBAAgB,eAAe,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,EAAE,WAAW,GACnB,YAAY,CAgPd"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/ast/normaliser/metadata.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAY,YAAY,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAoDtD,wBAAgB,eAAe,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,EAAE,WAAW,GACnB,YAAY,CAgPd"}
@@ -1,4 +1,4 @@
1
- import type { JsonPointer } from '../../types.js';
1
+ import type { JsonPointer } from '../../domain/primitives.js';
2
2
  import type { DocumentChildNode } from '../nodes.js';
3
3
  import type { NormaliserContext } from './context.js';
4
4
  export declare function normalizeNode(context: NormaliserContext, name: string, value: unknown, pointer: JsonPointer): DocumentChildNode | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../../src/ast/normaliser/nodes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAGV,iBAAiB,EAGlB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAMtD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,WAAW,GACnB,iBAAiB,GAAG,SAAS,CAsB/B"}
1
+ {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../../src/ast/normaliser/nodes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAGV,iBAAiB,EAGlB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAYtD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,WAAW,GACnB,iBAAiB,GAAG,SAAS,CAsB/B"}