@prisma-next/psl-parser 0.12.0-dev.9 → 0.13.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/{parser-R7ldFfcr.mjs → parser-Cw_zV0M5.mjs} +176 -10
- package/dist/parser-Cw_zV0M5.mjs.map +1 -0
- package/dist/{parser-Bjdnhl7C.d.mts → parser-Dfi3Wfdq.d.mts} +1 -1
- package/dist/parser-Dfi3Wfdq.d.mts.map +1 -0
- package/dist/parser.d.mts +1 -1
- package/dist/parser.mjs +1 -1
- package/dist/syntax.d.mts +282 -0
- package/dist/syntax.d.mts.map +1 -0
- package/dist/syntax.mjs +708 -0
- package/dist/syntax.mjs.map +1 -0
- package/dist/tokenizer-DcYI0Xrq.d.mts +15 -0
- package/dist/tokenizer-DcYI0Xrq.d.mts.map +1 -0
- package/dist/tokenizer.d.mts +2 -15
- package/package.json +8 -7
- package/src/exports/syntax.ts +41 -0
- package/src/parser.ts +271 -13
- package/src/syntax/ast/attributes.ts +97 -0
- package/src/syntax/ast/declarations.ts +359 -0
- package/src/syntax/ast/expressions.ts +199 -0
- package/src/syntax/ast/identifier.ts +20 -0
- package/src/syntax/ast/type-annotation.ts +82 -0
- package/src/syntax/ast-helpers.ts +36 -0
- package/src/syntax/green-builder.ts +33 -0
- package/src/syntax/green.ts +29 -0
- package/src/syntax/red.ts +154 -0
- package/src/syntax/syntax-kind.ts +23 -0
- package/dist/parser-Bjdnhl7C.d.mts.map +0 -1
- package/dist/parser-R7ldFfcr.mjs.map +0 -1
- package/dist/tokenizer.d.mts.map +0 -1
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
import { n as TokenKind, t as Token } from "./tokenizer-DcYI0Xrq.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/syntax/syntax-kind.d.ts
|
|
4
|
+
type SyntaxKind = 'Document' | 'ModelDeclaration' | 'EnumDeclaration' | 'CompositeTypeDeclaration' | 'Namespace' | 'TypesBlock' | 'BlockDeclaration' | 'FieldDeclaration' | 'EnumValueDeclaration' | 'NamedTypeDeclaration' | 'KeyValuePair' | 'FieldAttribute' | 'ModelAttribute' | 'AttributeArgList' | 'AttributeArg' | 'TypeAnnotation' | 'Identifier' | 'FunctionCall' | 'ArrayLiteral' | 'StringLiteralExpr' | 'NumberLiteralExpr' | 'BooleanLiteralExpr';
|
|
5
|
+
//#endregion
|
|
6
|
+
//#region src/syntax/green.d.ts
|
|
7
|
+
interface GreenToken {
|
|
8
|
+
readonly type: 'token';
|
|
9
|
+
readonly kind: TokenKind;
|
|
10
|
+
readonly text: string;
|
|
11
|
+
}
|
|
12
|
+
interface GreenNode {
|
|
13
|
+
readonly type: 'node';
|
|
14
|
+
readonly kind: SyntaxKind;
|
|
15
|
+
readonly children: ReadonlyArray<GreenElement>;
|
|
16
|
+
readonly textLength: number;
|
|
17
|
+
}
|
|
18
|
+
type GreenElement = GreenNode | GreenToken;
|
|
19
|
+
declare function greenToken(kind: TokenKind, text: string): GreenToken;
|
|
20
|
+
declare function greenNode(kind: SyntaxKind, children: ReadonlyArray<GreenElement>): GreenNode;
|
|
21
|
+
//#endregion
|
|
22
|
+
//#region src/syntax/red.d.ts
|
|
23
|
+
/**
|
|
24
|
+
* A token in the red tree. Unlike the green-layer {@link Token} (kind + text
|
|
25
|
+
* only), a red token also carries its absolute `offset` within the source,
|
|
26
|
+
* computed lazily as the tree is walked.
|
|
27
|
+
*/
|
|
28
|
+
interface SyntaxToken extends Token {
|
|
29
|
+
readonly offset: number;
|
|
30
|
+
}
|
|
31
|
+
type SyntaxElement = SyntaxNode | SyntaxToken;
|
|
32
|
+
declare class SyntaxNode {
|
|
33
|
+
readonly green: GreenNode;
|
|
34
|
+
readonly offset: number;
|
|
35
|
+
readonly parent: SyntaxNode | undefined;
|
|
36
|
+
constructor(green: GreenNode, offset: number, parent: SyntaxNode | undefined);
|
|
37
|
+
get kind(): SyntaxKind;
|
|
38
|
+
get textLength(): number;
|
|
39
|
+
get firstChild(): SyntaxElement | undefined;
|
|
40
|
+
get lastChild(): SyntaxElement | undefined;
|
|
41
|
+
get nextSibling(): SyntaxElement | undefined;
|
|
42
|
+
get prevSibling(): SyntaxElement | undefined;
|
|
43
|
+
children(): Iterable<SyntaxElement>;
|
|
44
|
+
childNodes(): Iterable<SyntaxNode>;
|
|
45
|
+
ancestors(): Iterable<SyntaxNode>;
|
|
46
|
+
descendants(): Iterable<SyntaxElement>;
|
|
47
|
+
tokens(): Iterable<SyntaxToken>;
|
|
48
|
+
}
|
|
49
|
+
declare function createSyntaxTree(green: GreenNode): SyntaxNode;
|
|
50
|
+
//#endregion
|
|
51
|
+
//#region src/syntax/ast-helpers.d.ts
|
|
52
|
+
interface AstNode {
|
|
53
|
+
readonly syntax: SyntaxNode;
|
|
54
|
+
}
|
|
55
|
+
declare function findChildToken(node: SyntaxNode, kind: TokenKind): Token | undefined;
|
|
56
|
+
declare function findFirstChild<T>(node: SyntaxNode, cast: (node: SyntaxNode) => T | undefined): T | undefined;
|
|
57
|
+
declare function filterChildren<T>(node: SyntaxNode, cast: (node: SyntaxNode) => T | undefined): Iterable<T>;
|
|
58
|
+
//#endregion
|
|
59
|
+
//#region src/syntax/ast/identifier.d.ts
|
|
60
|
+
declare class IdentifierAst implements AstNode {
|
|
61
|
+
readonly syntax: SyntaxNode;
|
|
62
|
+
constructor(syntax: SyntaxNode);
|
|
63
|
+
token(): Token | undefined;
|
|
64
|
+
static cast(node: SyntaxNode): IdentifierAst | undefined;
|
|
65
|
+
}
|
|
66
|
+
//#endregion
|
|
67
|
+
//#region src/syntax/ast/expressions.d.ts
|
|
68
|
+
declare class FunctionCallAst implements AstNode {
|
|
69
|
+
readonly syntax: SyntaxNode;
|
|
70
|
+
constructor(syntax: SyntaxNode);
|
|
71
|
+
name(): IdentifierAst | undefined;
|
|
72
|
+
lparen(): Token | undefined;
|
|
73
|
+
rparen(): Token | undefined;
|
|
74
|
+
args(): Iterable<AttributeArgAst>;
|
|
75
|
+
static cast(node: SyntaxNode): FunctionCallAst | undefined;
|
|
76
|
+
}
|
|
77
|
+
declare class ArrayLiteralAst implements AstNode {
|
|
78
|
+
readonly syntax: SyntaxNode;
|
|
79
|
+
constructor(syntax: SyntaxNode);
|
|
80
|
+
lbracket(): Token | undefined;
|
|
81
|
+
rbracket(): Token | undefined;
|
|
82
|
+
elements(): Iterable<ExpressionAst>;
|
|
83
|
+
static cast(node: SyntaxNode): ArrayLiteralAst | undefined;
|
|
84
|
+
}
|
|
85
|
+
declare class StringLiteralExprAst implements AstNode {
|
|
86
|
+
readonly syntax: SyntaxNode;
|
|
87
|
+
constructor(syntax: SyntaxNode);
|
|
88
|
+
token(): Token | undefined;
|
|
89
|
+
value(): string | undefined;
|
|
90
|
+
static cast(node: SyntaxNode): StringLiteralExprAst | undefined;
|
|
91
|
+
}
|
|
92
|
+
declare class NumberLiteralExprAst implements AstNode {
|
|
93
|
+
readonly syntax: SyntaxNode;
|
|
94
|
+
constructor(syntax: SyntaxNode);
|
|
95
|
+
token(): Token | undefined;
|
|
96
|
+
value(): number | undefined;
|
|
97
|
+
static cast(node: SyntaxNode): NumberLiteralExprAst | undefined;
|
|
98
|
+
}
|
|
99
|
+
declare class BooleanLiteralExprAst implements AstNode {
|
|
100
|
+
readonly syntax: SyntaxNode;
|
|
101
|
+
constructor(syntax: SyntaxNode);
|
|
102
|
+
token(): Token | undefined;
|
|
103
|
+
value(): boolean | undefined;
|
|
104
|
+
static cast(node: SyntaxNode): BooleanLiteralExprAst | undefined;
|
|
105
|
+
}
|
|
106
|
+
type ExpressionAst = FunctionCallAst | ArrayLiteralAst | StringLiteralExprAst | NumberLiteralExprAst | BooleanLiteralExprAst | IdentifierAst;
|
|
107
|
+
declare function castExpression(node: SyntaxNode): ExpressionAst | undefined;
|
|
108
|
+
declare class AttributeArgAst implements AstNode {
|
|
109
|
+
readonly syntax: SyntaxNode;
|
|
110
|
+
constructor(syntax: SyntaxNode);
|
|
111
|
+
name(): IdentifierAst | undefined;
|
|
112
|
+
colon(): Token | undefined;
|
|
113
|
+
value(): ExpressionAst | undefined;
|
|
114
|
+
static cast(node: SyntaxNode): AttributeArgAst | undefined;
|
|
115
|
+
}
|
|
116
|
+
//#endregion
|
|
117
|
+
//#region src/syntax/ast/attributes.d.ts
|
|
118
|
+
declare class AttributeArgListAst implements AstNode {
|
|
119
|
+
readonly syntax: SyntaxNode;
|
|
120
|
+
constructor(syntax: SyntaxNode);
|
|
121
|
+
lparen(): Token | undefined;
|
|
122
|
+
rparen(): Token | undefined;
|
|
123
|
+
args(): Iterable<AttributeArgAst>;
|
|
124
|
+
static cast(node: SyntaxNode): AttributeArgListAst | undefined;
|
|
125
|
+
}
|
|
126
|
+
declare class FieldAttributeAst implements AstNode {
|
|
127
|
+
readonly syntax: SyntaxNode;
|
|
128
|
+
constructor(syntax: SyntaxNode);
|
|
129
|
+
at(): Token | undefined;
|
|
130
|
+
name(): IdentifierAst | undefined;
|
|
131
|
+
dot(): Token | undefined;
|
|
132
|
+
namespaceName(): IdentifierAst | undefined;
|
|
133
|
+
argList(): AttributeArgListAst | undefined;
|
|
134
|
+
static cast(node: SyntaxNode): FieldAttributeAst | undefined;
|
|
135
|
+
}
|
|
136
|
+
declare class ModelAttributeAst implements AstNode {
|
|
137
|
+
readonly syntax: SyntaxNode;
|
|
138
|
+
constructor(syntax: SyntaxNode);
|
|
139
|
+
doubleAt(): Token | undefined;
|
|
140
|
+
name(): IdentifierAst | undefined;
|
|
141
|
+
argList(): AttributeArgListAst | undefined;
|
|
142
|
+
static cast(node: SyntaxNode): ModelAttributeAst | undefined;
|
|
143
|
+
}
|
|
144
|
+
//#endregion
|
|
145
|
+
//#region src/syntax/ast/type-annotation.d.ts
|
|
146
|
+
declare class TypeAnnotationAst implements AstNode {
|
|
147
|
+
#private;
|
|
148
|
+
readonly syntax: SyntaxNode;
|
|
149
|
+
constructor(syntax: SyntaxNode);
|
|
150
|
+
name(): IdentifierAst | undefined;
|
|
151
|
+
colon(): Token | undefined;
|
|
152
|
+
dot(): Token | undefined;
|
|
153
|
+
spaceName(): IdentifierAst | undefined;
|
|
154
|
+
namespaceName(): IdentifierAst | undefined;
|
|
155
|
+
constructorCall(): FunctionCallAst | undefined;
|
|
156
|
+
lbracket(): Token | undefined;
|
|
157
|
+
rbracket(): Token | undefined;
|
|
158
|
+
questionMark(): Token | undefined;
|
|
159
|
+
isList(): boolean;
|
|
160
|
+
isOptional(): boolean;
|
|
161
|
+
static cast(node: SyntaxNode): TypeAnnotationAst | undefined;
|
|
162
|
+
}
|
|
163
|
+
//#endregion
|
|
164
|
+
//#region src/syntax/ast/declarations.d.ts
|
|
165
|
+
/**
|
|
166
|
+
* What may appear inside a `namespace` block: models, enums, composite types,
|
|
167
|
+
* and extension (block) declarations. Mirrors what `parsePslDocument` accepts
|
|
168
|
+
* in a namespace body. `types {}` blocks and nested `namespace` blocks are
|
|
169
|
+
* document-only, so they are not namespace members.
|
|
170
|
+
*/
|
|
171
|
+
type NamespaceMemberAst = ModelDeclarationAst | EnumDeclarationAst | CompositeTypeDeclarationAst | BlockDeclarationAst;
|
|
172
|
+
declare class DocumentAst implements AstNode {
|
|
173
|
+
readonly syntax: SyntaxNode;
|
|
174
|
+
constructor(syntax: SyntaxNode);
|
|
175
|
+
declarations(): Iterable<NamespaceMemberAst | TypesBlockAst | NamespaceDeclarationAst>;
|
|
176
|
+
static cast(node: SyntaxNode): DocumentAst | undefined;
|
|
177
|
+
}
|
|
178
|
+
declare class ModelDeclarationAst implements AstNode {
|
|
179
|
+
readonly syntax: SyntaxNode;
|
|
180
|
+
constructor(syntax: SyntaxNode);
|
|
181
|
+
keyword(): Token | undefined;
|
|
182
|
+
name(): IdentifierAst | undefined;
|
|
183
|
+
lbrace(): Token | undefined;
|
|
184
|
+
rbrace(): Token | undefined;
|
|
185
|
+
fields(): Iterable<FieldDeclarationAst>;
|
|
186
|
+
attributes(): Iterable<ModelAttributeAst>;
|
|
187
|
+
static cast(node: SyntaxNode): ModelDeclarationAst | undefined;
|
|
188
|
+
}
|
|
189
|
+
declare class EnumDeclarationAst implements AstNode {
|
|
190
|
+
readonly syntax: SyntaxNode;
|
|
191
|
+
constructor(syntax: SyntaxNode);
|
|
192
|
+
keyword(): Token | undefined;
|
|
193
|
+
name(): IdentifierAst | undefined;
|
|
194
|
+
lbrace(): Token | undefined;
|
|
195
|
+
rbrace(): Token | undefined;
|
|
196
|
+
values(): Iterable<EnumValueDeclarationAst>;
|
|
197
|
+
attributes(): Iterable<ModelAttributeAst>;
|
|
198
|
+
static cast(node: SyntaxNode): EnumDeclarationAst | undefined;
|
|
199
|
+
}
|
|
200
|
+
declare class CompositeTypeDeclarationAst implements AstNode {
|
|
201
|
+
readonly syntax: SyntaxNode;
|
|
202
|
+
constructor(syntax: SyntaxNode);
|
|
203
|
+
keyword(): Token | undefined;
|
|
204
|
+
name(): IdentifierAst | undefined;
|
|
205
|
+
lbrace(): Token | undefined;
|
|
206
|
+
rbrace(): Token | undefined;
|
|
207
|
+
fields(): Iterable<FieldDeclarationAst>;
|
|
208
|
+
attributes(): Iterable<ModelAttributeAst>;
|
|
209
|
+
static cast(node: SyntaxNode): CompositeTypeDeclarationAst | undefined;
|
|
210
|
+
}
|
|
211
|
+
declare class NamespaceDeclarationAst implements AstNode {
|
|
212
|
+
readonly syntax: SyntaxNode;
|
|
213
|
+
constructor(syntax: SyntaxNode);
|
|
214
|
+
keyword(): Token | undefined;
|
|
215
|
+
name(): IdentifierAst | undefined;
|
|
216
|
+
lbrace(): Token | undefined;
|
|
217
|
+
rbrace(): Token | undefined;
|
|
218
|
+
declarations(): Iterable<NamespaceMemberAst>;
|
|
219
|
+
static cast(node: SyntaxNode): NamespaceDeclarationAst | undefined;
|
|
220
|
+
}
|
|
221
|
+
declare class TypesBlockAst implements AstNode {
|
|
222
|
+
readonly syntax: SyntaxNode;
|
|
223
|
+
constructor(syntax: SyntaxNode);
|
|
224
|
+
keyword(): Token | undefined;
|
|
225
|
+
lbrace(): Token | undefined;
|
|
226
|
+
rbrace(): Token | undefined;
|
|
227
|
+
declarations(): Iterable<NamedTypeDeclarationAst>;
|
|
228
|
+
static cast(node: SyntaxNode): TypesBlockAst | undefined;
|
|
229
|
+
}
|
|
230
|
+
declare class BlockDeclarationAst implements AstNode {
|
|
231
|
+
readonly syntax: SyntaxNode;
|
|
232
|
+
constructor(syntax: SyntaxNode);
|
|
233
|
+
keyword(): Token | undefined;
|
|
234
|
+
name(): IdentifierAst | undefined;
|
|
235
|
+
lbrace(): Token | undefined;
|
|
236
|
+
rbrace(): Token | undefined;
|
|
237
|
+
entries(): Iterable<KeyValuePairAst>;
|
|
238
|
+
static cast(node: SyntaxNode): BlockDeclarationAst | undefined;
|
|
239
|
+
}
|
|
240
|
+
declare class KeyValuePairAst implements AstNode {
|
|
241
|
+
readonly syntax: SyntaxNode;
|
|
242
|
+
constructor(syntax: SyntaxNode);
|
|
243
|
+
key(): IdentifierAst | undefined;
|
|
244
|
+
equals(): Token | undefined;
|
|
245
|
+
value(): ExpressionAst | undefined;
|
|
246
|
+
static cast(node: SyntaxNode): KeyValuePairAst | undefined;
|
|
247
|
+
}
|
|
248
|
+
declare class FieldDeclarationAst implements AstNode {
|
|
249
|
+
readonly syntax: SyntaxNode;
|
|
250
|
+
constructor(syntax: SyntaxNode);
|
|
251
|
+
name(): IdentifierAst | undefined;
|
|
252
|
+
typeAnnotation(): TypeAnnotationAst | undefined;
|
|
253
|
+
attributes(): Iterable<FieldAttributeAst>;
|
|
254
|
+
static cast(node: SyntaxNode): FieldDeclarationAst | undefined;
|
|
255
|
+
}
|
|
256
|
+
declare class EnumValueDeclarationAst implements AstNode {
|
|
257
|
+
readonly syntax: SyntaxNode;
|
|
258
|
+
constructor(syntax: SyntaxNode);
|
|
259
|
+
name(): IdentifierAst | undefined;
|
|
260
|
+
attributes(): Iterable<FieldAttributeAst>;
|
|
261
|
+
static cast(node: SyntaxNode): EnumValueDeclarationAst | undefined;
|
|
262
|
+
}
|
|
263
|
+
declare class NamedTypeDeclarationAst implements AstNode {
|
|
264
|
+
readonly syntax: SyntaxNode;
|
|
265
|
+
constructor(syntax: SyntaxNode);
|
|
266
|
+
name(): IdentifierAst | undefined;
|
|
267
|
+
equals(): Token | undefined;
|
|
268
|
+
typeAnnotation(): TypeAnnotationAst | undefined;
|
|
269
|
+
attributes(): Iterable<FieldAttributeAst>;
|
|
270
|
+
static cast(node: SyntaxNode): NamedTypeDeclarationAst | undefined;
|
|
271
|
+
}
|
|
272
|
+
//#endregion
|
|
273
|
+
//#region src/syntax/green-builder.d.ts
|
|
274
|
+
declare class GreenNodeBuilder {
|
|
275
|
+
#private;
|
|
276
|
+
startNode(kind: SyntaxKind): void;
|
|
277
|
+
token(kind: TokenKind, text: string): void;
|
|
278
|
+
finishNode(): GreenNode;
|
|
279
|
+
}
|
|
280
|
+
//#endregion
|
|
281
|
+
export { ArrayLiteralAst, type AstNode, AttributeArgAst, AttributeArgListAst, BlockDeclarationAst, BooleanLiteralExprAst, CompositeTypeDeclarationAst, DocumentAst, EnumDeclarationAst, EnumValueDeclarationAst, type ExpressionAst, FieldAttributeAst, FieldDeclarationAst, FunctionCallAst, type GreenElement, type GreenNode, GreenNodeBuilder, type GreenToken, IdentifierAst, KeyValuePairAst, ModelAttributeAst, ModelDeclarationAst, NamedTypeDeclarationAst, NamespaceDeclarationAst, type NamespaceMemberAst, NumberLiteralExprAst, StringLiteralExprAst, type SyntaxElement, type SyntaxKind, SyntaxNode, type SyntaxToken, TypeAnnotationAst, TypesBlockAst, castExpression, createSyntaxTree, filterChildren, findChildToken, findFirstChild, greenNode, greenToken };
|
|
282
|
+
//# sourceMappingURL=syntax.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syntax.d.mts","names":[],"sources":["../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/expressions.ts","../src/syntax/ast/attributes.ts","../src/syntax/ast/type-annotation.ts","../src/syntax/ast/declarations.ts","../src/syntax/green-builder.ts"],"mappings":"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"}
|