@prisma-next/psl-parser 0.13.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +3 -2
- package/dist/index.mjs.map +1 -1
- package/dist/{parser-Cw_zV0M5.mjs → parser-CaplKvRs.mjs} +110 -141
- package/dist/parser-CaplKvRs.mjs.map +1 -0
- package/dist/parser.mjs +1 -1
- package/dist/syntax.d.mts +115 -40
- package/dist/syntax.d.mts.map +1 -1
- package/dist/syntax.mjs +815 -105
- package/dist/syntax.mjs.map +1 -1
- package/dist/tokenizer-1hAHZzmp.mjs +228 -0
- package/dist/tokenizer-1hAHZzmp.mjs.map +1 -0
- package/dist/tokenizer.mjs +1 -190
- package/package.json +5 -5
- package/src/exports/index.ts +13 -2
- package/src/exports/syntax.ts +9 -4
- package/src/parse.ts +742 -0
- package/src/parser.ts +125 -196
- package/src/source-file.ts +89 -0
- package/src/syntax/ast/attributes.ts +5 -24
- package/src/syntax/ast/declarations.ts +14 -67
- package/src/syntax/ast/expressions.ts +187 -19
- package/src/syntax/ast/identifier.ts +4 -0
- package/src/syntax/ast/qualified-name.ts +87 -0
- package/src/syntax/ast/type-annotation.ts +11 -41
- package/src/syntax/ast-helpers.ts +12 -0
- package/src/syntax/syntax-kind.ts +8 -4
- package/src/tokenizer.ts +47 -7
- package/dist/parser-Cw_zV0M5.mjs.map +0 -1
- package/dist/tokenizer.mjs.map +0 -1
package/dist/syntax.d.mts
CHANGED
|
@@ -1,7 +1,28 @@
|
|
|
1
1
|
import { n as TokenKind, t as Token } from "./tokenizer-DcYI0Xrq.mjs";
|
|
2
|
+
import { PslDiagnosticCode } from "@prisma-next/framework-components/psl-ast";
|
|
2
3
|
|
|
4
|
+
//#region src/source-file.d.ts
|
|
5
|
+
interface Position {
|
|
6
|
+
readonly line: number;
|
|
7
|
+
readonly character: number;
|
|
8
|
+
}
|
|
9
|
+
interface Range {
|
|
10
|
+
readonly start: Position;
|
|
11
|
+
readonly end: Position;
|
|
12
|
+
}
|
|
13
|
+
declare class SourceFile {
|
|
14
|
+
#private;
|
|
15
|
+
constructor(text: string);
|
|
16
|
+
get text(): string;
|
|
17
|
+
get length(): number;
|
|
18
|
+
get lineCount(): number;
|
|
19
|
+
lineStartOffsets(): readonly number[];
|
|
20
|
+
positionAt(offset: number): Position;
|
|
21
|
+
offsetAt(position: Position): number;
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
3
24
|
//#region src/syntax/syntax-kind.d.ts
|
|
4
|
-
type SyntaxKind = 'Document' | 'ModelDeclaration' | '
|
|
25
|
+
type SyntaxKind = 'Document' | 'ModelDeclaration' | 'CompositeTypeDeclaration' | 'Namespace' | 'TypesBlock' | 'GenericBlockDeclaration' | 'FieldDeclaration' | 'NamedTypeDeclaration' | 'KeyValuePair' | 'FieldAttribute' | 'ModelAttribute' | 'AttributeArgList' | 'AttributeArg' | 'TypeAnnotation' | 'Identifier' | 'QualifiedName' | 'FunctionCall' | 'ArrayLiteral' | 'StringLiteralExpr' | 'NumberLiteralExpr' | 'BooleanLiteralExpr' | 'ObjectLiteralExpr' | 'ObjectField';
|
|
5
26
|
//#endregion
|
|
6
27
|
//#region src/syntax/green.d.ts
|
|
7
28
|
interface GreenToken {
|
|
@@ -55,20 +76,57 @@ interface AstNode {
|
|
|
55
76
|
declare function findChildToken(node: SyntaxNode, kind: TokenKind): Token | undefined;
|
|
56
77
|
declare function findFirstChild<T>(node: SyntaxNode, cast: (node: SyntaxNode) => T | undefined): T | undefined;
|
|
57
78
|
declare function filterChildren<T>(node: SyntaxNode, cast: (node: SyntaxNode) => T | undefined): Iterable<T>;
|
|
79
|
+
/**
|
|
80
|
+
* Raw source text of a CST node, verbatim (quotes and brackets preserved). For
|
|
81
|
+
* the decoded value of a string literal, decode it instead.
|
|
82
|
+
*/
|
|
83
|
+
declare function printSyntax(node: SyntaxNode): string;
|
|
58
84
|
//#endregion
|
|
59
85
|
//#region src/syntax/ast/identifier.d.ts
|
|
60
86
|
declare class IdentifierAst implements AstNode {
|
|
61
87
|
readonly syntax: SyntaxNode;
|
|
62
88
|
constructor(syntax: SyntaxNode);
|
|
63
89
|
token(): Token | undefined;
|
|
90
|
+
name(): string | undefined;
|
|
64
91
|
static cast(node: SyntaxNode): IdentifierAst | undefined;
|
|
65
92
|
}
|
|
66
93
|
//#endregion
|
|
94
|
+
//#region src/syntax/ast/qualified-name.d.ts
|
|
95
|
+
/** A namespace-qualified name, e.g. `pgvector.Vector` or `supabase:auth.User`. */
|
|
96
|
+
declare class QualifiedNameAst implements AstNode {
|
|
97
|
+
#private;
|
|
98
|
+
readonly syntax: SyntaxNode;
|
|
99
|
+
constructor(syntax: SyntaxNode);
|
|
100
|
+
colon(): Token | undefined;
|
|
101
|
+
dot(): Token | undefined;
|
|
102
|
+
space(): IdentifierAst | undefined;
|
|
103
|
+
namespace(): IdentifierAst | undefined;
|
|
104
|
+
identifier(): IdentifierAst | undefined;
|
|
105
|
+
/**
|
|
106
|
+
* Every identifier segment, in source order. A bare `Vector` yields
|
|
107
|
+
* `['Vector']`; a qualified `pgvector.Vector` yields `['pgvector', 'Vector']`.
|
|
108
|
+
*/
|
|
109
|
+
path(): readonly string[];
|
|
110
|
+
/**
|
|
111
|
+
* Flags a malformed name with more qualifier segments than allowed (a second
|
|
112
|
+
* `:`-space or a second `.`-namespace).
|
|
113
|
+
*/
|
|
114
|
+
isOverQualified(): boolean;
|
|
115
|
+
static cast(node: SyntaxNode): QualifiedNameAst | undefined;
|
|
116
|
+
}
|
|
117
|
+
//#endregion
|
|
67
118
|
//#region src/syntax/ast/expressions.d.ts
|
|
68
119
|
declare class FunctionCallAst implements AstNode {
|
|
69
120
|
readonly syntax: SyntaxNode;
|
|
70
121
|
constructor(syntax: SyntaxNode);
|
|
71
|
-
name
|
|
122
|
+
/** The qualified-name callee, or `undefined` when identifier segments sit directly under the node. */
|
|
123
|
+
name(): QualifiedNameAst | undefined;
|
|
124
|
+
/**
|
|
125
|
+
* The dotted call path, in source order. A bare `Vector(…)` yields
|
|
126
|
+
* `['Vector']`; a namespace-qualified `pgvector.Vector(…)` yields
|
|
127
|
+
* `['pgvector', 'Vector']`. Empty when the call carries no identifier.
|
|
128
|
+
*/
|
|
129
|
+
path(): readonly string[];
|
|
72
130
|
lparen(): Token | undefined;
|
|
73
131
|
rparen(): Token | undefined;
|
|
74
132
|
args(): Iterable<AttributeArgAst>;
|
|
@@ -103,7 +161,29 @@ declare class BooleanLiteralExprAst implements AstNode {
|
|
|
103
161
|
value(): boolean | undefined;
|
|
104
162
|
static cast(node: SyntaxNode): BooleanLiteralExprAst | undefined;
|
|
105
163
|
}
|
|
106
|
-
|
|
164
|
+
declare class ObjectLiteralExprAst implements AstNode {
|
|
165
|
+
readonly syntax: SyntaxNode;
|
|
166
|
+
constructor(syntax: SyntaxNode);
|
|
167
|
+
lbrace(): Token | undefined;
|
|
168
|
+
rbrace(): Token | undefined;
|
|
169
|
+
fields(): Iterable<ObjectFieldAst>;
|
|
170
|
+
static cast(node: SyntaxNode): ObjectLiteralExprAst | undefined;
|
|
171
|
+
}
|
|
172
|
+
declare class ObjectFieldAst implements AstNode {
|
|
173
|
+
readonly syntax: SyntaxNode;
|
|
174
|
+
constructor(syntax: SyntaxNode);
|
|
175
|
+
key(): IdentifierAst | undefined;
|
|
176
|
+
/**
|
|
177
|
+
* The field's logical key name, unquoted. An identifier key (`length:`) yields
|
|
178
|
+
* its text; a string-literal key (`"length":`) yields the decoded string.
|
|
179
|
+
* `undefined` when the field carries no key node.
|
|
180
|
+
*/
|
|
181
|
+
keyName(): string | undefined;
|
|
182
|
+
colon(): Token | undefined;
|
|
183
|
+
value(): ExpressionAst | undefined;
|
|
184
|
+
static cast(node: SyntaxNode): ObjectFieldAst | undefined;
|
|
185
|
+
}
|
|
186
|
+
type ExpressionAst = FunctionCallAst | ArrayLiteralAst | StringLiteralExprAst | NumberLiteralExprAst | BooleanLiteralExprAst | ObjectLiteralExprAst | IdentifierAst;
|
|
107
187
|
declare function castExpression(node: SyntaxNode): ExpressionAst | undefined;
|
|
108
188
|
declare class AttributeArgAst implements AstNode {
|
|
109
189
|
readonly syntax: SyntaxNode;
|
|
@@ -127,9 +207,7 @@ declare class FieldAttributeAst implements AstNode {
|
|
|
127
207
|
readonly syntax: SyntaxNode;
|
|
128
208
|
constructor(syntax: SyntaxNode);
|
|
129
209
|
at(): Token | undefined;
|
|
130
|
-
name():
|
|
131
|
-
dot(): Token | undefined;
|
|
132
|
-
namespaceName(): IdentifierAst | undefined;
|
|
210
|
+
name(): QualifiedNameAst | undefined;
|
|
133
211
|
argList(): AttributeArgListAst | undefined;
|
|
134
212
|
static cast(node: SyntaxNode): FieldAttributeAst | undefined;
|
|
135
213
|
}
|
|
@@ -137,22 +215,20 @@ declare class ModelAttributeAst implements AstNode {
|
|
|
137
215
|
readonly syntax: SyntaxNode;
|
|
138
216
|
constructor(syntax: SyntaxNode);
|
|
139
217
|
doubleAt(): Token | undefined;
|
|
140
|
-
name():
|
|
218
|
+
name(): QualifiedNameAst | undefined;
|
|
141
219
|
argList(): AttributeArgListAst | undefined;
|
|
142
220
|
static cast(node: SyntaxNode): ModelAttributeAst | undefined;
|
|
143
221
|
}
|
|
144
222
|
//#endregion
|
|
145
223
|
//#region src/syntax/ast/type-annotation.d.ts
|
|
146
224
|
declare class TypeAnnotationAst implements AstNode {
|
|
147
|
-
#private;
|
|
148
225
|
readonly syntax: SyntaxNode;
|
|
149
226
|
constructor(syntax: SyntaxNode);
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
constructorCall(): FunctionCallAst | undefined;
|
|
227
|
+
/** The annotation's reference, doubling as the constructor callee when an {@link argList} follows. */
|
|
228
|
+
name(): QualifiedNameAst | undefined;
|
|
229
|
+
/** Present when the annotation is a constructor (`Vector(1536)`) rather than a plain reference. */
|
|
230
|
+
argList(): AttributeArgListAst | undefined;
|
|
231
|
+
isConstructor(): boolean;
|
|
156
232
|
lbracket(): Token | undefined;
|
|
157
233
|
rbracket(): Token | undefined;
|
|
158
234
|
questionMark(): Token | undefined;
|
|
@@ -163,12 +239,11 @@ declare class TypeAnnotationAst implements AstNode {
|
|
|
163
239
|
//#endregion
|
|
164
240
|
//#region src/syntax/ast/declarations.d.ts
|
|
165
241
|
/**
|
|
166
|
-
* What may appear inside a `namespace` block: models,
|
|
167
|
-
*
|
|
168
|
-
*
|
|
169
|
-
* document-only, so they are not namespace members.
|
|
242
|
+
* What may appear inside a `namespace` block: models, composite types, and
|
|
243
|
+
* extension (block) declarations. `types {}` blocks and nested `namespace`
|
|
244
|
+
* blocks are document-only, so they are not namespace members.
|
|
170
245
|
*/
|
|
171
|
-
type NamespaceMemberAst = ModelDeclarationAst |
|
|
246
|
+
type NamespaceMemberAst = ModelDeclarationAst | CompositeTypeDeclarationAst | GenericBlockDeclarationAst;
|
|
172
247
|
declare class DocumentAst implements AstNode {
|
|
173
248
|
readonly syntax: SyntaxNode;
|
|
174
249
|
constructor(syntax: SyntaxNode);
|
|
@@ -186,17 +261,6 @@ declare class ModelDeclarationAst implements AstNode {
|
|
|
186
261
|
attributes(): Iterable<ModelAttributeAst>;
|
|
187
262
|
static cast(node: SyntaxNode): ModelDeclarationAst | undefined;
|
|
188
263
|
}
|
|
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
264
|
declare class CompositeTypeDeclarationAst implements AstNode {
|
|
201
265
|
readonly syntax: SyntaxNode;
|
|
202
266
|
constructor(syntax: SyntaxNode);
|
|
@@ -227,7 +291,7 @@ declare class TypesBlockAst implements AstNode {
|
|
|
227
291
|
declarations(): Iterable<NamedTypeDeclarationAst>;
|
|
228
292
|
static cast(node: SyntaxNode): TypesBlockAst | undefined;
|
|
229
293
|
}
|
|
230
|
-
declare class
|
|
294
|
+
declare class GenericBlockDeclarationAst implements AstNode {
|
|
231
295
|
readonly syntax: SyntaxNode;
|
|
232
296
|
constructor(syntax: SyntaxNode);
|
|
233
297
|
keyword(): Token | undefined;
|
|
@@ -235,7 +299,8 @@ declare class BlockDeclarationAst implements AstNode {
|
|
|
235
299
|
lbrace(): Token | undefined;
|
|
236
300
|
rbrace(): Token | undefined;
|
|
237
301
|
entries(): Iterable<KeyValuePairAst>;
|
|
238
|
-
|
|
302
|
+
attributes(): Iterable<ModelAttributeAst>;
|
|
303
|
+
static cast(node: SyntaxNode): GenericBlockDeclarationAst | undefined;
|
|
239
304
|
}
|
|
240
305
|
declare class KeyValuePairAst implements AstNode {
|
|
241
306
|
readonly syntax: SyntaxNode;
|
|
@@ -253,13 +318,6 @@ declare class FieldDeclarationAst implements AstNode {
|
|
|
253
318
|
attributes(): Iterable<FieldAttributeAst>;
|
|
254
319
|
static cast(node: SyntaxNode): FieldDeclarationAst | undefined;
|
|
255
320
|
}
|
|
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
321
|
declare class NamedTypeDeclarationAst implements AstNode {
|
|
264
322
|
readonly syntax: SyntaxNode;
|
|
265
323
|
constructor(syntax: SyntaxNode);
|
|
@@ -270,6 +328,23 @@ declare class NamedTypeDeclarationAst implements AstNode {
|
|
|
270
328
|
static cast(node: SyntaxNode): NamedTypeDeclarationAst | undefined;
|
|
271
329
|
}
|
|
272
330
|
//#endregion
|
|
331
|
+
//#region src/parse.d.ts
|
|
332
|
+
interface ParseDiagnostic {
|
|
333
|
+
readonly code: PslDiagnosticCode;
|
|
334
|
+
readonly message: string;
|
|
335
|
+
readonly range: Range;
|
|
336
|
+
}
|
|
337
|
+
interface ParseResult {
|
|
338
|
+
readonly document: DocumentAst;
|
|
339
|
+
readonly diagnostics: readonly ParseDiagnostic[];
|
|
340
|
+
readonly sourceFile: SourceFile;
|
|
341
|
+
}
|
|
342
|
+
/**
|
|
343
|
+
* Parses a full PSL document. Never throws — malformed input yields diagnostics
|
|
344
|
+
* and a recovered tree, not an exception.
|
|
345
|
+
*/
|
|
346
|
+
declare function parse(source: string): ParseResult;
|
|
347
|
+
//#endregion
|
|
273
348
|
//#region src/syntax/green-builder.d.ts
|
|
274
349
|
declare class GreenNodeBuilder {
|
|
275
350
|
#private;
|
|
@@ -278,5 +353,5 @@ declare class GreenNodeBuilder {
|
|
|
278
353
|
finishNode(): GreenNode;
|
|
279
354
|
}
|
|
280
355
|
//#endregion
|
|
281
|
-
export { ArrayLiteralAst, type AstNode, AttributeArgAst, AttributeArgListAst,
|
|
356
|
+
export { ArrayLiteralAst, type AstNode, AttributeArgAst, AttributeArgListAst, BooleanLiteralExprAst, CompositeTypeDeclarationAst, DocumentAst, type ExpressionAst, FieldAttributeAst, FieldDeclarationAst, FunctionCallAst, GenericBlockDeclarationAst, type GreenElement, type GreenNode, GreenNodeBuilder, type GreenToken, IdentifierAst, KeyValuePairAst, ModelAttributeAst, ModelDeclarationAst, NamedTypeDeclarationAst, NamespaceDeclarationAst, type NamespaceMemberAst, NumberLiteralExprAst, ObjectFieldAst, ObjectLiteralExprAst, type ParseDiagnostic, type ParseResult, type Position, QualifiedNameAst, type Range, SourceFile, StringLiteralExprAst, type SyntaxElement, type SyntaxKind, SyntaxNode, type SyntaxToken, TypeAnnotationAst, TypesBlockAst, castExpression, createSyntaxTree, filterChildren, findChildToken, findFirstChild, greenNode, greenToken, parse, printSyntax };
|
|
282
357
|
//# sourceMappingURL=syntax.d.mts.map
|
package/dist/syntax.d.mts.map
CHANGED
|
@@ -1 +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":";;;
|
|
1
|
+
{"version":3,"file":"syntax.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","../src/syntax/green-builder.ts"],"mappings":"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"}
|