@prisma-next/sql-relational-core 0.3.0-pr.99.6 → 0.4.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/LICENSE +201 -0
- package/README.md +20 -6
- package/dist/codec-types-DcEITed4.d.mts +144 -0
- package/dist/codec-types-DcEITed4.d.mts.map +1 -0
- package/dist/errors-Cs52upp3.d.mts +8 -0
- package/dist/errors-Cs52upp3.d.mts.map +1 -0
- package/dist/errors-D3xmG4h-.mjs +35 -0
- package/dist/errors-D3xmG4h-.mjs.map +1 -0
- package/dist/exports/ast.d.mts +158 -0
- package/dist/exports/ast.d.mts.map +1 -0
- package/dist/exports/ast.mjs +1358 -0
- package/dist/exports/ast.mjs.map +1 -0
- package/dist/exports/errors.d.mts +5 -0
- package/dist/exports/errors.mjs +3 -0
- package/dist/exports/plan.d.mts +2 -0
- package/dist/exports/plan.mjs +17 -0
- package/dist/exports/plan.mjs.map +1 -0
- package/dist/exports/query-lane-context.d.mts +3 -0
- package/dist/exports/query-lane-context.mjs +1 -0
- package/dist/exports/types.d.mts +4 -0
- package/dist/exports/types.mjs +1 -0
- package/dist/index.d.mts +11 -0
- package/dist/index.mjs +7 -0
- package/dist/plan-5qUWdlJM.d.mts +28 -0
- package/dist/plan-5qUWdlJM.d.mts.map +1 -0
- package/dist/query-lane-context-UlR8vOkd.d.mts +89 -0
- package/dist/query-lane-context-UlR8vOkd.d.mts.map +1 -0
- package/dist/types-CLCtwVWx.d.mts +485 -0
- package/dist/types-CLCtwVWx.d.mts.map +1 -0
- package/dist/types-V1qiC5DO.d.mts +200 -0
- package/dist/types-V1qiC5DO.d.mts.map +1 -0
- package/package.json +30 -52
- package/src/ast/adapter-types.ts +11 -0
- package/src/ast/codec-types.ts +101 -53
- package/src/ast/driver-types.ts +20 -3
- package/src/ast/sql-codecs.ts +142 -0
- package/src/ast/types.ts +1678 -88
- package/src/errors.ts +47 -1
- package/src/exports/ast.ts +1 -8
- package/src/index.ts +0 -3
- package/src/plan.ts +4 -4
- package/src/query-lane-context.ts +74 -11
- package/src/types.ts +102 -404
- package/dist/ast/adapter-types.d.ts +0 -28
- package/dist/ast/adapter-types.d.ts.map +0 -1
- package/dist/ast/codec-types.d.ts +0 -141
- package/dist/ast/codec-types.d.ts.map +0 -1
- package/dist/ast/common.d.ts +0 -7
- package/dist/ast/common.d.ts.map +0 -1
- package/dist/ast/delete.d.ts +0 -8
- package/dist/ast/delete.d.ts.map +0 -1
- package/dist/ast/driver-types.d.ts +0 -20
- package/dist/ast/driver-types.d.ts.map +0 -1
- package/dist/ast/insert.d.ts +0 -8
- package/dist/ast/insert.d.ts.map +0 -1
- package/dist/ast/join.d.ts +0 -6
- package/dist/ast/join.d.ts.map +0 -1
- package/dist/ast/order.d.ts +0 -6
- package/dist/ast/order.d.ts.map +0 -1
- package/dist/ast/predicate.d.ts +0 -4
- package/dist/ast/predicate.d.ts.map +0 -1
- package/dist/ast/select.d.ts +0 -18
- package/dist/ast/select.d.ts.map +0 -1
- package/dist/ast/types.d.ts +0 -130
- package/dist/ast/types.d.ts.map +0 -1
- package/dist/ast/update.d.ts +0 -9
- package/dist/ast/update.d.ts.map +0 -1
- package/dist/ast/util.d.ts +0 -2
- package/dist/ast/util.d.ts.map +0 -1
- package/dist/chunk-2BWK6XEY.js +0 -13
- package/dist/chunk-2BWK6XEY.js.map +0 -1
- package/dist/chunk-2F7DSEOU.js +0 -8
- package/dist/chunk-2F7DSEOU.js.map +0 -1
- package/dist/chunk-2MAKNVCP.js +0 -86
- package/dist/chunk-2MAKNVCP.js.map +0 -1
- package/dist/chunk-36WJWNHT.js +0 -1
- package/dist/chunk-36WJWNHT.js.map +0 -1
- package/dist/chunk-3F4RFQIB.js +0 -169
- package/dist/chunk-3F4RFQIB.js.map +0 -1
- package/dist/chunk-7I3EMQID.js +0 -16
- package/dist/chunk-7I3EMQID.js.map +0 -1
- package/dist/chunk-G52ENULI.js +0 -1
- package/dist/chunk-G52ENULI.js.map +0 -1
- package/dist/chunk-HV334QHG.js +0 -320
- package/dist/chunk-HV334QHG.js.map +0 -1
- package/dist/chunk-KYSP7L5C.js +0 -16
- package/dist/chunk-KYSP7L5C.js.map +0 -1
- package/dist/chunk-U7AXAUJA.js +0 -1
- package/dist/chunk-U7AXAUJA.js.map +0 -1
- package/dist/chunk-YXD25S5I.js +0 -171
- package/dist/chunk-YXD25S5I.js.map +0 -1
- package/dist/errors.d.ts +0 -2
- package/dist/errors.d.ts.map +0 -1
- package/dist/exports/ast.d.ts +0 -14
- package/dist/exports/ast.d.ts.map +0 -1
- package/dist/exports/ast.js +0 -46
- package/dist/exports/ast.js.map +0 -1
- package/dist/exports/errors.d.ts +0 -2
- package/dist/exports/errors.d.ts.map +0 -1
- package/dist/exports/errors.js +0 -9
- package/dist/exports/errors.js.map +0 -1
- package/dist/exports/guards.d.ts +0 -2
- package/dist/exports/guards.d.ts.map +0 -1
- package/dist/exports/guards.js +0 -31
- package/dist/exports/guards.js.map +0 -1
- package/dist/exports/operations-registry.d.ts +0 -2
- package/dist/exports/operations-registry.d.ts.map +0 -1
- package/dist/exports/operations-registry.js +0 -9
- package/dist/exports/operations-registry.js.map +0 -1
- package/dist/exports/param.d.ts +0 -3
- package/dist/exports/param.d.ts.map +0 -1
- package/dist/exports/param.js +0 -7
- package/dist/exports/param.js.map +0 -1
- package/dist/exports/plan.d.ts +0 -2
- package/dist/exports/plan.d.ts.map +0 -1
- package/dist/exports/plan.js +0 -7
- package/dist/exports/plan.js.map +0 -1
- package/dist/exports/query-lane-context.d.ts +0 -2
- package/dist/exports/query-lane-context.d.ts.map +0 -1
- package/dist/exports/query-lane-context.js +0 -2
- package/dist/exports/query-lane-context.js.map +0 -1
- package/dist/exports/schema.d.ts +0 -3
- package/dist/exports/schema.d.ts.map +0 -1
- package/dist/exports/schema.js +0 -13
- package/dist/exports/schema.js.map +0 -1
- package/dist/exports/types.d.ts +0 -2
- package/dist/exports/types.d.ts.map +0 -1
- package/dist/exports/types.js +0 -10
- package/dist/exports/types.js.map +0 -1
- package/dist/index.d.ts +0 -9
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -81
- package/dist/index.js.map +0 -1
- package/dist/operations-registry.d.ts +0 -5
- package/dist/operations-registry.d.ts.map +0 -1
- package/dist/param.d.ts +0 -4
- package/dist/param.d.ts.map +0 -1
- package/dist/plan.d.ts +0 -23
- package/dist/plan.d.ts.map +0 -1
- package/dist/query-lane-context.d.ts +0 -27
- package/dist/query-lane-context.d.ts.map +0 -1
- package/dist/schema.d.ts +0 -83
- package/dist/schema.d.ts.map +0 -1
- package/dist/types.d.ts +0 -371
- package/dist/types.d.ts.map +0 -1
- package/dist/utils/guards.d.ts +0 -82
- package/dist/utils/guards.d.ts.map +0 -1
- package/src/ast/common.ts +0 -36
- package/src/ast/delete.ts +0 -17
- package/src/ast/insert.ts +0 -17
- package/src/ast/join.ts +0 -54
- package/src/ast/order.ts +0 -11
- package/src/ast/predicate.ts +0 -22
- package/src/ast/select.ts +0 -39
- package/src/ast/update.ts +0 -19
- package/src/exports/guards.ts +0 -15
- package/src/exports/operations-registry.ts +0 -1
- package/src/exports/param.ts +0 -2
- package/src/exports/schema.ts +0 -6
- package/src/operations-registry.ts +0 -276
- package/src/param.ts +0 -15
- package/src/schema.ts +0 -406
- package/src/utils/guards.ts +0 -193
|
@@ -0,0 +1,485 @@
|
|
|
1
|
+
import { PlanRefs } from "@prisma-next/contract/types";
|
|
2
|
+
import { ParamSpec } from "@prisma-next/operations";
|
|
3
|
+
import { SqlLoweringSpec } from "@prisma-next/sql-operations";
|
|
4
|
+
|
|
5
|
+
//#region src/ast/types.d.ts
|
|
6
|
+
type Direction = 'asc' | 'desc';
|
|
7
|
+
type BinaryOp = 'eq' | 'neq' | 'gt' | 'lt' | 'gte' | 'lte' | 'like' | 'ilike' | 'in' | 'notIn';
|
|
8
|
+
type AggregateCountFn = 'count';
|
|
9
|
+
type AggregateOpFn = 'sum' | 'avg' | 'min' | 'max';
|
|
10
|
+
type AggregateFn = AggregateCountFn | AggregateOpFn;
|
|
11
|
+
interface ExpressionSource {
|
|
12
|
+
toExpr(): AnyExpression;
|
|
13
|
+
}
|
|
14
|
+
interface ExpressionRewriter {
|
|
15
|
+
columnRef?(expr: ColumnRef): AnyExpression;
|
|
16
|
+
identifierRef?(expr: IdentifierRef): AnyExpression;
|
|
17
|
+
paramRef?(expr: ParamRef): ParamRef | LiteralExpr;
|
|
18
|
+
literal?(expr: LiteralExpr): LiteralExpr;
|
|
19
|
+
list?(expr: ListExpression): ListExpression | LiteralExpr;
|
|
20
|
+
select?(ast: SelectAst): SelectAst;
|
|
21
|
+
}
|
|
22
|
+
interface AstRewriter extends ExpressionRewriter {
|
|
23
|
+
tableSource?(source: TableSource): TableSource;
|
|
24
|
+
eqColJoinOn?(on: EqColJoinOn): EqColJoinOn | AnyExpression;
|
|
25
|
+
}
|
|
26
|
+
interface ExprVisitor<R> {
|
|
27
|
+
columnRef(expr: ColumnRef): R;
|
|
28
|
+
identifierRef(expr: IdentifierRef): R;
|
|
29
|
+
subquery(expr: SubqueryExpr): R;
|
|
30
|
+
operation(expr: OperationExpr): R;
|
|
31
|
+
aggregate(expr: AggregateExpr): R;
|
|
32
|
+
jsonObject(expr: JsonObjectExpr): R;
|
|
33
|
+
jsonArrayAgg(expr: JsonArrayAggExpr): R;
|
|
34
|
+
binary(expr: BinaryExpr): R;
|
|
35
|
+
and(expr: AndExpr): R;
|
|
36
|
+
or(expr: OrExpr): R;
|
|
37
|
+
exists(expr: ExistsExpr): R;
|
|
38
|
+
nullCheck(expr: NullCheckExpr): R;
|
|
39
|
+
not(expr: NotExpr): R;
|
|
40
|
+
literal(expr: LiteralExpr): R;
|
|
41
|
+
param(expr: ParamRef): R;
|
|
42
|
+
list(expr: ListExpression): R;
|
|
43
|
+
}
|
|
44
|
+
interface ExpressionFolder<T> {
|
|
45
|
+
empty: T;
|
|
46
|
+
combine(a: T, b: T): T;
|
|
47
|
+
isAbsorbing?(value: T): boolean;
|
|
48
|
+
columnRef?(expr: ColumnRef): T;
|
|
49
|
+
identifierRef?(expr: IdentifierRef): T;
|
|
50
|
+
paramRef?(expr: ParamRef): T;
|
|
51
|
+
literal?(expr: LiteralExpr): T;
|
|
52
|
+
list?(expr: ListExpression): T;
|
|
53
|
+
select?(ast: SelectAst): T;
|
|
54
|
+
}
|
|
55
|
+
type ProjectionExpr = AnyExpression;
|
|
56
|
+
type InsertValue = ColumnRef | ParamRef | DefaultValueExpr;
|
|
57
|
+
type JoinOnExpr = EqColJoinOn | AnyExpression;
|
|
58
|
+
type WhereArg = AnyExpression | ToWhereExpr;
|
|
59
|
+
type JsonObjectEntry = {
|
|
60
|
+
readonly key: string;
|
|
61
|
+
readonly value: ProjectionExpr;
|
|
62
|
+
};
|
|
63
|
+
declare abstract class AstNode {
|
|
64
|
+
abstract readonly kind: string;
|
|
65
|
+
protected freeze(): void;
|
|
66
|
+
}
|
|
67
|
+
declare abstract class QueryAst extends AstNode {
|
|
68
|
+
abstract collectRefs(): PlanRefs;
|
|
69
|
+
abstract collectParamRefs(): ParamRef[];
|
|
70
|
+
abstract toQueryAst(): AnyQueryAst;
|
|
71
|
+
collectColumnRefs(): ColumnRef[];
|
|
72
|
+
}
|
|
73
|
+
declare abstract class FromSource extends AstNode {
|
|
74
|
+
abstract collectRefs(): PlanRefs;
|
|
75
|
+
abstract rewrite(rewriter: AstRewriter): AnyFromSource;
|
|
76
|
+
abstract toFromSource(): AnyFromSource;
|
|
77
|
+
}
|
|
78
|
+
declare abstract class Expression extends AstNode implements ExpressionSource {
|
|
79
|
+
abstract accept<R>(visitor: ExprVisitor<R>): R;
|
|
80
|
+
abstract rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
81
|
+
abstract fold<T>(folder: ExpressionFolder<T>): T;
|
|
82
|
+
collectColumnRefs(): ColumnRef[];
|
|
83
|
+
collectParamRefs(): ParamRef[];
|
|
84
|
+
baseColumnRef(): ColumnRef;
|
|
85
|
+
toExpr(): AnyExpression;
|
|
86
|
+
not(): NotExpr;
|
|
87
|
+
}
|
|
88
|
+
declare class TableSource extends FromSource {
|
|
89
|
+
readonly kind: "table-source";
|
|
90
|
+
readonly name: string;
|
|
91
|
+
readonly alias: string | undefined;
|
|
92
|
+
constructor(name: string, alias?: string);
|
|
93
|
+
static named(name: string, alias?: string): TableSource;
|
|
94
|
+
rewrite(rewriter: AstRewriter): AnyFromSource;
|
|
95
|
+
toFromSource(): AnyFromSource;
|
|
96
|
+
collectRefs(): PlanRefs;
|
|
97
|
+
}
|
|
98
|
+
interface TableRef {
|
|
99
|
+
readonly name: string;
|
|
100
|
+
readonly alias?: string;
|
|
101
|
+
}
|
|
102
|
+
declare class DerivedTableSource extends FromSource {
|
|
103
|
+
readonly kind: "derived-table-source";
|
|
104
|
+
readonly alias: string;
|
|
105
|
+
readonly query: SelectAst;
|
|
106
|
+
constructor(alias: string, query: SelectAst);
|
|
107
|
+
static as(alias: string, query: SelectAst): DerivedTableSource;
|
|
108
|
+
rewrite(rewriter: AstRewriter): AnyFromSource;
|
|
109
|
+
toFromSource(): AnyFromSource;
|
|
110
|
+
collectRefs(): PlanRefs;
|
|
111
|
+
}
|
|
112
|
+
declare class ColumnRef extends Expression {
|
|
113
|
+
readonly kind: "column-ref";
|
|
114
|
+
readonly table: string;
|
|
115
|
+
readonly column: string;
|
|
116
|
+
constructor(table: string, column: string);
|
|
117
|
+
static of(table: string, column: string): ColumnRef;
|
|
118
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
119
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
120
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
121
|
+
baseColumnRef(): ColumnRef;
|
|
122
|
+
}
|
|
123
|
+
declare class IdentifierRef extends Expression {
|
|
124
|
+
readonly kind: "identifier-ref";
|
|
125
|
+
readonly name: string;
|
|
126
|
+
constructor(name: string);
|
|
127
|
+
static of(name: string): IdentifierRef;
|
|
128
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
129
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
130
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
131
|
+
}
|
|
132
|
+
declare class ParamRef extends Expression {
|
|
133
|
+
readonly kind: "param-ref";
|
|
134
|
+
readonly value: unknown;
|
|
135
|
+
readonly name: string | undefined;
|
|
136
|
+
readonly codecId: string | undefined;
|
|
137
|
+
constructor(value: unknown, options?: {
|
|
138
|
+
name?: string;
|
|
139
|
+
codecId?: string;
|
|
140
|
+
});
|
|
141
|
+
static of(value: unknown, options?: {
|
|
142
|
+
name?: string;
|
|
143
|
+
codecId?: string;
|
|
144
|
+
}): ParamRef;
|
|
145
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
146
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
147
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
148
|
+
}
|
|
149
|
+
declare class DefaultValueExpr extends AstNode {
|
|
150
|
+
readonly kind: "default-value";
|
|
151
|
+
constructor();
|
|
152
|
+
}
|
|
153
|
+
declare class LiteralExpr extends Expression {
|
|
154
|
+
readonly kind: "literal";
|
|
155
|
+
readonly value: unknown;
|
|
156
|
+
constructor(value: unknown);
|
|
157
|
+
static of(value: unknown): LiteralExpr;
|
|
158
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
159
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
160
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
161
|
+
}
|
|
162
|
+
declare class SubqueryExpr extends Expression {
|
|
163
|
+
readonly kind: "subquery";
|
|
164
|
+
readonly query: SelectAst;
|
|
165
|
+
constructor(query: SelectAst);
|
|
166
|
+
static of(query: SelectAst): SubqueryExpr;
|
|
167
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
168
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
169
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
170
|
+
}
|
|
171
|
+
declare class OperationExpr extends Expression {
|
|
172
|
+
readonly kind: "operation";
|
|
173
|
+
readonly method: string;
|
|
174
|
+
readonly self: AnyExpression;
|
|
175
|
+
readonly args: ReadonlyArray<AnyExpression | ParamRef | LiteralExpr>;
|
|
176
|
+
readonly returns: ParamSpec;
|
|
177
|
+
readonly lowering: SqlLoweringSpec;
|
|
178
|
+
constructor(options: {
|
|
179
|
+
readonly method: string;
|
|
180
|
+
readonly self: AnyExpression;
|
|
181
|
+
readonly args: ReadonlyArray<AnyExpression | ParamRef | LiteralExpr> | undefined;
|
|
182
|
+
readonly returns: ParamSpec;
|
|
183
|
+
readonly lowering: SqlLoweringSpec;
|
|
184
|
+
});
|
|
185
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
186
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
187
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
188
|
+
baseColumnRef(): ColumnRef;
|
|
189
|
+
}
|
|
190
|
+
declare class AggregateExpr extends Expression {
|
|
191
|
+
readonly kind: "aggregate";
|
|
192
|
+
readonly fn: AggregateFn;
|
|
193
|
+
readonly expr: AnyExpression | undefined;
|
|
194
|
+
constructor(fn: AggregateFn, expr?: AnyExpression);
|
|
195
|
+
static count(expr?: AnyExpression): AggregateExpr;
|
|
196
|
+
static sum(expr: AnyExpression): AggregateExpr;
|
|
197
|
+
static avg(expr: AnyExpression): AggregateExpr;
|
|
198
|
+
static min(expr: AnyExpression): AggregateExpr;
|
|
199
|
+
static max(expr: AnyExpression): AggregateExpr;
|
|
200
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
201
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
202
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
203
|
+
}
|
|
204
|
+
declare class JsonObjectExpr extends Expression {
|
|
205
|
+
readonly kind: "json-object";
|
|
206
|
+
readonly entries: ReadonlyArray<JsonObjectEntry>;
|
|
207
|
+
constructor(entries: ReadonlyArray<JsonObjectEntry>);
|
|
208
|
+
static entry(key: string, value: ProjectionExpr): JsonObjectEntry;
|
|
209
|
+
static fromEntries(entries: ReadonlyArray<JsonObjectEntry>): JsonObjectExpr;
|
|
210
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
211
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
212
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
213
|
+
}
|
|
214
|
+
declare class OrderByItem extends AstNode {
|
|
215
|
+
readonly kind: "order-by-item";
|
|
216
|
+
readonly expr: AnyExpression;
|
|
217
|
+
readonly dir: Direction;
|
|
218
|
+
constructor(expr: AnyExpression, dir: Direction);
|
|
219
|
+
static asc(expr: AnyExpression): OrderByItem;
|
|
220
|
+
static desc(expr: AnyExpression): OrderByItem;
|
|
221
|
+
rewrite(rewriter: ExpressionRewriter): OrderByItem;
|
|
222
|
+
}
|
|
223
|
+
declare class JsonArrayAggExpr extends Expression {
|
|
224
|
+
readonly kind: "json-array-agg";
|
|
225
|
+
readonly expr: AnyExpression;
|
|
226
|
+
readonly onEmpty: 'null' | 'emptyArray';
|
|
227
|
+
readonly orderBy: ReadonlyArray<OrderByItem> | undefined;
|
|
228
|
+
constructor(expr: AnyExpression, onEmpty?: 'null' | 'emptyArray', orderBy?: ReadonlyArray<OrderByItem>);
|
|
229
|
+
static of(expr: AnyExpression, onEmpty?: 'null' | 'emptyArray', orderBy?: ReadonlyArray<OrderByItem>): JsonArrayAggExpr;
|
|
230
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
231
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
232
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
233
|
+
}
|
|
234
|
+
declare class ListExpression extends Expression {
|
|
235
|
+
readonly kind: "list";
|
|
236
|
+
readonly values: ReadonlyArray<AnyExpression>;
|
|
237
|
+
constructor(values: ReadonlyArray<AnyExpression>);
|
|
238
|
+
static of(values: ReadonlyArray<AnyExpression>): ListExpression;
|
|
239
|
+
static fromValues(values: ReadonlyArray<unknown>): ListExpression;
|
|
240
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
241
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
242
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
243
|
+
}
|
|
244
|
+
declare class BinaryExpr extends Expression {
|
|
245
|
+
readonly kind: "binary";
|
|
246
|
+
readonly op: BinaryOp;
|
|
247
|
+
readonly left: AnyExpression;
|
|
248
|
+
readonly right: AnyExpression;
|
|
249
|
+
constructor(op: BinaryOp, left: AnyExpression, right: AnyExpression);
|
|
250
|
+
static eq(left: AnyExpression, right: AnyExpression): BinaryExpr;
|
|
251
|
+
static neq(left: AnyExpression, right: AnyExpression): BinaryExpr;
|
|
252
|
+
static gt(left: AnyExpression, right: AnyExpression): BinaryExpr;
|
|
253
|
+
static lt(left: AnyExpression, right: AnyExpression): BinaryExpr;
|
|
254
|
+
static gte(left: AnyExpression, right: AnyExpression): BinaryExpr;
|
|
255
|
+
static lte(left: AnyExpression, right: AnyExpression): BinaryExpr;
|
|
256
|
+
static like(left: AnyExpression, right: AnyExpression): BinaryExpr;
|
|
257
|
+
static ilike(left: AnyExpression, right: AnyExpression): BinaryExpr;
|
|
258
|
+
static in(left: AnyExpression, right: AnyExpression): BinaryExpr;
|
|
259
|
+
static notIn(left: AnyExpression, right: AnyExpression): BinaryExpr;
|
|
260
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
261
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
262
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
263
|
+
}
|
|
264
|
+
declare class AndExpr extends Expression {
|
|
265
|
+
readonly kind: "and";
|
|
266
|
+
readonly exprs: ReadonlyArray<AnyExpression>;
|
|
267
|
+
constructor(exprs: ReadonlyArray<AnyExpression>);
|
|
268
|
+
static of(exprs: ReadonlyArray<AnyExpression>): AndExpr;
|
|
269
|
+
static true(): AndExpr;
|
|
270
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
271
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
272
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
273
|
+
}
|
|
274
|
+
declare class OrExpr extends Expression {
|
|
275
|
+
readonly kind: "or";
|
|
276
|
+
readonly exprs: ReadonlyArray<AnyExpression>;
|
|
277
|
+
constructor(exprs: ReadonlyArray<AnyExpression>);
|
|
278
|
+
static of(exprs: ReadonlyArray<AnyExpression>): OrExpr;
|
|
279
|
+
static false(): OrExpr;
|
|
280
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
281
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
282
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
283
|
+
}
|
|
284
|
+
declare class ExistsExpr extends Expression {
|
|
285
|
+
readonly kind: "exists";
|
|
286
|
+
readonly notExists: boolean;
|
|
287
|
+
readonly subquery: SelectAst;
|
|
288
|
+
constructor(subquery: SelectAst, notExists?: boolean);
|
|
289
|
+
static exists(subquery: SelectAst): ExistsExpr;
|
|
290
|
+
static notExists(subquery: SelectAst): ExistsExpr;
|
|
291
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
292
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
293
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
294
|
+
}
|
|
295
|
+
declare class NullCheckExpr extends Expression {
|
|
296
|
+
readonly kind: "null-check";
|
|
297
|
+
readonly expr: AnyExpression;
|
|
298
|
+
readonly isNull: boolean;
|
|
299
|
+
constructor(expr: AnyExpression, isNull: boolean);
|
|
300
|
+
static isNull(expr: AnyExpression): NullCheckExpr;
|
|
301
|
+
static isNotNull(expr: AnyExpression): NullCheckExpr;
|
|
302
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
303
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
304
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
305
|
+
}
|
|
306
|
+
declare class NotExpr extends Expression {
|
|
307
|
+
readonly kind: "not";
|
|
308
|
+
readonly expr: AnyExpression;
|
|
309
|
+
constructor(expr: AnyExpression);
|
|
310
|
+
toWhereExpr(): AnyExpression;
|
|
311
|
+
accept<R>(visitor: ExprVisitor<R>): R;
|
|
312
|
+
rewrite(rewriter: ExpressionRewriter): AnyExpression;
|
|
313
|
+
fold<T>(folder: ExpressionFolder<T>): T;
|
|
314
|
+
}
|
|
315
|
+
declare class EqColJoinOn extends AstNode {
|
|
316
|
+
readonly kind: "eq-col-join-on";
|
|
317
|
+
readonly left: ColumnRef;
|
|
318
|
+
readonly right: ColumnRef;
|
|
319
|
+
constructor(left: ColumnRef, right: ColumnRef);
|
|
320
|
+
static of(left: ColumnRef, right: ColumnRef): EqColJoinOn;
|
|
321
|
+
rewrite(rewriter: AstRewriter): EqColJoinOn | AnyExpression;
|
|
322
|
+
}
|
|
323
|
+
declare class JoinAst extends AstNode {
|
|
324
|
+
readonly kind: "join";
|
|
325
|
+
readonly joinType: 'inner' | 'left' | 'right' | 'full';
|
|
326
|
+
readonly source: AnyFromSource;
|
|
327
|
+
readonly lateral: boolean;
|
|
328
|
+
readonly on: JoinOnExpr;
|
|
329
|
+
constructor(joinType: 'inner' | 'left' | 'right' | 'full', source: AnyFromSource, on: JoinOnExpr, lateral?: boolean);
|
|
330
|
+
static inner(source: AnyFromSource, on: JoinOnExpr, lateral?: boolean): JoinAst;
|
|
331
|
+
static left(source: AnyFromSource, on: JoinOnExpr, lateral?: boolean): JoinAst;
|
|
332
|
+
static right(source: AnyFromSource, on: JoinOnExpr, lateral?: boolean): JoinAst;
|
|
333
|
+
static full(source: AnyFromSource, on: JoinOnExpr, lateral?: boolean): JoinAst;
|
|
334
|
+
rewrite(rewriter: AstRewriter): JoinAst;
|
|
335
|
+
}
|
|
336
|
+
declare class ProjectionItem extends AstNode {
|
|
337
|
+
readonly kind: "projection-item";
|
|
338
|
+
readonly alias: string;
|
|
339
|
+
readonly expr: ProjectionExpr;
|
|
340
|
+
constructor(alias: string, expr: ProjectionExpr);
|
|
341
|
+
static of(alias: string, expr: ProjectionExpr): ProjectionItem;
|
|
342
|
+
}
|
|
343
|
+
interface SelectAstOptions {
|
|
344
|
+
readonly from: AnyFromSource;
|
|
345
|
+
readonly joins: ReadonlyArray<JoinAst> | undefined;
|
|
346
|
+
readonly projection: ReadonlyArray<ProjectionItem>;
|
|
347
|
+
readonly where: AnyExpression | undefined;
|
|
348
|
+
readonly orderBy: ReadonlyArray<OrderByItem> | undefined;
|
|
349
|
+
readonly distinct: true | undefined;
|
|
350
|
+
readonly distinctOn: ReadonlyArray<AnyExpression> | undefined;
|
|
351
|
+
readonly groupBy: ReadonlyArray<AnyExpression> | undefined;
|
|
352
|
+
readonly having: AnyExpression | undefined;
|
|
353
|
+
readonly limit: number | undefined;
|
|
354
|
+
readonly offset: number | undefined;
|
|
355
|
+
readonly selectAllIntent: {
|
|
356
|
+
readonly table?: string;
|
|
357
|
+
} | undefined;
|
|
358
|
+
}
|
|
359
|
+
declare class SelectAst extends QueryAst {
|
|
360
|
+
readonly kind: "select";
|
|
361
|
+
readonly from: AnyFromSource;
|
|
362
|
+
readonly joins: ReadonlyArray<JoinAst> | undefined;
|
|
363
|
+
readonly projection: ReadonlyArray<ProjectionItem>;
|
|
364
|
+
readonly where: AnyExpression | undefined;
|
|
365
|
+
readonly orderBy: ReadonlyArray<OrderByItem> | undefined;
|
|
366
|
+
readonly distinct: true | undefined;
|
|
367
|
+
readonly distinctOn: ReadonlyArray<AnyExpression> | undefined;
|
|
368
|
+
readonly groupBy: ReadonlyArray<AnyExpression> | undefined;
|
|
369
|
+
readonly having: AnyExpression | undefined;
|
|
370
|
+
readonly limit: number | undefined;
|
|
371
|
+
readonly offset: number | undefined;
|
|
372
|
+
readonly selectAllIntent: {
|
|
373
|
+
readonly table?: string;
|
|
374
|
+
} | undefined;
|
|
375
|
+
constructor(options: SelectAstOptions);
|
|
376
|
+
static from(from: AnyFromSource): SelectAst;
|
|
377
|
+
withFrom(from: AnyFromSource): SelectAst;
|
|
378
|
+
withJoins(joins: ReadonlyArray<JoinAst>): SelectAst;
|
|
379
|
+
withProjection(projection: ReadonlyArray<ProjectionItem>): SelectAst;
|
|
380
|
+
addProjection(alias: string, expr: ProjectionExpr): SelectAst;
|
|
381
|
+
withWhere(where: AnyExpression | undefined): SelectAst;
|
|
382
|
+
withOrderBy(orderBy: ReadonlyArray<OrderByItem>): SelectAst;
|
|
383
|
+
withDistinct(enabled?: boolean): SelectAst;
|
|
384
|
+
withDistinctOn(distinctOn: ReadonlyArray<AnyExpression>): SelectAst;
|
|
385
|
+
withGroupBy(groupBy: ReadonlyArray<AnyExpression>): SelectAst;
|
|
386
|
+
withHaving(having: AnyExpression | undefined): SelectAst;
|
|
387
|
+
withLimit(limit: number | undefined): SelectAst;
|
|
388
|
+
withOffset(offset: number | undefined): SelectAst;
|
|
389
|
+
withSelectAllIntent(selectAllIntent: {
|
|
390
|
+
readonly table?: string;
|
|
391
|
+
} | undefined): SelectAst;
|
|
392
|
+
rewrite(rewriter: AstRewriter): SelectAst;
|
|
393
|
+
collectColumnRefs(): ColumnRef[];
|
|
394
|
+
collectParamRefs(): ParamRef[];
|
|
395
|
+
collectRefs(): PlanRefs;
|
|
396
|
+
toQueryAst(): AnyQueryAst;
|
|
397
|
+
}
|
|
398
|
+
declare abstract class InsertOnConflictAction extends AstNode {
|
|
399
|
+
abstract toInsertOnConflictAction(): AnyInsertOnConflictAction;
|
|
400
|
+
}
|
|
401
|
+
declare class DoNothingConflictAction extends InsertOnConflictAction {
|
|
402
|
+
readonly kind: "do-nothing";
|
|
403
|
+
constructor();
|
|
404
|
+
toInsertOnConflictAction(): AnyInsertOnConflictAction;
|
|
405
|
+
}
|
|
406
|
+
declare class DoUpdateSetConflictAction extends InsertOnConflictAction {
|
|
407
|
+
readonly kind: "do-update-set";
|
|
408
|
+
readonly set: Readonly<Record<string, ColumnRef | ParamRef>>;
|
|
409
|
+
constructor(set: Readonly<Record<string, ColumnRef | ParamRef>>);
|
|
410
|
+
toInsertOnConflictAction(): AnyInsertOnConflictAction;
|
|
411
|
+
}
|
|
412
|
+
declare class InsertOnConflict extends AstNode {
|
|
413
|
+
readonly kind: "insert-on-conflict";
|
|
414
|
+
readonly columns: ReadonlyArray<ColumnRef>;
|
|
415
|
+
readonly action: AnyInsertOnConflictAction;
|
|
416
|
+
constructor(columns: ReadonlyArray<ColumnRef>, action: AnyInsertOnConflictAction);
|
|
417
|
+
static on(columns: ReadonlyArray<ColumnRef>): InsertOnConflict;
|
|
418
|
+
doNothing(): InsertOnConflict;
|
|
419
|
+
doUpdateSet(set: Readonly<Record<string, ColumnRef | ParamRef>>): InsertOnConflict;
|
|
420
|
+
}
|
|
421
|
+
declare class InsertAst extends QueryAst {
|
|
422
|
+
readonly kind: "insert";
|
|
423
|
+
readonly table: TableSource;
|
|
424
|
+
readonly rows: ReadonlyArray<Readonly<Record<string, InsertValue>>>;
|
|
425
|
+
readonly onConflict: InsertOnConflict | undefined;
|
|
426
|
+
readonly returning: ReadonlyArray<ColumnRef> | undefined;
|
|
427
|
+
constructor(table: TableSource, rows?: ReadonlyArray<Record<string, InsertValue>>, onConflict?: InsertOnConflict, returning?: ReadonlyArray<ColumnRef>);
|
|
428
|
+
static into(table: TableSource): InsertAst;
|
|
429
|
+
withValues(values: Record<string, InsertValue>): InsertAst;
|
|
430
|
+
withRows(rows: ReadonlyArray<Record<string, InsertValue>>): InsertAst;
|
|
431
|
+
withReturning(returning: ReadonlyArray<ColumnRef> | undefined): InsertAst;
|
|
432
|
+
withOnConflict(onConflict: InsertOnConflict | undefined): InsertAst;
|
|
433
|
+
collectParamRefs(): ParamRef[];
|
|
434
|
+
collectRefs(): PlanRefs;
|
|
435
|
+
toQueryAst(): AnyQueryAst;
|
|
436
|
+
}
|
|
437
|
+
declare class UpdateAst extends QueryAst {
|
|
438
|
+
readonly kind: "update";
|
|
439
|
+
readonly table: TableSource;
|
|
440
|
+
readonly set: Readonly<Record<string, ColumnRef | ParamRef>>;
|
|
441
|
+
readonly where: AnyExpression | undefined;
|
|
442
|
+
readonly returning: ReadonlyArray<ColumnRef> | undefined;
|
|
443
|
+
constructor(table: TableSource, set?: Readonly<Record<string, ColumnRef | ParamRef>>, where?: AnyExpression, returning?: ReadonlyArray<ColumnRef>);
|
|
444
|
+
static table(table: TableSource): UpdateAst;
|
|
445
|
+
withSet(set: Readonly<Record<string, ColumnRef | ParamRef>>): UpdateAst;
|
|
446
|
+
withWhere(where: AnyExpression | undefined): UpdateAst;
|
|
447
|
+
withReturning(returning: ReadonlyArray<ColumnRef> | undefined): UpdateAst;
|
|
448
|
+
collectParamRefs(): ParamRef[];
|
|
449
|
+
collectRefs(): PlanRefs;
|
|
450
|
+
toQueryAst(): AnyQueryAst;
|
|
451
|
+
}
|
|
452
|
+
declare class DeleteAst extends QueryAst {
|
|
453
|
+
readonly kind: "delete";
|
|
454
|
+
readonly table: TableSource;
|
|
455
|
+
readonly where: AnyExpression | undefined;
|
|
456
|
+
readonly returning: ReadonlyArray<ColumnRef> | undefined;
|
|
457
|
+
constructor(table: TableSource, where?: AnyExpression, returning?: ReadonlyArray<ColumnRef>);
|
|
458
|
+
static from(table: TableSource): DeleteAst;
|
|
459
|
+
withWhere(where: AnyExpression | undefined): DeleteAst;
|
|
460
|
+
withReturning(returning: ReadonlyArray<ColumnRef> | undefined): DeleteAst;
|
|
461
|
+
collectParamRefs(): ParamRef[];
|
|
462
|
+
collectRefs(): PlanRefs;
|
|
463
|
+
toQueryAst(): AnyQueryAst;
|
|
464
|
+
}
|
|
465
|
+
type AnyQueryAst = SelectAst | InsertAst | UpdateAst | DeleteAst;
|
|
466
|
+
type AnyFromSource = TableSource | DerivedTableSource;
|
|
467
|
+
type AnyExpression = ColumnRef | IdentifierRef | ParamRef | LiteralExpr | SubqueryExpr | OperationExpr | AggregateExpr | JsonObjectExpr | JsonArrayAggExpr | ListExpression | BinaryExpr | AndExpr | OrExpr | ExistsExpr | NullCheckExpr | NotExpr;
|
|
468
|
+
type AnyInsertOnConflictAction = DoNothingConflictAction | DoUpdateSetConflictAction;
|
|
469
|
+
type AnyInsertValue = ColumnRef | ParamRef | DefaultValueExpr;
|
|
470
|
+
type AnyOperationArg = AnyExpression | ParamRef | LiteralExpr;
|
|
471
|
+
declare const queryAstKinds: ReadonlySet<string>;
|
|
472
|
+
declare const whereExprKinds: ReadonlySet<string>;
|
|
473
|
+
declare function isQueryAst(value: unknown): value is AnyQueryAst;
|
|
474
|
+
declare function isWhereExpr(value: unknown): value is AnyExpression;
|
|
475
|
+
interface ToWhereExpr {
|
|
476
|
+
toWhereExpr(): AnyExpression;
|
|
477
|
+
}
|
|
478
|
+
interface LoweredStatement {
|
|
479
|
+
readonly sql: string;
|
|
480
|
+
readonly params: readonly unknown[];
|
|
481
|
+
readonly annotations?: Record<string, unknown>;
|
|
482
|
+
}
|
|
483
|
+
//#endregion
|
|
484
|
+
export { ToWhereExpr as $, InsertOnConflict as A, NotExpr as B, ExistsExpr as C, ExpressionSource as D, ExpressionRewriter as E, JsonObjectEntry as F, ParamRef as G, OperationExpr as H, JsonObjectExpr as I, SelectAst as J, ProjectionExpr as K, ListExpression as L, JoinAst as M, JoinOnExpr as N, IdentifierRef as O, JsonArrayAggExpr as P, TableSource as Q, LiteralExpr as R, EqColJoinOn as S, ExpressionFolder as T, OrExpr as U, NullCheckExpr as V, OrderByItem as W, SubqueryExpr as X, SelectAstOptions as Y, TableRef as Z, DeleteAst as _, AndExpr as a, whereExprKinds as at, DoNothingConflictAction as b, AnyInsertOnConflictAction as c, AnyQueryAst as d, UpdateAst as et, AstRewriter as f, DefaultValueExpr as g, ColumnRef as h, AggregateOpFn as i, queryAstKinds as it, InsertValue as j, InsertAst as k, AnyInsertValue as l, BinaryOp as m, AggregateExpr as n, isQueryAst as nt, AnyExpression as o, BinaryExpr as p, ProjectionItem as q, AggregateFn as r, isWhereExpr as rt, AnyFromSource as s, AggregateCountFn as t, WhereArg as tt, AnyOperationArg as u, DerivedTableSource as v, ExprVisitor as w, DoUpdateSetConflictAction as x, Direction as y, LoweredStatement as z };
|
|
485
|
+
//# sourceMappingURL=types-CLCtwVWx.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-CLCtwVWx.d.mts","names":[],"sources":["../src/ast/types.ts"],"sourcesContent":[],"mappings":"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"}
|