rado 0.1.34 → 0.1.36
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/lib/Cursor.d.ts +18 -12
- package/dist/lib/Cursor.js +49 -27
- package/dist/lib/Driver.d.ts +1 -0
- package/dist/lib/Expr.js +2 -2
- package/dist/lib/Formatter.js +26 -12
- package/dist/lib/Ops.d.ts +1 -2
- package/dist/lib/Ops.js +5 -14
- package/dist/lib/Statement.d.ts +1 -1
- package/dist/lib/Statement.js +2 -0
- package/dist/lib/Table.d.ts +1 -1
- package/dist/lib/Table.js +1 -1
- package/dist/lib/Target.d.ts +14 -6
- package/dist/lib/Target.js +9 -4
- package/package.json +1 -1
package/dist/lib/Cursor.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Driver } from './Driver';
|
|
1
2
|
import { EV, Expr } from './Expr';
|
|
2
3
|
import { OrderBy } from './OrderBy';
|
|
3
4
|
import { Query } from './Query';
|
|
@@ -10,26 +11,27 @@ export declare class Cursor<T> {
|
|
|
10
11
|
constructor(query: Query<T>);
|
|
11
12
|
static all(strings: TemplateStringsArray, ...params: Array<any>): Cursor<any>;
|
|
12
13
|
query(): Query<T>;
|
|
14
|
+
run(driver: Driver.Sync): T;
|
|
15
|
+
run(driver: Driver.Async): Promise<T>;
|
|
13
16
|
toJSON(): Query<T>;
|
|
14
17
|
}
|
|
15
18
|
export declare namespace Cursor {
|
|
16
|
-
class
|
|
17
|
-
take(limit: number | undefined): Limitable<T>;
|
|
18
|
-
skip(offset: number | undefined): Limitable<T>;
|
|
19
|
-
}
|
|
20
|
-
class Filterable<T> extends Limitable<T> {
|
|
21
|
-
where(...where: Array<EV<boolean>>): Filterable<T>;
|
|
22
|
-
}
|
|
23
|
-
class Delete extends Filterable<{
|
|
19
|
+
class Delete extends Cursor<{
|
|
24
20
|
rowsAffected: number;
|
|
25
21
|
}> {
|
|
26
22
|
query(): Query.Delete;
|
|
23
|
+
where(...where: Array<EV<boolean>>): Delete;
|
|
24
|
+
take(limit: number | undefined): Delete;
|
|
25
|
+
skip(offset: number | undefined): Delete;
|
|
27
26
|
}
|
|
28
|
-
class Update<T> extends
|
|
27
|
+
class Update<T> extends Cursor<{
|
|
29
28
|
rowsAffected: number;
|
|
30
29
|
}> {
|
|
31
30
|
query: () => Query.Update;
|
|
32
31
|
set(set: UpdateSet<T>): Update<T>;
|
|
32
|
+
where(...where: Array<EV<boolean>>): Update<T>;
|
|
33
|
+
take(limit: number | undefined): Update<T>;
|
|
34
|
+
skip(offset: number | undefined): Update<T>;
|
|
33
35
|
}
|
|
34
36
|
class InsertValuesReturning<T> extends Cursor<T> {
|
|
35
37
|
}
|
|
@@ -44,7 +46,7 @@ export declare namespace Cursor {
|
|
|
44
46
|
constructor(into: Schema);
|
|
45
47
|
values(...data: Array<Table.Insert<T>>): InsertValues;
|
|
46
48
|
}
|
|
47
|
-
class
|
|
49
|
+
class CreateTable extends Cursor<void> {
|
|
48
50
|
protected table: Schema;
|
|
49
51
|
constructor(table: Schema);
|
|
50
52
|
}
|
|
@@ -52,7 +54,7 @@ export declare namespace Cursor {
|
|
|
52
54
|
protected queries: Array<Query>;
|
|
53
55
|
constructor(queries: Array<Query>);
|
|
54
56
|
}
|
|
55
|
-
class SelectMultiple<T> extends
|
|
57
|
+
class SelectMultiple<T> extends Cursor<Array<T>> {
|
|
56
58
|
query(): Query.Select;
|
|
57
59
|
leftJoin<C>(that: Table<C>, ...on: Array<EV<boolean>>): SelectMultiple<T>;
|
|
58
60
|
innerJoin<C>(that: Table<C>, ...on: Array<EV<boolean>>): SelectMultiple<T>;
|
|
@@ -63,9 +65,11 @@ export declare namespace Cursor {
|
|
|
63
65
|
first(): SelectSingle<T | undefined>;
|
|
64
66
|
sure(): SelectSingle<T>;
|
|
65
67
|
where(...where: Array<EV<boolean>>): SelectMultiple<T>;
|
|
68
|
+
take(limit: number | undefined): SelectMultiple<T>;
|
|
69
|
+
skip(offset: number | undefined): SelectMultiple<T>;
|
|
66
70
|
toExpr(): Expr<T>;
|
|
67
71
|
}
|
|
68
|
-
class SelectSingle<T> extends
|
|
72
|
+
class SelectSingle<T> extends Cursor<T> {
|
|
69
73
|
query(): Query.Select;
|
|
70
74
|
leftJoin<C>(that: Table<C>, ...on: Array<EV<boolean>>): SelectSingle<T>;
|
|
71
75
|
innerJoin<C>(that: Table<C>, ...on: Array<EV<boolean>>): SelectSingle<T>;
|
|
@@ -73,6 +77,8 @@ export declare namespace Cursor {
|
|
|
73
77
|
orderBy(...orderBy: Array<OrderBy>): SelectSingle<T>;
|
|
74
78
|
groupBy(...groupBy: Array<Expr<any>>): SelectSingle<T>;
|
|
75
79
|
where(...where: Array<EV<boolean>>): SelectSingle<T>;
|
|
80
|
+
take(limit: number | undefined): SelectSingle<T>;
|
|
81
|
+
skip(offset: number | undefined): SelectSingle<T>;
|
|
76
82
|
all(): SelectMultiple<T>;
|
|
77
83
|
toExpr(): Expr<T>;
|
|
78
84
|
}
|
package/dist/lib/Cursor.js
CHANGED
|
@@ -21,41 +21,51 @@ var Cursor = class {
|
|
|
21
21
|
query() {
|
|
22
22
|
throw new Error("Not implemented");
|
|
23
23
|
}
|
|
24
|
+
run(driver) {
|
|
25
|
+
return driver.executeQuery(this.query());
|
|
26
|
+
}
|
|
24
27
|
toJSON() {
|
|
25
28
|
return this.query();
|
|
26
29
|
}
|
|
27
30
|
};
|
|
31
|
+
function addWhere(query, where) {
|
|
32
|
+
const conditions = where.slice();
|
|
33
|
+
if (query.where)
|
|
34
|
+
conditions.push(query.where);
|
|
35
|
+
return {
|
|
36
|
+
...query,
|
|
37
|
+
where: Expr.and(...conditions).expr
|
|
38
|
+
};
|
|
39
|
+
}
|
|
28
40
|
((Cursor2) => {
|
|
29
|
-
class
|
|
30
|
-
|
|
31
|
-
return
|
|
32
|
-
}
|
|
33
|
-
skip(offset) {
|
|
34
|
-
return new Limitable({ ...this.query(), offset });
|
|
41
|
+
class Delete extends Cursor2 {
|
|
42
|
+
query() {
|
|
43
|
+
return super.query();
|
|
35
44
|
}
|
|
36
|
-
}
|
|
37
|
-
Cursor2.Limitable = Limitable;
|
|
38
|
-
class Filterable extends Limitable {
|
|
39
45
|
where(...where) {
|
|
40
|
-
|
|
41
|
-
const query = this.query();
|
|
42
|
-
return new Filterable({
|
|
43
|
-
...query,
|
|
44
|
-
where: (query.where ? condition.and(new Expr(query.where)) : condition).expr
|
|
45
|
-
});
|
|
46
|
+
return new Delete(addWhere(this.query(), where));
|
|
46
47
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
return
|
|
48
|
+
take(limit) {
|
|
49
|
+
return new Delete({ ...this.query(), limit });
|
|
50
|
+
}
|
|
51
|
+
skip(offset) {
|
|
52
|
+
return new Delete({ ...this.query(), offset });
|
|
52
53
|
}
|
|
53
54
|
}
|
|
54
55
|
Cursor2.Delete = Delete;
|
|
55
|
-
class Update extends
|
|
56
|
+
class Update extends Cursor2 {
|
|
56
57
|
set(set) {
|
|
57
58
|
return new Update({ ...this.query(), set });
|
|
58
59
|
}
|
|
60
|
+
where(...where) {
|
|
61
|
+
return new Update(addWhere(this.query(), where));
|
|
62
|
+
}
|
|
63
|
+
take(limit) {
|
|
64
|
+
return new Update({ ...this.query(), limit });
|
|
65
|
+
}
|
|
66
|
+
skip(offset) {
|
|
67
|
+
return new Update({ ...this.query(), offset });
|
|
68
|
+
}
|
|
59
69
|
}
|
|
60
70
|
Cursor2.Update = Update;
|
|
61
71
|
class InsertValuesReturning extends Cursor2 {
|
|
@@ -81,13 +91,13 @@ var Cursor = class {
|
|
|
81
91
|
}
|
|
82
92
|
}
|
|
83
93
|
Cursor2.Insert = Insert;
|
|
84
|
-
class
|
|
94
|
+
class CreateTable extends Cursor2 {
|
|
85
95
|
constructor(table) {
|
|
86
96
|
super(Schema.create(table));
|
|
87
97
|
this.table = table;
|
|
88
98
|
}
|
|
89
99
|
}
|
|
90
|
-
Cursor2.
|
|
100
|
+
Cursor2.CreateTable = CreateTable;
|
|
91
101
|
class Batch extends Cursor2 {
|
|
92
102
|
constructor(queries) {
|
|
93
103
|
super(Query.Batch({ queries }));
|
|
@@ -95,7 +105,7 @@ var Cursor = class {
|
|
|
95
105
|
}
|
|
96
106
|
}
|
|
97
107
|
Cursor2.Batch = Batch;
|
|
98
|
-
class SelectMultiple extends
|
|
108
|
+
class SelectMultiple extends Cursor2 {
|
|
99
109
|
query() {
|
|
100
110
|
return super.query();
|
|
101
111
|
}
|
|
@@ -161,14 +171,20 @@ var Cursor = class {
|
|
|
161
171
|
});
|
|
162
172
|
}
|
|
163
173
|
where(...where) {
|
|
164
|
-
return new SelectMultiple(
|
|
174
|
+
return new SelectMultiple(addWhere(this.query(), where));
|
|
175
|
+
}
|
|
176
|
+
take(limit) {
|
|
177
|
+
return new SelectMultiple({ ...this.query(), limit });
|
|
178
|
+
}
|
|
179
|
+
skip(offset) {
|
|
180
|
+
return new SelectMultiple({ ...this.query(), offset });
|
|
165
181
|
}
|
|
166
182
|
toExpr() {
|
|
167
183
|
return new Expr(ExprData.Query(this.query()));
|
|
168
184
|
}
|
|
169
185
|
}
|
|
170
186
|
Cursor2.SelectMultiple = SelectMultiple;
|
|
171
|
-
class SelectSingle extends
|
|
187
|
+
class SelectSingle extends Cursor2 {
|
|
172
188
|
query() {
|
|
173
189
|
return super.query();
|
|
174
190
|
}
|
|
@@ -215,7 +231,13 @@ var Cursor = class {
|
|
|
215
231
|
});
|
|
216
232
|
}
|
|
217
233
|
where(...where) {
|
|
218
|
-
return new SelectSingle(
|
|
234
|
+
return new SelectSingle(addWhere(this.query(), where));
|
|
235
|
+
}
|
|
236
|
+
take(limit) {
|
|
237
|
+
return new SelectSingle({ ...this.query(), limit });
|
|
238
|
+
}
|
|
239
|
+
skip(offset) {
|
|
240
|
+
return new SelectSingle({ ...this.query(), offset });
|
|
219
241
|
}
|
|
220
242
|
all() {
|
|
221
243
|
return new SelectMultiple({ ...this.query(), singleResult: false });
|
package/dist/lib/Driver.d.ts
CHANGED
|
@@ -90,6 +90,7 @@ interface AsyncPreparedStatement {
|
|
|
90
90
|
get<T>(params?: Array<any>): Promise<T>;
|
|
91
91
|
execute(params?: Array<any>): Promise<void>;
|
|
92
92
|
}
|
|
93
|
+
export type Driver = SyncDriver | AsyncDriver;
|
|
93
94
|
export declare namespace Driver {
|
|
94
95
|
type Sync = SyncDriver;
|
|
95
96
|
const Sync: typeof SyncDriver;
|
package/dist/lib/Expr.js
CHANGED
|
@@ -242,7 +242,7 @@ var _Expr = class {
|
|
|
242
242
|
}
|
|
243
243
|
filter(fn) {
|
|
244
244
|
const alias = `__${Math.random().toString(36).slice(2, 9)}`;
|
|
245
|
-
const target = Target.
|
|
245
|
+
const target = Target.Expr(this.expr, alias);
|
|
246
246
|
return new _Expr(
|
|
247
247
|
ExprData.Filter(
|
|
248
248
|
target,
|
|
@@ -252,7 +252,7 @@ var _Expr = class {
|
|
|
252
252
|
}
|
|
253
253
|
map(fn) {
|
|
254
254
|
const alias = `__${Math.random().toString(36).slice(2, 9)}`;
|
|
255
|
-
const target = Target.
|
|
255
|
+
const target = Target.Expr(this.expr, alias);
|
|
256
256
|
return new _Expr(
|
|
257
257
|
ExprData.Map(
|
|
258
258
|
target,
|
package/dist/lib/Formatter.js
CHANGED
|
@@ -316,7 +316,7 @@ var Formatter = class {
|
|
|
316
316
|
case TargetType.Table:
|
|
317
317
|
stmt.identifier(target.table.name);
|
|
318
318
|
if (target.table.alias)
|
|
319
|
-
stmt.
|
|
319
|
+
stmt.raw("AS").addIdentifier(target.table.alias);
|
|
320
320
|
return stmt;
|
|
321
321
|
case TargetType.Join:
|
|
322
322
|
const { left, right, joinType } = target;
|
|
@@ -326,8 +326,15 @@ var Formatter = class {
|
|
|
326
326
|
stmt.add("ON");
|
|
327
327
|
this.formatExprValue(ctx, target.on);
|
|
328
328
|
return stmt;
|
|
329
|
-
|
|
330
|
-
|
|
329
|
+
case TargetType.Query:
|
|
330
|
+
stmt.openParenthesis();
|
|
331
|
+
this.format(ctx, target.query);
|
|
332
|
+
stmt.closeParenthesis();
|
|
333
|
+
if (target.alias)
|
|
334
|
+
stmt.raw("AS").addIdentifier(target.alias);
|
|
335
|
+
return stmt;
|
|
336
|
+
case TargetType.Expr:
|
|
337
|
+
throw new Error("Cannot format expression as target");
|
|
331
338
|
}
|
|
332
339
|
}
|
|
333
340
|
formatWhere(ctx, expr) {
|
|
@@ -541,10 +548,10 @@ var Formatter = class {
|
|
|
541
548
|
stmt.raw("exists").space();
|
|
542
549
|
return this.formatExprValue(ctx, expr.params[0]);
|
|
543
550
|
} else {
|
|
544
|
-
stmt.
|
|
545
|
-
for (const param of stmt.
|
|
551
|
+
stmt.identifier(expr.method);
|
|
552
|
+
for (const param of stmt.call(expr.params))
|
|
546
553
|
this.formatExprValue(ctx, param);
|
|
547
|
-
return stmt
|
|
554
|
+
return stmt;
|
|
548
555
|
}
|
|
549
556
|
}
|
|
550
557
|
case ExprType.Query:
|
|
@@ -578,7 +585,8 @@ var Formatter = class {
|
|
|
578
585
|
)
|
|
579
586
|
)
|
|
580
587
|
);
|
|
581
|
-
case TargetType.
|
|
588
|
+
case TargetType.Query:
|
|
589
|
+
case TargetType.Expr:
|
|
582
590
|
return stmt.identifier(expr.target.alias).raw(".value");
|
|
583
591
|
default:
|
|
584
592
|
throw new Error(`Cannot select from ${expr.target.type}`);
|
|
@@ -599,10 +607,13 @@ var Formatter = class {
|
|
|
599
607
|
case ExprType.Filter: {
|
|
600
608
|
const { target, condition } = expr;
|
|
601
609
|
switch (target.type) {
|
|
602
|
-
case TargetType.
|
|
610
|
+
case TargetType.Expr:
|
|
603
611
|
stmt.openParenthesis().raw("SELECT json_group_array(json(result)) FROM ").openParenthesis().raw("SELECT value AS result").add("FROM json_each").openParenthesis();
|
|
604
|
-
this.
|
|
605
|
-
stmt.closeParenthesis()
|
|
612
|
+
this.formatExprJson(ctx, target.expr);
|
|
613
|
+
stmt.closeParenthesis();
|
|
614
|
+
if (target.alias)
|
|
615
|
+
stmt.add("AS").addIdentifier(target.alias);
|
|
616
|
+
stmt.add("WHERE").space();
|
|
606
617
|
this.formatExprValue(ctx, condition);
|
|
607
618
|
return stmt.closeParenthesis().closeParenthesis();
|
|
608
619
|
default:
|
|
@@ -612,11 +623,14 @@ var Formatter = class {
|
|
|
612
623
|
case ExprType.Map: {
|
|
613
624
|
const { target, result } = expr;
|
|
614
625
|
switch (target.type) {
|
|
615
|
-
case TargetType.
|
|
626
|
+
case TargetType.Expr:
|
|
616
627
|
stmt.openParenthesis().raw("SELECT json_group_array(json(result)) FROM ").openParenthesis().raw("SELECT").space();
|
|
617
628
|
this.formatExprJson(ctx, result).add("AS result").add("FROM json_each").openParenthesis();
|
|
618
629
|
this.formatExprJson(ctx, target.expr);
|
|
619
|
-
|
|
630
|
+
stmt.closeParenthesis();
|
|
631
|
+
if (target.alias)
|
|
632
|
+
stmt.add("AS").addIdentifier(target.alias);
|
|
633
|
+
return stmt.closeParenthesis().closeParenthesis();
|
|
620
634
|
default:
|
|
621
635
|
throw new Error("todo");
|
|
622
636
|
}
|
package/dist/lib/Ops.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Cursor } from './Cursor';
|
|
2
2
|
import { Table } from './Table';
|
|
3
|
-
export declare function
|
|
4
|
-
export declare function selectFirst<Row>(table: Table<Row>): Cursor.SelectSingle<Row>;
|
|
3
|
+
export declare function from<Row>(source: Table<Row> | Cursor.SelectMultiple<Row>): Cursor.SelectMultiple<Row>;
|
|
5
4
|
export declare function update<Row>(table: Table<Row>): Cursor.Update<Row>;
|
|
6
5
|
export declare function insertInto<Row>(table: Table<Row>): Cursor.Insert<Row>;
|
|
7
6
|
export declare function deleteFrom<Row>(table: Table<Row>): Cursor.Delete;
|
package/dist/lib/Ops.js
CHANGED
|
@@ -4,20 +4,12 @@ import { ExprData } from "./Expr.js";
|
|
|
4
4
|
import { Query } from "./Query.js";
|
|
5
5
|
import { Schema } from "./Schema.js";
|
|
6
6
|
import { Target } from "./Target.js";
|
|
7
|
-
function
|
|
7
|
+
function from(source) {
|
|
8
|
+
const target = "schema" in source ? Target.Table(source.schema()) : Target.Query(source.query());
|
|
8
9
|
return new Cursor.SelectMultiple(
|
|
9
10
|
Query.Select({
|
|
10
|
-
from:
|
|
11
|
-
selection: ExprData.Row(
|
|
12
|
-
})
|
|
13
|
-
);
|
|
14
|
-
}
|
|
15
|
-
function selectFirst(table) {
|
|
16
|
-
return new Cursor.SelectSingle(
|
|
17
|
-
Query.Select({
|
|
18
|
-
from: Target.Table(table.schema()),
|
|
19
|
-
selection: ExprData.Row(Target.Table(table.schema())),
|
|
20
|
-
singleResult: true
|
|
11
|
+
from: target,
|
|
12
|
+
selection: ExprData.Row(target)
|
|
21
13
|
})
|
|
22
14
|
);
|
|
23
15
|
}
|
|
@@ -38,8 +30,7 @@ function create(...tables) {
|
|
|
38
30
|
export {
|
|
39
31
|
create,
|
|
40
32
|
deleteFrom,
|
|
33
|
+
from,
|
|
41
34
|
insertInto,
|
|
42
|
-
selectAll,
|
|
43
|
-
selectFirst,
|
|
44
35
|
update
|
|
45
36
|
};
|
package/dist/lib/Statement.d.ts
CHANGED
|
@@ -43,7 +43,7 @@ export declare class Statement {
|
|
|
43
43
|
raw(query: string): this;
|
|
44
44
|
openParenthesis(): this;
|
|
45
45
|
closeParenthesis(): this;
|
|
46
|
-
call<T>(parts: Array<T>, separator?: string): Generator<T,
|
|
46
|
+
call<T>(parts: Array<T>, separator?: string): Generator<T, this | undefined, unknown>;
|
|
47
47
|
separate<T>(parts: Array<T>, separator?: string): Generator<T, void, unknown>;
|
|
48
48
|
isEmpty(): boolean;
|
|
49
49
|
compile(sanitizer: Sanitizer, formatInline?: boolean): CompiledStatement;
|
package/dist/lib/Statement.js
CHANGED
|
@@ -99,6 +99,8 @@ var Statement = class {
|
|
|
99
99
|
return this.dedent().newline().raw(")");
|
|
100
100
|
}
|
|
101
101
|
*call(parts, separator = SEPARATE) {
|
|
102
|
+
if (parts.length === 0)
|
|
103
|
+
return this.raw("()");
|
|
102
104
|
this.openParenthesis();
|
|
103
105
|
yield* this.separate(parts, separator);
|
|
104
106
|
this.closeParenthesis();
|
package/dist/lib/Table.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export declare class Table<T> extends Cursor.SelectMultiple<Table.Normalize<T>>
|
|
|
16
16
|
insertAll(data: Array<Table.Insert<T>>): Cursor.InsertValues;
|
|
17
17
|
set(data: Update<Table.Normalize<T>>): Cursor.Update<Table.Normalize<T>>;
|
|
18
18
|
delete(): Cursor.Delete;
|
|
19
|
-
createTable(): Cursor.
|
|
19
|
+
createTable(): Cursor.CreateTable;
|
|
20
20
|
as(alias: string): this;
|
|
21
21
|
alias(): Record<string, this>;
|
|
22
22
|
get(name: string): Expr<any>;
|
package/dist/lib/Table.js
CHANGED
|
@@ -59,7 +59,7 @@ var Table = class extends Cursor.SelectMultiple {
|
|
|
59
59
|
return new Cursor.Delete(Query.Delete({ table: this.schema() }));
|
|
60
60
|
}
|
|
61
61
|
createTable() {
|
|
62
|
-
return new Cursor.
|
|
62
|
+
return new Cursor.CreateTable(this.schema());
|
|
63
63
|
}
|
|
64
64
|
as(alias) {
|
|
65
65
|
return new Table({ ...this.schema(), alias });
|
package/dist/lib/Target.d.ts
CHANGED
|
@@ -1,18 +1,26 @@
|
|
|
1
1
|
import { ExprData } from './Expr';
|
|
2
|
+
import { Query as QueryData } from './Query';
|
|
2
3
|
import { Schema } from './Schema';
|
|
3
4
|
export declare enum TargetType {
|
|
4
|
-
|
|
5
|
+
Expr = "Expr",
|
|
6
|
+
Query = "Query",
|
|
5
7
|
Table = "Table",
|
|
6
8
|
Join = "Join"
|
|
7
9
|
}
|
|
8
|
-
export type Target = Target.
|
|
10
|
+
export type Target = Target.Expr | Target.Query | Target.Table | Target.Join;
|
|
9
11
|
export declare namespace Target {
|
|
10
|
-
interface
|
|
11
|
-
type: TargetType.
|
|
12
|
+
interface Expr {
|
|
13
|
+
type: TargetType.Expr;
|
|
12
14
|
expr: ExprData;
|
|
13
|
-
alias
|
|
15
|
+
alias?: string;
|
|
14
16
|
}
|
|
15
|
-
function
|
|
17
|
+
function Expr(expr: ExprData, alias?: string): Expr;
|
|
18
|
+
interface Query {
|
|
19
|
+
type: TargetType.Query;
|
|
20
|
+
query: QueryData;
|
|
21
|
+
alias?: string;
|
|
22
|
+
}
|
|
23
|
+
function Query(query: QueryData, alias?: string): Query;
|
|
16
24
|
interface Table {
|
|
17
25
|
type: TargetType.Table;
|
|
18
26
|
table: Schema;
|
package/dist/lib/Target.js
CHANGED
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
// src/lib/Target.ts
|
|
2
2
|
var TargetType = /* @__PURE__ */ ((TargetType2) => {
|
|
3
|
-
TargetType2["
|
|
3
|
+
TargetType2["Expr"] = "Expr";
|
|
4
|
+
TargetType2["Query"] = "Query";
|
|
4
5
|
TargetType2["Table"] = "Table";
|
|
5
6
|
TargetType2["Join"] = "Join";
|
|
6
7
|
return TargetType2;
|
|
7
8
|
})(TargetType || {});
|
|
8
9
|
var Target;
|
|
9
10
|
((Target2) => {
|
|
10
|
-
function
|
|
11
|
-
return { type: "
|
|
11
|
+
function Expr(expr, alias) {
|
|
12
|
+
return { type: "Expr" /* Expr */, expr, alias };
|
|
12
13
|
}
|
|
13
|
-
Target2.
|
|
14
|
+
Target2.Expr = Expr;
|
|
15
|
+
function Query(query, alias) {
|
|
16
|
+
return { type: "Query" /* Query */, query, alias };
|
|
17
|
+
}
|
|
18
|
+
Target2.Query = Query;
|
|
14
19
|
function Table(table) {
|
|
15
20
|
return { type: "Table" /* Table */, table };
|
|
16
21
|
}
|