@prisma-next/psl-parser 0.14.0-dev.4 → 0.14.0-dev.40

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 (47) hide show
  1. package/README.md +28 -10
  2. package/dist/declarations-CPDuQm7x.mjs +1055 -0
  3. package/dist/declarations-CPDuQm7x.mjs.map +1 -0
  4. package/dist/format.d.mts +1 -1
  5. package/dist/format.mjs +2 -1
  6. package/dist/format.mjs.map +1 -1
  7. package/dist/index.d.mts +137 -3
  8. package/dist/index.d.mts.map +1 -1
  9. package/dist/index.mjs +474 -3
  10. package/dist/index.mjs.map +1 -1
  11. package/dist/{parse-BjZ1LPe6.d.mts → parse-BKN_-hW8.d.mts} +126 -51
  12. package/dist/parse-BKN_-hW8.d.mts.map +1 -0
  13. package/dist/parse-Du30Ca0-.mjs +626 -0
  14. package/dist/parse-Du30Ca0-.mjs.map +1 -0
  15. package/dist/syntax.d.mts +20 -2
  16. package/dist/syntax.d.mts.map +1 -1
  17. package/dist/syntax.mjs +43 -2
  18. package/dist/syntax.mjs.map +1 -0
  19. package/package.json +5 -6
  20. package/src/block-reconstruction.ts +139 -0
  21. package/src/exports/index.ts +27 -3
  22. package/src/exports/syntax.ts +25 -5
  23. package/src/extension-block.ts +107 -0
  24. package/src/parse.ts +23 -5
  25. package/src/resolve.ts +123 -0
  26. package/src/source-file.ts +25 -0
  27. package/src/symbol-table.ts +446 -0
  28. package/src/syntax/ast/attributes.ts +5 -6
  29. package/src/syntax/ast/declarations.ts +51 -26
  30. package/src/syntax/ast/expressions.ts +12 -13
  31. package/src/syntax/ast/identifier.ts +2 -3
  32. package/src/syntax/ast/qualified-name.ts +22 -19
  33. package/src/syntax/ast/type-annotation.ts +4 -5
  34. package/src/syntax/ast-helpers.ts +27 -3
  35. package/src/syntax/navigation.ts +55 -0
  36. package/src/syntax/red.ts +317 -42
  37. package/dist/parse-B_3gIEFd.mjs +0 -1421
  38. package/dist/parse-B_3gIEFd.mjs.map +0 -1
  39. package/dist/parse-BjZ1LPe6.d.mts.map +0 -1
  40. package/dist/parser-CaplKvRs.mjs +0 -1145
  41. package/dist/parser-CaplKvRs.mjs.map +0 -1
  42. package/dist/parser-Dfi3Wfdq.d.mts +0 -7
  43. package/dist/parser-Dfi3Wfdq.d.mts.map +0 -1
  44. package/dist/parser.d.mts +0 -2
  45. package/dist/parser.mjs +0 -2
  46. package/src/exports/parser.ts +0 -1
  47. package/src/parser.ts +0 -1642
@@ -17,6 +17,8 @@ declare class SourceFile {
17
17
  get length(): number;
18
18
  get lineCount(): number;
19
19
  lineStartOffsets(): readonly number[];
20
+ lineStartOffset(line: number): number;
21
+ lineEndOffset(line: number): number;
20
22
  positionAt(offset: number): Position;
21
23
  offsetAt(position: Position): number;
22
24
  }
@@ -43,29 +45,89 @@ declare function greenNode(kind: SyntaxKind, children: ReadonlyArray<GreenElemen
43
45
  //#region src/syntax/red.d.ts
44
46
  /**
45
47
  * A token in the red tree. Unlike the green-layer {@link Token} (kind + text
46
- * only), a red token also carries its absolute `offset` within the source,
47
- * computed lazily as the tree is walked.
48
+ * only), a red token also carries its absolute `offset` within the source and a
49
+ * link back to its `parent` {@link SyntaxNode}, so a cursor anchored on a token
50
+ * can walk outward (parent, previous/next token, siblings) without re-scanning
51
+ * from the document root.
48
52
  */
49
- interface SyntaxToken extends Token {
53
+ declare class SyntaxToken implements Token {
54
+ readonly green: GreenToken;
55
+ readonly kind: TokenKind;
56
+ readonly text: string;
50
57
  readonly offset: number;
58
+ readonly parent: SyntaxNode;
59
+ /** Position within the parent's children, enabling O(1) sibling navigation without rescanning the green layer. */
60
+ readonly index: number;
61
+ constructor(green: GreenToken, offset: number, parent: SyntaxNode, index: number);
62
+ get textLength(): number;
63
+ get endOffset(): number;
64
+ /** Whether `offset` falls within this token, inclusive of both ends. */
65
+ isInside(offset: number): boolean;
66
+ isOutside(offset: number): boolean;
67
+ /** The sibling element immediately after this token within its parent. */
68
+ get nextSiblingOrToken(): SyntaxElement | undefined;
69
+ /** The sibling element immediately before this token within its parent. */
70
+ get prevSiblingOrToken(): SyntaxElement | undefined;
71
+ /** The next token in document order, crossing node boundaries. */
72
+ get nextToken(): SyntaxToken | undefined;
73
+ /** The previous token in document order, crossing node boundaries. */
74
+ get prevToken(): SyntaxToken | undefined;
51
75
  }
52
76
  type SyntaxElement = SyntaxNode | SyntaxToken;
77
+ declare class TokenAtOffset {
78
+ #private;
79
+ private constructor();
80
+ static none(): TokenAtOffset;
81
+ static single(token: SyntaxToken): TokenAtOffset;
82
+ static between(left: SyntaxToken, right: SyntaxToken): TokenAtOffset;
83
+ get isEmpty(): boolean;
84
+ get isBetween(): boolean;
85
+ leftBiased(): SyntaxToken | undefined;
86
+ rightBiased(): SyntaxToken | undefined;
87
+ }
53
88
  declare class SyntaxNode {
54
89
  readonly green: GreenNode;
55
90
  readonly offset: number;
56
91
  readonly parent: SyntaxNode | undefined;
57
- constructor(green: GreenNode, offset: number, parent: SyntaxNode | undefined);
92
+ /** Position within the parent's children, enabling O(1) sibling navigation without rescanning the green layer. */
93
+ readonly index: number;
94
+ constructor(green: GreenNode, offset: number, parent: SyntaxNode | undefined, index: number);
58
95
  get kind(): SyntaxKind;
59
96
  get textLength(): number;
97
+ get endOffset(): number;
98
+ /** Whether `offset` falls within this node, inclusive of both ends. */
99
+ isInside(offset: number): boolean;
100
+ isOutside(offset: number): boolean;
60
101
  get firstChild(): SyntaxElement | undefined;
61
102
  get lastChild(): SyntaxElement | undefined;
62
103
  get nextSibling(): SyntaxElement | undefined;
63
104
  get prevSibling(): SyntaxElement | undefined;
105
+ /** The sibling element immediately after this node within its parent. */
106
+ get nextSiblingOrToken(): SyntaxElement | undefined;
107
+ /** The sibling element immediately before this node within its parent. */
108
+ get prevSiblingOrToken(): SyntaxElement | undefined;
109
+ /** The first token in this subtree (depth-first), or `undefined` if empty. */
110
+ get firstToken(): SyntaxToken | undefined;
111
+ /** The last token in this subtree (depth-first), or `undefined` if empty. */
112
+ get lastToken(): SyntaxToken | undefined;
64
113
  children(): Iterable<SyntaxElement>;
65
114
  childNodes(): Iterable<SyntaxNode>;
66
115
  ancestors(): Iterable<SyntaxNode>;
116
+ /** The nearest match, testing this node itself before walking its ancestors. */
117
+ findAncestor<T>(cast: (node: SyntaxNode) => T | undefined): T | undefined;
67
118
  descendants(): Iterable<SyntaxElement>;
68
119
  tokens(): Iterable<SyntaxToken>;
120
+ /**
121
+ * The token(s) at `offset`. The between-two-tokens case (offset exactly on a
122
+ * token seam) is represented explicitly so callers can left/right bias.
123
+ */
124
+ tokenAtOffset(offset: number): TokenAtOffset;
125
+ /**
126
+ * The smallest element fully containing the range `[start, end]`. At a seam
127
+ * (and for empty ranges) the left-hand element is preferred, matching
128
+ * {@link containsOffset}'s inclusive span.
129
+ */
130
+ coveringElement(start: number, end: number): SyntaxElement;
69
131
  }
70
132
  declare function createSyntaxTree(green: GreenNode): SyntaxNode;
71
133
  //#endregion
@@ -73,9 +135,15 @@ declare function createSyntaxTree(green: GreenNode): SyntaxNode;
73
135
  interface AstNode {
74
136
  readonly syntax: SyntaxNode;
75
137
  }
76
- declare function findChildToken(node: SyntaxNode, kind: TokenKind): Token | undefined;
138
+ interface BracedBlock extends AstNode {
139
+ lbrace(): SyntaxToken | undefined;
140
+ rbrace(): SyntaxToken | undefined;
141
+ }
142
+ declare function findChildToken(node: SyntaxNode, kind: TokenKind): SyntaxToken | undefined;
77
143
  declare function findFirstChild<T>(node: SyntaxNode, cast: (node: SyntaxNode) => T | undefined): T | undefined;
78
144
  declare function filterChildren<T>(node: SyntaxNode, cast: (node: SyntaxNode) => T | undefined): Iterable<T>;
145
+ type CastTarget<C> = C extends ((node: SyntaxNode) => infer R) ? Exclude<R, undefined> : never;
146
+ declare function any<Casts extends readonly ((node: SyntaxNode) => unknown)[]>(...casts: Casts): (node: SyntaxNode) => CastTarget<Casts[number]> | undefined;
79
147
  /**
80
148
  * Raw source text of a CST node, verbatim (quotes and brackets preserved). For
81
149
  * the decoded value of a string literal, decode it instead.
@@ -86,7 +154,7 @@ declare function printSyntax(node: SyntaxNode): string;
86
154
  declare class IdentifierAst implements AstNode {
87
155
  readonly syntax: SyntaxNode;
88
156
  constructor(syntax: SyntaxNode);
89
- token(): Token | undefined;
157
+ token(): SyntaxToken | undefined;
90
158
  name(): string | undefined;
91
159
  static cast(node: SyntaxNode): IdentifierAst | undefined;
92
160
  }
@@ -97,8 +165,8 @@ declare class QualifiedNameAst implements AstNode {
97
165
  #private;
98
166
  readonly syntax: SyntaxNode;
99
167
  constructor(syntax: SyntaxNode);
100
- colon(): Token | undefined;
101
- dot(): Token | undefined;
168
+ colon(): SyntaxToken | undefined;
169
+ dot(): SyntaxToken | undefined;
102
170
  space(): IdentifierAst | undefined;
103
171
  namespace(): IdentifierAst | undefined;
104
172
  identifier(): IdentifierAst | undefined;
@@ -127,45 +195,45 @@ declare class FunctionCallAst implements AstNode {
127
195
  * `['pgvector', 'Vector']`. Empty when the call carries no identifier.
128
196
  */
129
197
  path(): readonly string[];
130
- lparen(): Token | undefined;
131
- rparen(): Token | undefined;
198
+ lparen(): SyntaxToken | undefined;
199
+ rparen(): SyntaxToken | undefined;
132
200
  args(): Iterable<AttributeArgAst>;
133
201
  static cast(node: SyntaxNode): FunctionCallAst | undefined;
134
202
  }
135
203
  declare class ArrayLiteralAst implements AstNode {
136
204
  readonly syntax: SyntaxNode;
137
205
  constructor(syntax: SyntaxNode);
138
- lbracket(): Token | undefined;
139
- rbracket(): Token | undefined;
206
+ lbracket(): SyntaxToken | undefined;
207
+ rbracket(): SyntaxToken | undefined;
140
208
  elements(): Iterable<ExpressionAst>;
141
209
  static cast(node: SyntaxNode): ArrayLiteralAst | undefined;
142
210
  }
143
211
  declare class StringLiteralExprAst implements AstNode {
144
212
  readonly syntax: SyntaxNode;
145
213
  constructor(syntax: SyntaxNode);
146
- token(): Token | undefined;
214
+ token(): SyntaxToken | undefined;
147
215
  value(): string | undefined;
148
216
  static cast(node: SyntaxNode): StringLiteralExprAst | undefined;
149
217
  }
150
218
  declare class NumberLiteralExprAst implements AstNode {
151
219
  readonly syntax: SyntaxNode;
152
220
  constructor(syntax: SyntaxNode);
153
- token(): Token | undefined;
221
+ token(): SyntaxToken | undefined;
154
222
  value(): number | undefined;
155
223
  static cast(node: SyntaxNode): NumberLiteralExprAst | undefined;
156
224
  }
157
225
  declare class BooleanLiteralExprAst implements AstNode {
158
226
  readonly syntax: SyntaxNode;
159
227
  constructor(syntax: SyntaxNode);
160
- token(): Token | undefined;
228
+ token(): SyntaxToken | undefined;
161
229
  value(): boolean | undefined;
162
230
  static cast(node: SyntaxNode): BooleanLiteralExprAst | undefined;
163
231
  }
164
232
  declare class ObjectLiteralExprAst implements AstNode {
165
233
  readonly syntax: SyntaxNode;
166
234
  constructor(syntax: SyntaxNode);
167
- lbrace(): Token | undefined;
168
- rbrace(): Token | undefined;
235
+ lbrace(): SyntaxToken | undefined;
236
+ rbrace(): SyntaxToken | undefined;
169
237
  fields(): Iterable<ObjectFieldAst>;
170
238
  static cast(node: SyntaxNode): ObjectLiteralExprAst | undefined;
171
239
  }
@@ -179,7 +247,7 @@ declare class ObjectFieldAst implements AstNode {
179
247
  * `undefined` when the field carries no key node.
180
248
  */
181
249
  keyName(): string | undefined;
182
- colon(): Token | undefined;
250
+ colon(): SyntaxToken | undefined;
183
251
  value(): ExpressionAst | undefined;
184
252
  static cast(node: SyntaxNode): ObjectFieldAst | undefined;
185
253
  }
@@ -189,7 +257,7 @@ declare class AttributeArgAst implements AstNode {
189
257
  readonly syntax: SyntaxNode;
190
258
  constructor(syntax: SyntaxNode);
191
259
  name(): IdentifierAst | undefined;
192
- colon(): Token | undefined;
260
+ colon(): SyntaxToken | undefined;
193
261
  value(): ExpressionAst | undefined;
194
262
  static cast(node: SyntaxNode): AttributeArgAst | undefined;
195
263
  }
@@ -198,15 +266,15 @@ declare class AttributeArgAst implements AstNode {
198
266
  declare class AttributeArgListAst implements AstNode {
199
267
  readonly syntax: SyntaxNode;
200
268
  constructor(syntax: SyntaxNode);
201
- lparen(): Token | undefined;
202
- rparen(): Token | undefined;
269
+ lparen(): SyntaxToken | undefined;
270
+ rparen(): SyntaxToken | undefined;
203
271
  args(): Iterable<AttributeArgAst>;
204
272
  static cast(node: SyntaxNode): AttributeArgListAst | undefined;
205
273
  }
206
274
  declare class FieldAttributeAst implements AstNode {
207
275
  readonly syntax: SyntaxNode;
208
276
  constructor(syntax: SyntaxNode);
209
- at(): Token | undefined;
277
+ at(): SyntaxToken | undefined;
210
278
  name(): QualifiedNameAst | undefined;
211
279
  argList(): AttributeArgListAst | undefined;
212
280
  static cast(node: SyntaxNode): FieldAttributeAst | undefined;
@@ -214,7 +282,7 @@ declare class FieldAttributeAst implements AstNode {
214
282
  declare class ModelAttributeAst implements AstNode {
215
283
  readonly syntax: SyntaxNode;
216
284
  constructor(syntax: SyntaxNode);
217
- doubleAt(): Token | undefined;
285
+ doubleAt(): SyntaxToken | undefined;
218
286
  name(): QualifiedNameAst | undefined;
219
287
  argList(): AttributeArgListAst | undefined;
220
288
  static cast(node: SyntaxNode): ModelAttributeAst | undefined;
@@ -229,9 +297,9 @@ declare class TypeAnnotationAst implements AstNode {
229
297
  /** Present when the annotation is a constructor (`Vector(1536)`) rather than a plain reference. */
230
298
  argList(): AttributeArgListAst | undefined;
231
299
  isConstructor(): boolean;
232
- lbracket(): Token | undefined;
233
- rbracket(): Token | undefined;
234
- questionMark(): Token | undefined;
300
+ lbracket(): SyntaxToken | undefined;
301
+ rbracket(): SyntaxToken | undefined;
302
+ questionMark(): SyntaxToken | undefined;
235
303
  isList(): boolean;
236
304
  isOptional(): boolean;
237
305
  static cast(node: SyntaxNode): TypeAnnotationAst | undefined;
@@ -244,69 +312,76 @@ declare class TypeAnnotationAst implements AstNode {
244
312
  * blocks are document-only, so they are not namespace members.
245
313
  */
246
314
  type NamespaceMemberAst = ModelDeclarationAst | CompositeTypeDeclarationAst | GenericBlockDeclarationAst;
315
+ type DeclarationAst = NamespaceMemberAst | TypesBlockAst | NamespaceDeclarationAst;
316
+ type AttributeAst = FieldAttributeAst | ModelAttributeAst;
317
+ type BlockMemberAst = FieldDeclarationAst | ModelAttributeAst;
318
+ type GenericBlockMemberAst = KeyValuePairAst | ModelAttributeAst;
247
319
  declare class DocumentAst implements AstNode {
248
320
  readonly syntax: SyntaxNode;
249
321
  constructor(syntax: SyntaxNode);
250
- declarations(): Iterable<NamespaceMemberAst | TypesBlockAst | NamespaceDeclarationAst>;
322
+ declarations(): Iterable<DeclarationAst>;
251
323
  static cast(node: SyntaxNode): DocumentAst | undefined;
252
324
  }
253
- declare class ModelDeclarationAst implements AstNode {
325
+ declare class ModelDeclarationAst implements BracedBlock {
254
326
  readonly syntax: SyntaxNode;
255
327
  constructor(syntax: SyntaxNode);
256
- keyword(): Token | undefined;
328
+ keyword(): SyntaxToken | undefined;
257
329
  name(): IdentifierAst | undefined;
258
- lbrace(): Token | undefined;
259
- rbrace(): Token | undefined;
330
+ lbrace(): SyntaxToken | undefined;
331
+ rbrace(): SyntaxToken | undefined;
260
332
  fields(): Iterable<FieldDeclarationAst>;
261
333
  attributes(): Iterable<ModelAttributeAst>;
334
+ members(): Iterable<BlockMemberAst>;
262
335
  static cast(node: SyntaxNode): ModelDeclarationAst | undefined;
263
336
  }
264
- declare class CompositeTypeDeclarationAst implements AstNode {
337
+ declare class CompositeTypeDeclarationAst implements BracedBlock {
265
338
  readonly syntax: SyntaxNode;
266
339
  constructor(syntax: SyntaxNode);
267
- keyword(): Token | undefined;
340
+ keyword(): SyntaxToken | undefined;
268
341
  name(): IdentifierAst | undefined;
269
- lbrace(): Token | undefined;
270
- rbrace(): Token | undefined;
342
+ lbrace(): SyntaxToken | undefined;
343
+ rbrace(): SyntaxToken | undefined;
271
344
  fields(): Iterable<FieldDeclarationAst>;
272
345
  attributes(): Iterable<ModelAttributeAst>;
346
+ members(): Iterable<BlockMemberAst>;
273
347
  static cast(node: SyntaxNode): CompositeTypeDeclarationAst | undefined;
274
348
  }
275
- declare class NamespaceDeclarationAst implements AstNode {
349
+ declare class NamespaceDeclarationAst implements BracedBlock {
276
350
  readonly syntax: SyntaxNode;
277
351
  constructor(syntax: SyntaxNode);
278
- keyword(): Token | undefined;
352
+ keyword(): SyntaxToken | undefined;
279
353
  name(): IdentifierAst | undefined;
280
- lbrace(): Token | undefined;
281
- rbrace(): Token | undefined;
354
+ lbrace(): SyntaxToken | undefined;
355
+ rbrace(): SyntaxToken | undefined;
282
356
  declarations(): Iterable<NamespaceMemberAst>;
283
357
  static cast(node: SyntaxNode): NamespaceDeclarationAst | undefined;
284
358
  }
285
- declare class TypesBlockAst implements AstNode {
359
+ declare class TypesBlockAst implements BracedBlock {
286
360
  readonly syntax: SyntaxNode;
287
361
  constructor(syntax: SyntaxNode);
288
- keyword(): Token | undefined;
289
- lbrace(): Token | undefined;
290
- rbrace(): Token | undefined;
362
+ keyword(): SyntaxToken | undefined;
363
+ lbrace(): SyntaxToken | undefined;
364
+ rbrace(): SyntaxToken | undefined;
291
365
  declarations(): Iterable<NamedTypeDeclarationAst>;
292
366
  static cast(node: SyntaxNode): TypesBlockAst | undefined;
293
367
  }
294
- declare class GenericBlockDeclarationAst implements AstNode {
368
+ declare class GenericBlockDeclarationAst implements BracedBlock {
295
369
  readonly syntax: SyntaxNode;
296
370
  constructor(syntax: SyntaxNode);
297
- keyword(): Token | undefined;
371
+ keyword(): SyntaxToken | undefined;
298
372
  name(): IdentifierAst | undefined;
299
- lbrace(): Token | undefined;
300
- rbrace(): Token | undefined;
373
+ lbrace(): SyntaxToken | undefined;
374
+ rbrace(): SyntaxToken | undefined;
301
375
  entries(): Iterable<KeyValuePairAst>;
302
376
  attributes(): Iterable<ModelAttributeAst>;
377
+ members(): Iterable<GenericBlockMemberAst>;
303
378
  static cast(node: SyntaxNode): GenericBlockDeclarationAst | undefined;
304
379
  }
305
380
  declare class KeyValuePairAst implements AstNode {
306
381
  readonly syntax: SyntaxNode;
307
382
  constructor(syntax: SyntaxNode);
308
383
  key(): IdentifierAst | undefined;
309
- equals(): Token | undefined;
384
+ equals(): SyntaxToken | undefined;
310
385
  value(): ExpressionAst | undefined;
311
386
  static cast(node: SyntaxNode): KeyValuePairAst | undefined;
312
387
  }
@@ -322,7 +397,7 @@ declare class NamedTypeDeclarationAst implements AstNode {
322
397
  readonly syntax: SyntaxNode;
323
398
  constructor(syntax: SyntaxNode);
324
399
  name(): IdentifierAst | undefined;
325
- equals(): Token | undefined;
400
+ equals(): SyntaxToken | undefined;
326
401
  typeAnnotation(): TypeAnnotationAst | undefined;
327
402
  attributes(): Iterable<FieldAttributeAst>;
328
403
  static cast(node: SyntaxNode): NamedTypeDeclarationAst | undefined;
@@ -345,5 +420,5 @@ interface ParseResult {
345
420
  */
346
421
  declare function parse(source: string): ParseResult;
347
422
  //#endregion
348
- export { AstNode as A, GreenNode as B, NumberLiteralExprAst as C, castExpression as D, StringLiteralExprAst as E, SyntaxElement as F, Position as G, greenNode as H, SyntaxNode as I, Range as K, SyntaxToken as L, findChildToken as M, findFirstChild as N, QualifiedNameAst as O, printSyntax as P, createSyntaxTree as R, FunctionCallAst as S, ObjectLiteralExprAst as T, greenToken as U, GreenToken as V, SyntaxKind as W, ModelAttributeAst as _, DocumentAst as a, BooleanLiteralExprAst as b, KeyValuePairAst as c, NamespaceDeclarationAst as d, NamespaceMemberAst as f, FieldAttributeAst as g, AttributeArgListAst as h, CompositeTypeDeclarationAst as i, filterChildren as j, IdentifierAst as k, ModelDeclarationAst as l, TypeAnnotationAst as m, ParseResult as n, FieldDeclarationAst as o, TypesBlockAst as p, SourceFile as q, parse as r, GenericBlockDeclarationAst as s, ParseDiagnostic as t, NamedTypeDeclarationAst as u, ArrayLiteralAst as v, ObjectFieldAst as w, ExpressionAst as x, AttributeArgAst as y, GreenElement as z };
349
- //# sourceMappingURL=parse-BjZ1LPe6.d.mts.map
423
+ export { Range as $, StringLiteralExprAst as A, printSyntax as B, AttributeArgAst as C, NumberLiteralExprAst as D, FunctionCallAst as E, BracedBlock as F, createSyntaxTree as G, SyntaxNode as H, any as I, GreenToken as J, GreenElement as K, filterChildren as L, QualifiedNameAst as M, IdentifierAst as N, ObjectFieldAst as O, AstNode as P, Position as Q, findChildToken as R, ArrayLiteralAst as S, ExpressionAst as T, SyntaxToken as U, SyntaxElement as V, TokenAtOffset as W, greenToken as X, greenNode as Y, SyntaxKind as Z, TypesBlockAst as _, BlockMemberAst as a, FieldAttributeAst as b, DocumentAst as c, GenericBlockMemberAst as d, SourceFile as et, KeyValuePairAst as f, NamespaceMemberAst as g, NamespaceDeclarationAst as h, AttributeAst as i, castExpression as j, ObjectLiteralExprAst as k, FieldDeclarationAst as l, NamedTypeDeclarationAst as m, ParseResult as n, CompositeTypeDeclarationAst as o, ModelDeclarationAst as p, GreenNode as q, parse as r, DeclarationAst as s, ParseDiagnostic as t, GenericBlockDeclarationAst as u, TypeAnnotationAst as v, BooleanLiteralExprAst as w, ModelAttributeAst as x, AttributeArgListAst as y, findFirstChild as z };
424
+ //# sourceMappingURL=parse-BKN_-hW8.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-BKN_-hW8.d.mts","names":[],"sources":["../src/source-file.ts","../src/syntax/syntax-kind.ts","../src/syntax/green.ts","../src/syntax/red.ts","../src/syntax/ast-helpers.ts","../src/syntax/ast/identifier.ts","../src/syntax/ast/qualified-name.ts","../src/syntax/ast/expressions.ts","../src/syntax/ast/attributes.ts","../src/syntax/ast/type-annotation.ts","../src/syntax/ast/declarations.ts","../src/parse.ts"],"mappings":";;;;UAGiB,QAAA;EAAA,SACN,IAAA;EAAA,SACA,SAAS;AAAA;AAAA,UAGH,KAAA;EAAA,SACN,KAAA,EAAO,QAAA;EAAA,SACP,GAAA,EAAK,QAAQ;AAAA;AAAA,cAGX,UAAA;EAAA;cAIC,IAAA;EAAA,IAWR,IAAA;EAAA,IAIA,MAAA;EAAA,IAIA,SAAA;EAIJ,gBAAA;EAIA,eAAA,CAAgB,IAAA;EAOhB,aAAA,CAAc,IAAA;EAiBd,UAAA,CAAW,MAAA,WAAiB,QAAA;EAM5B,QAAA,CAAS,QAAA,EAAU,QAAQ;AAAA;;;KC1EjB,UAAA;;;UCGK,UAAA;EAAA,SACN,IAAA;EAAA,SACA,IAAA,EAAM,SAAS;EAAA,SACf,IAAA;AAAA;AAAA,UAGM,SAAA;EAAA,SACN,IAAA;EAAA,SACA,IAAA,EAAM,UAAA;EAAA,SACN,QAAA,EAAU,aAAA,CAAc,YAAA;EAAA,SACxB,UAAA;AAAA;AAAA,KAGC,YAAA,GAAe,SAAA,GAAY,UAAU;AAAA,iBAEjC,UAAA,CAAW,IAAA,EAAM,SAAA,EAAW,IAAA,WAAe,UAAU;AAAA,iBAIrD,SAAA,CAAU,IAAA,EAAM,UAAA,EAAY,QAAA,EAAU,aAAA,CAAc,YAAA,IAAgB,SAAA;;;;AFnBpF;;;;AAEoB;AAGpB;cGGa,WAAA,YAAuB,KAAA;EAAA,SACzB,KAAA,EAAO,UAAA;EAAA,SACP,IAAA,EAAM,SAAA;EAAA,SACN,IAAA;EAAA,SACA,MAAA;EAAA,SACA,MAAA,EAAQ,UAAA;EHNH;EAAA,SGQL,KAAA;cAEG,KAAA,EAAO,UAAA,EAAY,MAAA,UAAgB,MAAA,EAAQ,UAAA,EAAY,KAAA;EAAA,IAS/D,UAAA;EAAA,IAIA,SAAA;;EAKJ,QAAA,CAAS,MAAA;EAIT,SAAA,CAAU,MAAA;;MAKN,kBAAA,IAAsB,aAAA;EHnBtB;EAAA,IGwBA,kBAAA,IAAsB,aAAA;EHhBtB;EAAA,IGqBA,SAAA,IAAa,WAAA;EHbjB;EAAA,IGsBI,SAAA,IAAa,WAAA;AAAA;AAAA,KASP,aAAA,GAAgB,UAAA,GAAa,WAAW;AAAA,cAcvC,aAAA;EAAA;UAGJ,WAAA;EAAA,OAIA,IAAA,IAAQ,aAAA;EAAA,OAIR,MAAA,CAAO,KAAA,EAAO,WAAA,GAAc,aAAA;EAAA,OAI5B,OAAA,CAAQ,IAAA,EAAM,WAAA,EAAa,KAAA,EAAO,WAAA,GAAc,aAAA;EAAA,IAInD,OAAA;EAAA,IAIA,SAAA;EAIJ,UAAA,IAAc,WAAA;EAWd,WAAA,IAAe,WAAA;AAAA;AAAA,cAYJ,UAAA;EAAA,SACF,KAAA,EAAO,SAAA;EAAA,SACP,MAAA;EAAA,SACA,MAAA,EAAQ,UAAA;EF9IG;EAAA,SEgJX,KAAA;cAEG,KAAA,EAAO,SAAA,EAAW,MAAA,UAAgB,MAAA,EAAQ,UAAA,cAAwB,KAAA;EAAA,IAO1E,IAAA,IAAQ,UAAA;EAAA,IAIR,UAAA;EAAA,IAIA,SAAA;;EAKJ,QAAA,CAAS,MAAA;EAIT,SAAA,CAAU,MAAA;EAAA,IAIN,UAAA,IAAc,aAAA;EAAA,IAId,SAAA,IAAa,aAAA;EAAA,IAMb,WAAA,IAAe,aAAA;EAAA,IAIf,WAAA,IAAe,aAAA;EDtLN;EAAA,IC2LT,kBAAA,IAAsB,aAAA;EDxLF;EAAA,IC6LpB,kBAAA,IAAsB,aAAA;ED3LX;EAAA,ICgMX,UAAA,IAAc,WAAA;ED/LC;EAAA,ICoMf,SAAA,IAAa,WAAA;EAIhB,QAAA,IAAY,QAAA,CAAS,aAAA;EAUrB,UAAA,IAAc,QAAA,CAAS,UAAA;EAMvB,SAAA,IAAa,QAAA,CAAS,UAAA;EDzNR;ECkOf,YAAA,IAAgB,IAAA,GAAO,IAAA,EAAM,UAAA,KAAe,CAAA,eAAgB,CAAA;EAc3D,WAAA,IAAe,QAAA,CAAS,aAAA;EAgBxB,MAAA,IAAU,QAAA,CAAS,WAAA;ED9PX;;AAAU;AAGrB;ECuQE,aAAA,CAAc,MAAA,WAAiB,aAAA;;;ADvQgB;AAEjD;;EC8QE,eAAA,CAAgB,KAAA,UAAe,GAAA,WAAc,aAAA;AAAA;AAAA,iBA0I/B,gBAAA,CAAiB,KAAA,EAAO,SAAA,GAAY,UAAU;;;UCva7C,OAAA;EAAA,SACN,MAAA,EAAQ,UAAU;AAAA;AAAA,UAGZ,WAAA,SAAoB,OAAA;EACnC,MAAA,IAAU,WAAA;EACV,MAAA,IAAU,WAAA;AAAA;AAAA,iBAGI,cAAA,CAAe,IAAA,EAAM,UAAA,EAAY,IAAA,EAAM,SAAA,GAAY,WAAA;AAAA,iBASnD,cAAA,IACd,IAAA,EAAM,UAAA,EACN,IAAA,GAAO,IAAA,EAAM,UAAA,KAAe,CAAA,eAC3B,CAAA;AAAA,iBAQc,cAAA,IACf,IAAA,EAAM,UAAA,EACN,IAAA,GAAO,IAAA,EAAM,UAAA,KAAe,CAAA,eAC3B,QAAA,CAAS,CAAA;AAAA,KAOP,UAAA,MAAgB,CAAA,WAAW,IAAA,EAAM,UAAA,gBAAyB,OAAA,CAAQ,CAAA;AAAA,iBAEvD,GAAA,0BAA6B,IAAA,EAAM,UAAA,oBAC9C,KAAA,EAAO,KAAA,IACR,IAAA,EAAM,UAAA,KAAe,UAAA,CAAW,KAAA;;;;;iBAmBpB,WAAA,CAAY,IAAgB,EAAV,UAAU;;;cC7D/B,aAAA,YAAyB,OAAA;EAAA,SAC3B,MAAA,EAAQ,UAAA;cAEL,MAAA,EAAQ,UAAA;EAIpB,KAAA,IAAS,WAAA;EAIT,IAAA;EAAA,OAIO,IAAA,CAAK,IAAA,EAAM,UAAA,GAAa,aAAA;AAAA;;;;cCbpB,gBAAA,YAA4B,OAAA;EAAA;WAC9B,MAAA,EAAQ,UAAA;cAEL,MAAA,EAAQ,UAAA;EA4BpB,KAAA,IAAS,WAAA;EAIT,GAAA,IAAO,WAAA;EAIP,KAAA,IAAS,aAAA;EAMT,SAAA,IAAa,aAAA;EAMb,UAAA,IAAc,aAAA;ENhDL;;;;EM4DT,IAAA;EN3DsB;AAGxB;;;EMqEE,eAAA;EAAA,OAIO,IAAA,CAAK,IAAA,EAAM,UAAA,GAAa,gBAAA;AAAA;;;cChFpB,eAAA,YAA2B,OAAA;EAAA,SAC7B,MAAA,EAAQ,UAAA;cAEL,MAAA,EAAQ,UAAA;EPLX;EOUT,IAAA,IAAQ,gBAAA;EPNO;;;;;EOef,IAAA;EAUA,MAAA,IAAU,WAAA;EAIV,MAAA,IAAU,WAAA;EAIT,IAAA,IAAQ,QAAA,CAAS,eAAA;EAAA,OAIX,IAAA,CAAK,IAAA,EAAM,UAAA,GAAa,eAAA;AAAA;AAAA,cAKpB,eAAA,YAA2B,OAAA;EAAA,SAC7B,MAAA,EAAQ,UAAA;cAEL,MAAA,EAAQ,UAAA;EAIpB,QAAA,IAAY,WAAA;EAIZ,QAAA,IAAY,WAAA;EAIX,QAAA,IAAY,QAAA,CAAS,aAAA;EAAA,OAIf,IAAA,CAAK,IAAA,EAAM,UAAA,GAAa,eAAA;AAAA;AAAA,cAiFpB,oBAAA,YAAgC,OAAA;EAAA,SAClC,MAAA,EAAQ,UAAA;cAEL,MAAA,EAAQ,UAAA;EAIpB,KAAA,IAAS,WAAA;EAIT,KAAA;EAAA,OAMO,IAAA,CAAK,IAAA,EAAM,UAAA,GAAa,oBAAA;AAAA;AAAA,cAKpB,oBAAA,YAAgC,OAAA;EAAA,SAClC,MAAA,EAAQ,UAAA;cAEL,MAAA,EAAQ,UAAA;EAIpB,KAAA,IAAS,WAAA;EAIT,KAAA;EAAA,OAMO,IAAA,CAAK,IAAA,EAAM,UAAA,GAAa,oBAAA;AAAA;AAAA,cAKpB,qBAAA,YAAiC,OAAA;EAAA,SACnC,MAAA,EAAQ,UAAA;cAEL,MAAA,EAAQ,UAAA;EAIpB,KAAA,IAAS,WAAA;EAIT,KAAA;EAAA,OAQO,IAAA,CAAK,IAAA,EAAM,UAAA,GAAa,qBAAA;AAAA;AAAA,cAKpB,oBAAA,YAAgC,OAAA;EAAA,SAClC,MAAA,EAAQ,UAAA;cAEL,MAAA,EAAQ,UAAA;EAIpB,MAAA,IAAU,WAAA;EAIV,MAAA,IAAU,WAAA;EAIT,MAAA,IAAU,QAAA,CAAS,cAAA;EAAA,OAIb,IAAA,CAAK,IAAA,EAAM,UAAA,GAAa,oBAAA;AAAA;AAAA,cAKpB,cAAA,YAA0B,OAAA;EAAA,SAC5B,MAAA,EAAQ,UAAA;cAEL,MAAA,EAAQ,UAAA;EAIpB,GAAA,IAAO,aAAA;ELnPM;AAAA;AAGf;;;EKgQE,OAAA;EAeA,KAAA,IAAS,WAAA;EAIT,KAAA,IAAS,aAAA;EAAA,OAkBF,IAAA,CAAK,IAAA,EAAM,UAAA,GAAa,cAAA;AAAA;AAAA,KAKrB,aAAA,GACR,eAAA,GACA,eAAA,GACA,oBAAA,GACA,oBAAA,GACA,qBAAA,GACA,oBAAA,GACA,aAAA;AAAA,iBAEY,cAAA,CAAe,IAAA,EAAM,UAAA,GAAa,aAAa;AAAA,cAYlD,eAAA,YAA2B,OAAA;EAAA,SAC7B,MAAA,EAAQ,UAAA;cAEL,MAAA,EAAQ,UAAA;EAIpB,IAAA,IAAQ,aAAA;EAKR,KAAA,IAAS,WAAA;EAIT,KAAA,IAAS,aAAA;EAAA,OAkBF,IAAA,CAAK,IAAA,EAAM,UAAA,GAAa,eAAA;AAAA;;;cCpWpB,mBAAA,YAA+B,OAAA;EAAA,SACjC,MAAA,EAAQ,UAAA;cAEL,MAAA,EAAQ,UAAA;EAIpB,MAAA,IAAU,WAAA;EAIV,MAAA,IAAU,WAAA;EAIT,IAAA,IAAQ,QAAA,CAAS,eAAA;EAAA,OAIX,IAAA,CAAK,IAAA,EAAM,UAAA,GAAa,mBAAA;AAAA;AAAA,cAKpB,iBAAA,YAA6B,OAAA;EAAA,SAC/B,MAAA,EAAQ,UAAA;cAEL,MAAA,EAAQ,UAAA;EAIpB,EAAA,IAAM,WAAA;EAIN,IAAA,IAAQ,gBAAA;EAIR,OAAA,IAAW,mBAAA;EAAA,OAIJ,IAAA,CAAK,IAAA,EAAM,UAAA,GAAa,iBAAA;AAAA;AAAA,cAKpB,iBAAA,YAA6B,OAAA;EAAA,SAC/B,MAAA,EAAQ,UAAA;cAEL,MAAA,EAAQ,UAAA;EAIpB,QAAA,IAAY,WAAA;EAIZ,IAAA,IAAQ,gBAAA;EAIR,OAAA,IAAW,mBAAA;EAAA,OAIJ,IAAA,CAAK,IAAA,EAAM,UAAA,GAAa,iBAAA;AAAA;;;cCnEpB,iBAAA,YAA6B,OAAA;EAAA,SAC/B,MAAA,EAAQ,UAAA;cAEL,MAAA,EAAQ,UAAA;ETLX;ESUT,IAAA,IAAQ,gBAAA;ETNO;ESWf,OAAA,IAAW,mBAAA;EAIX,aAAA;EAIA,QAAA,IAAY,WAAA;EAIZ,QAAA,IAAY,WAAA;EAIZ,YAAA,IAAgB,WAAA;EAIhB,MAAA;EAIA,UAAA;EAAA,OAIO,IAAA,CAAK,IAAA,EAAM,UAAA,GAAa,iBAAA;AAAA;;;;;AT1Cb;AAGpB;;KUMY,kBAAA,GACR,mBAAA,GACA,2BAAA,GACA,0BAAA;AAAA,KAEQ,cAAA,GAAiB,kBAAA,GAAqB,aAAA,GAAgB,uBAAA;AAAA,KACtD,YAAA,GAAe,iBAAA,GAAoB,iBAAiB;AAAA,KACpD,cAAA,GAAiB,mBAAA,GAAsB,iBAAiB;AAAA,KACxD,qBAAA,GAAwB,eAAA,GAAkB,iBAAiB;AAAA,cAU1D,WAAA,YAAuB,OAAA;EAAA,SACzB,MAAA,EAAQ,UAAA;cAEL,MAAA,EAAQ,UAAA;EAInB,YAAA,IAAgB,QAAA,CAAS,cAAA;EAAA,OAQnB,IAAA,CAAK,IAAA,EAAM,UAAA,GAAa,WAAA;AAAA;AAAA,cAKpB,mBAAA,YAA+B,WAAA;EAAA,SACjC,MAAA,EAAQ,UAAA;cAEL,MAAA,EAAQ,UAAA;EAIpB,OAAA,IAAW,WAAA;EAIX,IAAA,IAAQ,aAAA;EAIR,MAAA,IAAU,WAAA;EAIV,MAAA,IAAU,WAAA;EAIT,MAAA,IAAU,QAAA,CAAS,mBAAA;EAInB,UAAA,IAAc,QAAA,CAAS,iBAAA;EAIvB,OAAA,IAAW,QAAA,CAAS,cAAA;EAAA,OAOd,IAAA,CAAK,IAAA,EAAM,UAAA,GAAa,mBAAA;AAAA;AAAA,cAKpB,2BAAA,YAAuC,WAAA;EAAA,SACzC,MAAA,EAAQ,UAAA;cAEL,MAAA,EAAQ,UAAA;EAIpB,OAAA,IAAW,WAAA;EAIX,IAAA,IAAQ,aAAA;EAIR,MAAA,IAAU,WAAA;EAIV,MAAA,IAAU,WAAA;EAIT,MAAA,IAAU,QAAA,CAAS,mBAAA;EAInB,UAAA,IAAc,QAAA,CAAS,iBAAA;EAIvB,OAAA,IAAW,QAAA,CAAS,cAAA;EAAA,OAOd,IAAA,CAAK,IAAA,EAAM,UAAA,GAAa,2BAAA;AAAA;AAAA,cAOpB,uBAAA,YAAmC,WAAA;EAAA,SACrC,MAAA,EAAQ,UAAA;cAEL,MAAA,EAAQ,UAAA;EAIpB,OAAA,IAAW,WAAA;EAIX,IAAA,IAAQ,aAAA;EAIR,MAAA,IAAU,WAAA;EAIV,MAAA,IAAU,WAAA;EAIT,YAAA,IAAgB,QAAA,CAAS,kBAAA;EAAA,OAInB,IAAA,CAAK,IAAA,EAAM,UAAA,GAAa,uBAAA;AAAA;AAAA,cAKpB,aAAA,YAAyB,WAAA;EAAA,SAC3B,MAAA,EAAQ,UAAA;cAEL,MAAA,EAAQ,UAAA;EAIpB,OAAA,IAAW,WAAA;EAIX,MAAA,IAAU,WAAA;EAIV,MAAA,IAAU,WAAA;EAIT,YAAA,IAAgB,QAAA,CAAS,uBAAA;EAAA,OAInB,IAAA,CAAK,IAAA,EAAM,UAAA,GAAa,aAAA;AAAA;AAAA,cAKpB,0BAAA,YAAsC,WAAA;EAAA,SACxC,MAAA,EAAQ,UAAA;cAEL,MAAA,EAAQ,UAAA;EAIpB,OAAA,IAAW,WAAA;EAIX,IAAA,IAAQ,aAAA;EAIR,MAAA,IAAU,WAAA;EAIV,MAAA,IAAU,WAAA;EAIT,OAAA,IAAW,QAAA,CAAS,eAAA;EAIpB,UAAA,IAAc,QAAA,CAAS,iBAAA;EAIvB,OAAA,IAAW,QAAA,CAAS,qBAAA;EAAA,OAOd,IAAA,CAAK,IAAA,EAAM,UAAA,GAAa,0BAAA;AAAA;AAAA,cAOpB,eAAA,YAA2B,OAAA;EAAA,SAC7B,MAAA,EAAQ,UAAA;cAEL,MAAA,EAAQ,UAAA;EAIpB,GAAA,IAAO,aAAA;EAIP,MAAA,IAAU,WAAA;EAIV,KAAA,IAAS,aAAA;EAAA,OAeF,IAAA,CAAK,IAAA,EAAM,UAAA,GAAa,eAAA;AAAA;AAAA,cAKpB,mBAAA,YAA+B,OAAA;EAAA,SACjC,MAAA,EAAQ,UAAA;cAEL,MAAA,EAAQ,UAAA;EAIpB,IAAA,IAAQ,aAAA;EAIR,cAAA,IAAkB,iBAAA;EAIjB,UAAA,IAAc,QAAA,CAAS,iBAAA;EAAA,OAIjB,IAAA,CAAK,IAAA,EAAM,UAAA,GAAa,mBAAA;AAAA;AAAA,cAKpB,uBAAA,YAAmC,OAAA;EAAA,SACrC,MAAA,EAAQ,UAAA;cAEL,MAAA,EAAQ,UAAA;EAIpB,IAAA,IAAQ,aAAA;EAIR,MAAA,IAAU,WAAA;EAIV,cAAA,IAAkB,iBAAA;EAIjB,UAAA,IAAc,QAAA,CAAS,iBAAA;EAAA,OAIjB,IAAA,CAAK,IAAA,EAAM,UAAA,GAAa,uBAAA;AAAA;;;UC7ThB,eAAA;EAAA,SACN,IAAA,EAAM,iBAAA;EAAA,SACN,OAAA;EAAA,SACA,KAAA,EAAO,KAAK;AAAA;AAAA,UAGN,WAAA;EAAA,SACN,QAAA,EAAU,WAAA;EAAA,SACV,WAAA,WAAsB,eAAA;EAAA,SACtB,UAAA,EAAY,UAAA;AAAA;;;;;iBA+cP,KAAA,CAAM,MAAA,WAAiB,WAAW"}