rado 0.1.62 → 0.1.63
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/define/Column.d.ts +58 -58
- package/dist/define/Cursor.d.ts +87 -87
- package/dist/define/Expr.d.ts +172 -172
- package/dist/define/Fields.d.ts +13 -13
- package/dist/define/Functions.d.ts +5 -5
- package/dist/define/Id.d.ts +3 -3
- package/dist/define/Index.d.ts +17 -17
- package/dist/define/Ops.d.ts +7 -7
- package/dist/define/OrderBy.d.ts +9 -9
- package/dist/define/Param.d.ts +15 -15
- package/dist/define/Query.d.ts +109 -109
- package/dist/define/Schema.d.ts +18 -18
- package/dist/define/Selection.d.ts +20 -20
- package/dist/define/Table.d.ts +62 -62
- package/dist/define/Target.d.ts +38 -38
- package/dist/define/Update.d.ts +4 -4
- package/dist/driver/better-sqlite3.d.ts +15 -15
- package/dist/driver/bun-sqlite.d.ts +18 -18
- package/dist/driver/sql.js.d.ts +15 -15
- package/dist/driver/sqlite3.d.ts +18 -18
- package/dist/index.d.ts +21 -21
- package/dist/lib/Driver.d.ts +110 -110
- package/dist/lib/Formatter.d.ts +81 -81
- package/dist/lib/Formatter.js +3 -3
- package/dist/lib/Sanitizer.d.ts +5 -5
- package/dist/lib/SqlError.d.ts +3 -3
- package/dist/lib/Statement.d.ts +33 -33
- package/dist/sqlite/SqliteFormatter.d.ts +11 -11
- package/dist/sqlite/SqliteFunctions.d.ts +165 -165
- package/dist/sqlite/SqliteSchema.d.ts +25 -25
- package/dist/sqlite.d.ts +2 -2
- package/package.json +60 -60
- package/dist/CPU.20230126.092143.12244.0.001.cpuprofile +0 -1
- package/dist/Column.d.ts +0 -54
- package/dist/Column.js +0 -63
- package/dist/Cursor.d.ts +0 -77
- package/dist/Cursor.js +0 -221
- package/dist/Driver.d.ts +0 -89
- package/dist/Driver.js +0 -262
- package/dist/Expr.d.ts +0 -149
- package/dist/Expr.js +0 -284
- package/dist/Fields.d.ts +0 -11
- package/dist/Fields.js +0 -0
- package/dist/Formatter.d.ts +0 -55
- package/dist/Formatter.js +0 -496
- package/dist/Functions.d.ts +0 -7
- package/dist/Functions.js +0 -11
- package/dist/Id.d.ts +0 -3
- package/dist/Id.js +0 -0
- package/dist/Ops.d.ts +0 -8
- package/dist/Ops.js +0 -45
- package/dist/OrderBy.d.ts +0 -9
- package/dist/OrderBy.js +0 -9
- package/dist/Param.d.ts +0 -15
- package/dist/Param.js +0 -18
- package/dist/Query.d.ts +0 -107
- package/dist/Query.js +0 -74
- package/dist/Sanitizer.d.ts +0 -4
- package/dist/Sanitizer.js +0 -0
- package/dist/Schema.d.ts +0 -23
- package/dist/Schema.js +0 -60
- package/dist/Selection.d.ts +0 -20
- package/dist/Selection.js +0 -7
- package/dist/Statement.d.ts +0 -57
- package/dist/Statement.js +0 -184
- package/dist/Table.d.ts +0 -56
- package/dist/Table.js +0 -104
- package/dist/Target.d.ts +0 -30
- package/dist/Target.js +0 -37
- package/dist/Update.d.ts +0 -4
- package/dist/Update.js +0 -0
- package/dist/lib/Column.d.ts +0 -57
- package/dist/lib/Column.js +0 -63
- package/dist/lib/Cursor.d.ts +0 -79
- package/dist/lib/Cursor.js +0 -231
- package/dist/lib/Expr.d.ts +0 -154
- package/dist/lib/Expr.js +0 -284
- package/dist/lib/Fields.d.ts +0 -13
- package/dist/lib/Fields.js +0 -0
- package/dist/lib/Functions.d.ts +0 -5
- package/dist/lib/Functions.js +0 -11
- package/dist/lib/Id.d.ts +0 -3
- package/dist/lib/Id.js +0 -0
- package/dist/lib/Index.d.ts +0 -17
- package/dist/lib/Index.js +0 -20
- package/dist/lib/Ops.d.ts +0 -8
- package/dist/lib/Ops.js +0 -45
- package/dist/lib/OrderBy.d.ts +0 -9
- package/dist/lib/OrderBy.js +0 -9
- package/dist/lib/Param.d.ts +0 -20
- package/dist/lib/Param.js +0 -27
- package/dist/lib/Query.d.ts +0 -109
- package/dist/lib/Query.js +0 -74
- package/dist/lib/Schema.d.ts +0 -18
- package/dist/lib/Schema.js +0 -67
- package/dist/lib/Selection.d.ts +0 -20
- package/dist/lib/Selection.js +0 -7
- package/dist/lib/Table.d.ts +0 -62
- package/dist/lib/Table.js +0 -130
- package/dist/lib/Target.d.ts +0 -30
- package/dist/lib/Target.js +0 -37
- package/dist/lib/Update.d.ts +0 -4
- package/dist/lib/Update.js +0 -0
- package/dist/sqlite/index.d.ts +0 -2
- package/dist/sqlite/index.js +0 -3
- package/dist/src/driver/better-sqlite3.js +0 -49
- package/dist/src/driver/sql.js.js +0 -66
- package/dist/src/driver/sqlite3.js +0 -87
- package/dist/src/index.js +0 -24
- package/dist/src/lib/Column.js +0 -63
- package/dist/src/lib/Cursor.js +0 -231
- package/dist/src/lib/Driver.js +0 -316
- package/dist/src/lib/Expr.js +0 -284
- package/dist/src/lib/Fields.js +0 -0
- package/dist/src/lib/Formatter.js +0 -625
- package/dist/src/lib/Functions.js +0 -11
- package/dist/src/lib/Id.js +0 -0
- package/dist/src/lib/Index.js +0 -20
- package/dist/src/lib/Ops.js +0 -45
- package/dist/src/lib/OrderBy.js +0 -9
- package/dist/src/lib/Param.js +0 -27
- package/dist/src/lib/Query.js +0 -74
- package/dist/src/lib/Sanitizer.js +0 -0
- package/dist/src/lib/Schema.js +0 -67
- package/dist/src/lib/Selection.js +0 -7
- package/dist/src/lib/Statement.js +0 -103
- package/dist/src/lib/Table.js +0 -130
- package/dist/src/lib/Target.js +0 -37
- package/dist/src/lib/Update.js +0 -0
- package/dist/src/sqlite/SqliteFormatter.js +0 -67
- package/dist/src/sqlite/SqliteFunctions.js +0 -146
- package/dist/src/sqlite/SqliteSchema.js +0 -47
- package/dist/src/sqlite.js +0 -3
- package/dist/test/DbSuite.js +0 -28
- package/dist/test/TSTestTypes.js +0 -6
- package/dist/test/TestBasic.js +0 -172
- package/dist/test/TestExtend.js +0 -68
- package/dist/test/TestFts5.js +0 -34
- package/dist/test/TestFunctions.js +0 -28
- package/dist/test/TestJoins.js +0 -34
- package/dist/test/TestJson.js +0 -33
- package/dist/test/TestPrepare.js +0 -27
- package/dist/test/TestRawSql.js +0 -31
- package/dist/test/TestSchema.js +0 -69
- package/dist/test/TestSubQueries.js +0 -79
- package/dist/test/TestTransaction.js +0 -54
- package/dist/test/TestUpdate.js +0 -95
- package/dist/test/index.js +0 -14
package/dist/define/Column.d.ts
CHANGED
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
import { EV, Expr, ExprData } from './Expr';
|
|
2
|
-
export declare enum ColumnType {
|
|
3
|
-
String = "String",
|
|
4
|
-
Integer = "Integer",
|
|
5
|
-
Number = "Number",
|
|
6
|
-
Boolean = "Boolean",
|
|
7
|
-
Json = "Json"
|
|
8
|
-
}
|
|
9
|
-
interface PartialColumnData {
|
|
10
|
-
type: ColumnType;
|
|
11
|
-
name?: string;
|
|
12
|
-
nullable?: boolean;
|
|
13
|
-
defaultValue?: ExprData | (() => ExprData);
|
|
14
|
-
autoIncrement?: boolean;
|
|
15
|
-
primaryKey?: boolean;
|
|
16
|
-
unique?: boolean;
|
|
17
|
-
references?: () => ExprData;
|
|
18
|
-
}
|
|
19
|
-
export interface ColumnData extends PartialColumnData {
|
|
20
|
-
type: ColumnType;
|
|
21
|
-
name: string;
|
|
22
|
-
}
|
|
23
|
-
export declare class Column<T> {
|
|
24
|
-
data: PartialColumnData;
|
|
25
|
-
constructor(data: PartialColumnData);
|
|
26
|
-
name(name: string): Column<T>;
|
|
27
|
-
nullable(): Column<T | null>;
|
|
28
|
-
autoIncrement(): Column<Column.IsOptional<T>>;
|
|
29
|
-
primaryKey<K extends string>(create?: () => EV<T>): Column<Column.IsPrimary<T, K>>;
|
|
30
|
-
references<X extends T>(column: Expr<X> | (() => Expr<X>)): Column<X>;
|
|
31
|
-
unique(): Column<T>;
|
|
32
|
-
defaultValue(create: () => EV<T>): Column<Column.IsOptional<T>>;
|
|
33
|
-
defaultValue(value: EV<T>): Column<Column.IsOptional<T>>;
|
|
34
|
-
}
|
|
35
|
-
export type PrimaryKey<T, K> = string extends K ? T : T & {
|
|
36
|
-
[Column.isPrimary]: K;
|
|
37
|
-
};
|
|
38
|
-
export declare namespace Column {
|
|
39
|
-
const isOptional: unique symbol;
|
|
40
|
-
type IsOptional<T> = {
|
|
41
|
-
[isOptional]: true;
|
|
42
|
-
__t: T;
|
|
43
|
-
};
|
|
44
|
-
const isPrimary: unique symbol;
|
|
45
|
-
type IsPrimary<T, K> = {
|
|
46
|
-
[isPrimary]: K;
|
|
47
|
-
__t: T;
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
export declare const column: {
|
|
51
|
-
string<T extends string = string>(): Column<T>;
|
|
52
|
-
integer<T_1 extends number = number>(): Column<T_1>;
|
|
53
|
-
number<T_2 extends number = number>(): Column<T_2>;
|
|
54
|
-
boolean<T_3 extends boolean = boolean>(): Column<T_3>;
|
|
55
|
-
object<T_4 extends object = object>(): Column<T_4>;
|
|
56
|
-
array<T_5 = any>(): Column<T_5[]>;
|
|
57
|
-
};
|
|
58
|
-
export {};
|
|
1
|
+
import { EV, Expr, ExprData } from './Expr';
|
|
2
|
+
export declare enum ColumnType {
|
|
3
|
+
String = "String",
|
|
4
|
+
Integer = "Integer",
|
|
5
|
+
Number = "Number",
|
|
6
|
+
Boolean = "Boolean",
|
|
7
|
+
Json = "Json"
|
|
8
|
+
}
|
|
9
|
+
interface PartialColumnData {
|
|
10
|
+
type: ColumnType;
|
|
11
|
+
name?: string;
|
|
12
|
+
nullable?: boolean;
|
|
13
|
+
defaultValue?: ExprData | (() => ExprData);
|
|
14
|
+
autoIncrement?: boolean;
|
|
15
|
+
primaryKey?: boolean;
|
|
16
|
+
unique?: boolean;
|
|
17
|
+
references?: () => ExprData;
|
|
18
|
+
}
|
|
19
|
+
export interface ColumnData extends PartialColumnData {
|
|
20
|
+
type: ColumnType;
|
|
21
|
+
name: string;
|
|
22
|
+
}
|
|
23
|
+
export declare class Column<T> {
|
|
24
|
+
data: PartialColumnData;
|
|
25
|
+
constructor(data: PartialColumnData);
|
|
26
|
+
name(name: string): Column<T>;
|
|
27
|
+
nullable(): Column<T | null>;
|
|
28
|
+
autoIncrement(): Column<Column.IsOptional<T>>;
|
|
29
|
+
primaryKey<K extends string>(create?: () => EV<T>): Column<Column.IsPrimary<T, K>>;
|
|
30
|
+
references<X extends T>(column: Expr<X> | (() => Expr<X>)): Column<X>;
|
|
31
|
+
unique(): Column<T>;
|
|
32
|
+
defaultValue(create: () => EV<T>): Column<Column.IsOptional<T>>;
|
|
33
|
+
defaultValue(value: EV<T>): Column<Column.IsOptional<T>>;
|
|
34
|
+
}
|
|
35
|
+
export type PrimaryKey<T, K> = string extends K ? T : T & {
|
|
36
|
+
[Column.isPrimary]: K;
|
|
37
|
+
};
|
|
38
|
+
export declare namespace Column {
|
|
39
|
+
const isOptional: unique symbol;
|
|
40
|
+
type IsOptional<T> = {
|
|
41
|
+
[isOptional]: true;
|
|
42
|
+
__t: T;
|
|
43
|
+
};
|
|
44
|
+
const isPrimary: unique symbol;
|
|
45
|
+
type IsPrimary<T, K> = {
|
|
46
|
+
[isPrimary]: K;
|
|
47
|
+
__t: T;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
export declare const column: {
|
|
51
|
+
string<T extends string = string>(): Column<T>;
|
|
52
|
+
integer<T_1 extends number = number>(): Column<T_1>;
|
|
53
|
+
number<T_2 extends number = number>(): Column<T_2>;
|
|
54
|
+
boolean<T_3 extends boolean = boolean>(): Column<T_3>;
|
|
55
|
+
object<T_4 extends object = object>(): Column<T_4>;
|
|
56
|
+
array<T_5 = any>(): Column<T_5[]>;
|
|
57
|
+
};
|
|
58
|
+
export {};
|
package/dist/define/Cursor.d.ts
CHANGED
|
@@ -1,87 +1,87 @@
|
|
|
1
|
-
import { Driver } from '../lib/Driver';
|
|
2
|
-
import { CompileOptions } from '../lib/Formatter';
|
|
3
|
-
import { EV, Expr } from './Expr';
|
|
4
|
-
import { OrderBy } from './OrderBy';
|
|
5
|
-
import { Query } from './Query';
|
|
6
|
-
import { Schema } from './Schema';
|
|
7
|
-
import { Selection } from './Selection';
|
|
8
|
-
import { Table } from './Table';
|
|
9
|
-
import { Update as UpdateSet } from './Update';
|
|
10
|
-
export declare class Cursor<T> {
|
|
11
|
-
[Selection.__cursorType](): T;
|
|
12
|
-
constructor(query: Query<T>);
|
|
13
|
-
static all(strings: TemplateStringsArray, ...params: Array<any>): Cursor<any>;
|
|
14
|
-
query(): Query<T>;
|
|
15
|
-
on(driver: Driver.Sync): T;
|
|
16
|
-
on(driver: Driver.Async): Promise<T>;
|
|
17
|
-
compile(driver: Driver, options?: CompileOptions): import("..").Statement;
|
|
18
|
-
toJSON(): Query<T>;
|
|
19
|
-
}
|
|
20
|
-
export declare namespace Cursor {
|
|
21
|
-
class Delete extends Cursor<{
|
|
22
|
-
rowsAffected: number;
|
|
23
|
-
}> {
|
|
24
|
-
query(): Query.Delete;
|
|
25
|
-
where(...where: Array<EV<boolean>>): Delete;
|
|
26
|
-
take(limit: number | undefined): Delete;
|
|
27
|
-
skip(offset: number | undefined): Delete;
|
|
28
|
-
}
|
|
29
|
-
class Update<T> extends Cursor<{
|
|
30
|
-
rowsAffected: number;
|
|
31
|
-
}> {
|
|
32
|
-
query(): Query.Update;
|
|
33
|
-
set(set: UpdateSet<T>): Update<T>;
|
|
34
|
-
where(...where: Array<EV<boolean>>): Update<T>;
|
|
35
|
-
take(limit: number | undefined): Update<T>;
|
|
36
|
-
skip(offset: number | undefined): Update<T>;
|
|
37
|
-
}
|
|
38
|
-
class InsertValuesReturning<T> extends Cursor<T> {
|
|
39
|
-
}
|
|
40
|
-
class InsertValues extends Cursor<{
|
|
41
|
-
rowsAffected: number;
|
|
42
|
-
}> {
|
|
43
|
-
query(): Query.Insert;
|
|
44
|
-
returning<X extends Selection>(selection: X): InsertValuesReturning<Selection.Infer<X>>;
|
|
45
|
-
}
|
|
46
|
-
class Insert<T> {
|
|
47
|
-
protected into: Schema;
|
|
48
|
-
constructor(into: Schema);
|
|
49
|
-
values(...data: Array<Table.Insert<T>>): InsertValues;
|
|
50
|
-
}
|
|
51
|
-
class CreateTable extends Cursor<void> {
|
|
52
|
-
protected table: Schema;
|
|
53
|
-
constructor(table: Schema);
|
|
54
|
-
}
|
|
55
|
-
class Batch<T = void> extends Cursor<T> {
|
|
56
|
-
protected queries: Array<Query>;
|
|
57
|
-
constructor(queries: Array<Query>);
|
|
58
|
-
}
|
|
59
|
-
class SelectMultiple<T> extends Cursor<Array<T>> {
|
|
60
|
-
query(): Query.Select;
|
|
61
|
-
leftJoin<C>(that: Table<C>, ...on: Array<EV<boolean>>): SelectMultiple<T>;
|
|
62
|
-
innerJoin<C>(that: Table<C>, ...on: Array<EV<boolean>>): SelectMultiple<T>;
|
|
63
|
-
select<X extends Selection>(selection: X): SelectMultiple<Selection.Infer<X>>;
|
|
64
|
-
count(): SelectSingle<number>;
|
|
65
|
-
orderBy(...orderBy: Array<Expr<any> | OrderBy>): SelectMultiple<T>;
|
|
66
|
-
groupBy(...groupBy: Array<Expr<any>>): SelectMultiple<T>;
|
|
67
|
-
first(): SelectSingle<T | undefined>;
|
|
68
|
-
sure(): SelectSingle<T>;
|
|
69
|
-
where(...where: Array<EV<boolean>>): SelectMultiple<T>;
|
|
70
|
-
take(limit: number | undefined): SelectMultiple<T>;
|
|
71
|
-
skip(offset: number | undefined): SelectMultiple<T>;
|
|
72
|
-
toExpr(): Expr<T>;
|
|
73
|
-
}
|
|
74
|
-
class SelectSingle<T> extends Cursor<T> {
|
|
75
|
-
query(): Query.Select;
|
|
76
|
-
leftJoin<C>(that: Table<C>, ...on: Array<EV<boolean>>): SelectSingle<T>;
|
|
77
|
-
innerJoin<C>(that: Table<C>, ...on: Array<EV<boolean>>): SelectSingle<T>;
|
|
78
|
-
select<X extends Selection>(selection: X): SelectSingle<Selection.Infer<X>>;
|
|
79
|
-
orderBy(...orderBy: Array<OrderBy>): SelectSingle<T>;
|
|
80
|
-
groupBy(...groupBy: Array<Expr<any>>): SelectSingle<T>;
|
|
81
|
-
where(...where: Array<EV<boolean>>): SelectSingle<T>;
|
|
82
|
-
take(limit: number | undefined): SelectSingle<T>;
|
|
83
|
-
skip(offset: number | undefined): SelectSingle<T>;
|
|
84
|
-
all(): SelectMultiple<T>;
|
|
85
|
-
toExpr(): Expr<T>;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
1
|
+
import { Driver } from '../lib/Driver';
|
|
2
|
+
import { CompileOptions } from '../lib/Formatter';
|
|
3
|
+
import { EV, Expr } from './Expr';
|
|
4
|
+
import { OrderBy } from './OrderBy';
|
|
5
|
+
import { Query } from './Query';
|
|
6
|
+
import { Schema } from './Schema';
|
|
7
|
+
import { Selection } from './Selection';
|
|
8
|
+
import { Table } from './Table';
|
|
9
|
+
import { Update as UpdateSet } from './Update';
|
|
10
|
+
export declare class Cursor<T> {
|
|
11
|
+
[Selection.__cursorType](): T;
|
|
12
|
+
constructor(query: Query<T>);
|
|
13
|
+
static all(strings: TemplateStringsArray, ...params: Array<any>): Cursor<any>;
|
|
14
|
+
query(): Query<T>;
|
|
15
|
+
on(driver: Driver.Sync): T;
|
|
16
|
+
on(driver: Driver.Async): Promise<T>;
|
|
17
|
+
compile(driver: Driver, options?: CompileOptions): import("..").Statement;
|
|
18
|
+
toJSON(): Query<T>;
|
|
19
|
+
}
|
|
20
|
+
export declare namespace Cursor {
|
|
21
|
+
class Delete extends Cursor<{
|
|
22
|
+
rowsAffected: number;
|
|
23
|
+
}> {
|
|
24
|
+
query(): Query.Delete;
|
|
25
|
+
where(...where: Array<EV<boolean>>): Delete;
|
|
26
|
+
take(limit: number | undefined): Delete;
|
|
27
|
+
skip(offset: number | undefined): Delete;
|
|
28
|
+
}
|
|
29
|
+
class Update<T> extends Cursor<{
|
|
30
|
+
rowsAffected: number;
|
|
31
|
+
}> {
|
|
32
|
+
query(): Query.Update;
|
|
33
|
+
set(set: UpdateSet<T>): Update<T>;
|
|
34
|
+
where(...where: Array<EV<boolean>>): Update<T>;
|
|
35
|
+
take(limit: number | undefined): Update<T>;
|
|
36
|
+
skip(offset: number | undefined): Update<T>;
|
|
37
|
+
}
|
|
38
|
+
class InsertValuesReturning<T> extends Cursor<T> {
|
|
39
|
+
}
|
|
40
|
+
class InsertValues extends Cursor<{
|
|
41
|
+
rowsAffected: number;
|
|
42
|
+
}> {
|
|
43
|
+
query(): Query.Insert;
|
|
44
|
+
returning<X extends Selection>(selection: X): InsertValuesReturning<Selection.Infer<X>>;
|
|
45
|
+
}
|
|
46
|
+
class Insert<T> {
|
|
47
|
+
protected into: Schema;
|
|
48
|
+
constructor(into: Schema);
|
|
49
|
+
values(...data: Array<Table.Insert<T>>): InsertValues;
|
|
50
|
+
}
|
|
51
|
+
class CreateTable extends Cursor<void> {
|
|
52
|
+
protected table: Schema;
|
|
53
|
+
constructor(table: Schema);
|
|
54
|
+
}
|
|
55
|
+
class Batch<T = void> extends Cursor<T> {
|
|
56
|
+
protected queries: Array<Query>;
|
|
57
|
+
constructor(queries: Array<Query>);
|
|
58
|
+
}
|
|
59
|
+
class SelectMultiple<T> extends Cursor<Array<T>> {
|
|
60
|
+
query(): Query.Select;
|
|
61
|
+
leftJoin<C>(that: Table<C>, ...on: Array<EV<boolean>>): SelectMultiple<T>;
|
|
62
|
+
innerJoin<C>(that: Table<C>, ...on: Array<EV<boolean>>): SelectMultiple<T>;
|
|
63
|
+
select<X extends Selection>(selection: X): SelectMultiple<Selection.Infer<X>>;
|
|
64
|
+
count(): SelectSingle<number>;
|
|
65
|
+
orderBy(...orderBy: Array<Expr<any> | OrderBy>): SelectMultiple<T>;
|
|
66
|
+
groupBy(...groupBy: Array<Expr<any>>): SelectMultiple<T>;
|
|
67
|
+
first(): SelectSingle<T | undefined>;
|
|
68
|
+
sure(): SelectSingle<T>;
|
|
69
|
+
where(...where: Array<EV<boolean>>): SelectMultiple<T>;
|
|
70
|
+
take(limit: number | undefined): SelectMultiple<T>;
|
|
71
|
+
skip(offset: number | undefined): SelectMultiple<T>;
|
|
72
|
+
toExpr(): Expr<T>;
|
|
73
|
+
}
|
|
74
|
+
class SelectSingle<T> extends Cursor<T> {
|
|
75
|
+
query(): Query.Select;
|
|
76
|
+
leftJoin<C>(that: Table<C>, ...on: Array<EV<boolean>>): SelectSingle<T>;
|
|
77
|
+
innerJoin<C>(that: Table<C>, ...on: Array<EV<boolean>>): SelectSingle<T>;
|
|
78
|
+
select<X extends Selection>(selection: X): SelectSingle<Selection.Infer<X>>;
|
|
79
|
+
orderBy(...orderBy: Array<OrderBy>): SelectSingle<T>;
|
|
80
|
+
groupBy(...groupBy: Array<Expr<any>>): SelectSingle<T>;
|
|
81
|
+
where(...where: Array<EV<boolean>>): SelectSingle<T>;
|
|
82
|
+
take(limit: number | undefined): SelectSingle<T>;
|
|
83
|
+
skip(offset: number | undefined): SelectSingle<T>;
|
|
84
|
+
all(): SelectMultiple<T>;
|
|
85
|
+
toExpr(): Expr<T>;
|
|
86
|
+
}
|
|
87
|
+
}
|
package/dist/define/Expr.d.ts
CHANGED
|
@@ -1,172 +1,172 @@
|
|
|
1
|
-
import { Cursor } from './Cursor';
|
|
2
|
-
import { Fields } from './Fields';
|
|
3
|
-
import { OrderBy } from './OrderBy';
|
|
4
|
-
import { ParamData } from './Param';
|
|
5
|
-
import { Query } from './Query';
|
|
6
|
-
import { Selection } from './Selection';
|
|
7
|
-
import { Target } from './Target';
|
|
8
|
-
export declare enum UnOpType {
|
|
9
|
-
Not = "Not",
|
|
10
|
-
IsNull = "IsNull"
|
|
11
|
-
}
|
|
12
|
-
export declare enum BinOpType {
|
|
13
|
-
Add = "Add",
|
|
14
|
-
Subt = "Subt",
|
|
15
|
-
Mult = "Mult",
|
|
16
|
-
Mod = "Mod",
|
|
17
|
-
Div = "Div",
|
|
18
|
-
Greater = "Greater",
|
|
19
|
-
GreaterOrEqual = "GreaterOrEqual",
|
|
20
|
-
Less = "Less",
|
|
21
|
-
LessOrEqual = "LessOrEqual",
|
|
22
|
-
Equals = "Equals",
|
|
23
|
-
NotEquals = "NotEquals",
|
|
24
|
-
And = "And",
|
|
25
|
-
Or = "Or",
|
|
26
|
-
Like = "Like",
|
|
27
|
-
Glob = "Glob",
|
|
28
|
-
Match = "Match",
|
|
29
|
-
In = "In",
|
|
30
|
-
NotIn = "NotIn",
|
|
31
|
-
Concat = "Concat"
|
|
32
|
-
}
|
|
33
|
-
export declare enum ExprType {
|
|
34
|
-
UnOp = "UnOp",
|
|
35
|
-
BinOp = "BinOp",
|
|
36
|
-
Field = "Field",
|
|
37
|
-
Param = "Param",
|
|
38
|
-
Call = "Call",
|
|
39
|
-
Query = "Query",
|
|
40
|
-
Record = "Record",
|
|
41
|
-
Row = "Row",
|
|
42
|
-
Map = "Map",
|
|
43
|
-
Filter = "Filter",
|
|
44
|
-
Merge = "Merge",
|
|
45
|
-
Case = "Case"
|
|
46
|
-
}
|
|
47
|
-
export type ExprData = ExprData.UnOp | ExprData.BinOp | ExprData.Field | ExprData.Param | ExprData.Call | ExprData.Query | ExprData.Record | ExprData.Merge | ExprData.Row | ExprData.Map | ExprData.Filter | ExprData.Case;
|
|
48
|
-
export declare namespace ExprData {
|
|
49
|
-
type UnOp = {
|
|
50
|
-
type: ExprType.UnOp;
|
|
51
|
-
op: UnOpType;
|
|
52
|
-
expr: ExprData;
|
|
53
|
-
};
|
|
54
|
-
type BinOp = {
|
|
55
|
-
type: ExprType.BinOp;
|
|
56
|
-
op: BinOpType;
|
|
57
|
-
a: ExprData;
|
|
58
|
-
b: ExprData;
|
|
59
|
-
};
|
|
60
|
-
type Field = {
|
|
61
|
-
type: ExprType.Field;
|
|
62
|
-
expr: ExprData;
|
|
63
|
-
field: string;
|
|
64
|
-
};
|
|
65
|
-
type Param = {
|
|
66
|
-
type: ExprType.Param;
|
|
67
|
-
param: ParamData;
|
|
68
|
-
};
|
|
69
|
-
type Call = {
|
|
70
|
-
type: ExprType.Call;
|
|
71
|
-
method: string;
|
|
72
|
-
params: Array<ExprData>;
|
|
73
|
-
};
|
|
74
|
-
type Query = {
|
|
75
|
-
type: ExprType.Query;
|
|
76
|
-
query: Query.Select;
|
|
77
|
-
};
|
|
78
|
-
type Record = {
|
|
79
|
-
type: ExprType.Record;
|
|
80
|
-
fields: {
|
|
81
|
-
[key: string]: ExprData;
|
|
82
|
-
};
|
|
83
|
-
};
|
|
84
|
-
type Merge = {
|
|
85
|
-
type: ExprType.Merge;
|
|
86
|
-
a: ExprData;
|
|
87
|
-
b: ExprData;
|
|
88
|
-
};
|
|
89
|
-
type Row = {
|
|
90
|
-
type: ExprType.Row;
|
|
91
|
-
target: Target;
|
|
92
|
-
};
|
|
93
|
-
type Map = {
|
|
94
|
-
type: ExprType.Map;
|
|
95
|
-
target: Target;
|
|
96
|
-
result: ExprData;
|
|
97
|
-
};
|
|
98
|
-
type Filter = {
|
|
99
|
-
type: ExprType.Filter;
|
|
100
|
-
target: Target;
|
|
101
|
-
condition: ExprData;
|
|
102
|
-
};
|
|
103
|
-
type Case = {
|
|
104
|
-
type: ExprType.Case;
|
|
105
|
-
expr: ExprData;
|
|
106
|
-
cases: {
|
|
107
|
-
[key: string]: ExprData;
|
|
108
|
-
};
|
|
109
|
-
defaultCase?: ExprData;
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
export declare const ExprData: {
|
|
113
|
-
UnOp(op: UnOpType, expr: ExprData): ExprData;
|
|
114
|
-
BinOp(op: BinOpType, a: ExprData, b: ExprData): ExprData;
|
|
115
|
-
Field(expr: ExprData, field: string): ExprData;
|
|
116
|
-
Param(param: ParamData): ExprData;
|
|
117
|
-
Call(method: string, params: Array<ExprData>): ExprData;
|
|
118
|
-
Query(query: Query.Select): ExprData;
|
|
119
|
-
Record(fields: Record<string, ExprData>): ExprData;
|
|
120
|
-
Merge(a: ExprData, b: ExprData): ExprData;
|
|
121
|
-
Row(target: Target): ExprData;
|
|
122
|
-
Map(target: Target, result: ExprData): ExprData;
|
|
123
|
-
Filter(target: Target, condition: ExprData): ExprData;
|
|
124
|
-
Case(expr: ExprData, cases: Record<string, ExprData>, defaultCase?: ExprData): ExprData;
|
|
125
|
-
create(input: any): ExprData;
|
|
126
|
-
};
|
|
127
|
-
/** Expression or value of type T */
|
|
128
|
-
export type EV<T> = Expr<T> | T;
|
|
129
|
-
export declare class Expr<T> {
|
|
130
|
-
expr: ExprData;
|
|
131
|
-
static NULL: ExprData;
|
|
132
|
-
static value<T>(value: T): Expr<T>;
|
|
133
|
-
static create<T>(input: EV<T>): Expr<T>;
|
|
134
|
-
static and(...conditions: Array<EV<boolean>>): Expr<boolean>;
|
|
135
|
-
static or(...conditions: Array<EV<boolean>>): Expr<boolean>;
|
|
136
|
-
constructor(expr: ExprData);
|
|
137
|
-
asc(): OrderBy;
|
|
138
|
-
desc(): OrderBy;
|
|
139
|
-
not(): Expr<boolean>;
|
|
140
|
-
or(this: Expr<boolean>, that: EV<boolean>): Expr<boolean>;
|
|
141
|
-
and(this: Expr<boolean>, that: EV<boolean>): Expr<boolean>;
|
|
142
|
-
isNull(): Expr<boolean>;
|
|
143
|
-
isNotNull(): Expr<boolean>;
|
|
144
|
-
isNot(that: EV<T>): Expr<boolean>;
|
|
145
|
-
is(that: EV<T> | Cursor.SelectSingle<T>): Expr<boolean>;
|
|
146
|
-
in(that: EV<Array<T>> | Cursor.SelectMultiple<T>): Expr<boolean>;
|
|
147
|
-
notIn(that: EV<Array<T>> | Cursor.SelectMultiple<T>): Expr<boolean>;
|
|
148
|
-
add(this: Expr<number>, that: EV<number>): Expr<number>;
|
|
149
|
-
substract(this: Expr<number>, that: EV<number>): Expr<number>;
|
|
150
|
-
multiply(this: Expr<number>, that: EV<number>): Expr<number>;
|
|
151
|
-
remainder(this: Expr<number>, that: EV<number>): Expr<number>;
|
|
152
|
-
divide(this: Expr<number>, that: EV<number>): Expr<number>;
|
|
153
|
-
greater(that: EV<any>): Expr<boolean>;
|
|
154
|
-
greaterOrEqual(that: EV<any>): Expr<boolean>;
|
|
155
|
-
less(that: EV<any>): Expr<boolean>;
|
|
156
|
-
lessOrEqual(that: EV<any>): Expr<boolean>;
|
|
157
|
-
concat(this: Expr<string>, that: EV<string>): Expr<string>;
|
|
158
|
-
like(this: Expr<string>, that: EV<string>): Expr<boolean>;
|
|
159
|
-
glob(this: Expr<string>, that: EV<string>): Expr<boolean>;
|
|
160
|
-
match(this: Expr<string>, that: EV<string>): Expr<boolean>;
|
|
161
|
-
with<X extends Selection>(that: X): Selection.With<T, X>;
|
|
162
|
-
at<T>(this: Expr<Array<T>>, index: number): Expr<T | null>;
|
|
163
|
-
filter<T>(this: Expr<Array<T>>, fn: (cursor: Fields<T>) => Expr<boolean>): Expr<Array<T>>;
|
|
164
|
-
map<T, X extends Selection>(this: Expr<Array<T>>, fn: (cursor: Fields<T>) => X): Expr<Array<Selection.Infer<X>>>;
|
|
165
|
-
sure(): Expr<NonNullable<T>>;
|
|
166
|
-
get<T>(name: string): Expr<T>;
|
|
167
|
-
}
|
|
168
|
-
export declare namespace Expr {
|
|
169
|
-
type Record<T> = Expr<T> & {
|
|
170
|
-
[K in keyof T]: Expr<T[K]>;
|
|
171
|
-
};
|
|
172
|
-
}
|
|
1
|
+
import { Cursor } from './Cursor';
|
|
2
|
+
import { Fields } from './Fields';
|
|
3
|
+
import { OrderBy } from './OrderBy';
|
|
4
|
+
import { ParamData } from './Param';
|
|
5
|
+
import { Query } from './Query';
|
|
6
|
+
import { Selection } from './Selection';
|
|
7
|
+
import { Target } from './Target';
|
|
8
|
+
export declare enum UnOpType {
|
|
9
|
+
Not = "Not",
|
|
10
|
+
IsNull = "IsNull"
|
|
11
|
+
}
|
|
12
|
+
export declare enum BinOpType {
|
|
13
|
+
Add = "Add",
|
|
14
|
+
Subt = "Subt",
|
|
15
|
+
Mult = "Mult",
|
|
16
|
+
Mod = "Mod",
|
|
17
|
+
Div = "Div",
|
|
18
|
+
Greater = "Greater",
|
|
19
|
+
GreaterOrEqual = "GreaterOrEqual",
|
|
20
|
+
Less = "Less",
|
|
21
|
+
LessOrEqual = "LessOrEqual",
|
|
22
|
+
Equals = "Equals",
|
|
23
|
+
NotEquals = "NotEquals",
|
|
24
|
+
And = "And",
|
|
25
|
+
Or = "Or",
|
|
26
|
+
Like = "Like",
|
|
27
|
+
Glob = "Glob",
|
|
28
|
+
Match = "Match",
|
|
29
|
+
In = "In",
|
|
30
|
+
NotIn = "NotIn",
|
|
31
|
+
Concat = "Concat"
|
|
32
|
+
}
|
|
33
|
+
export declare enum ExprType {
|
|
34
|
+
UnOp = "UnOp",
|
|
35
|
+
BinOp = "BinOp",
|
|
36
|
+
Field = "Field",
|
|
37
|
+
Param = "Param",
|
|
38
|
+
Call = "Call",
|
|
39
|
+
Query = "Query",
|
|
40
|
+
Record = "Record",
|
|
41
|
+
Row = "Row",
|
|
42
|
+
Map = "Map",
|
|
43
|
+
Filter = "Filter",
|
|
44
|
+
Merge = "Merge",
|
|
45
|
+
Case = "Case"
|
|
46
|
+
}
|
|
47
|
+
export type ExprData = ExprData.UnOp | ExprData.BinOp | ExprData.Field | ExprData.Param | ExprData.Call | ExprData.Query | ExprData.Record | ExprData.Merge | ExprData.Row | ExprData.Map | ExprData.Filter | ExprData.Case;
|
|
48
|
+
export declare namespace ExprData {
|
|
49
|
+
type UnOp = {
|
|
50
|
+
type: ExprType.UnOp;
|
|
51
|
+
op: UnOpType;
|
|
52
|
+
expr: ExprData;
|
|
53
|
+
};
|
|
54
|
+
type BinOp = {
|
|
55
|
+
type: ExprType.BinOp;
|
|
56
|
+
op: BinOpType;
|
|
57
|
+
a: ExprData;
|
|
58
|
+
b: ExprData;
|
|
59
|
+
};
|
|
60
|
+
type Field = {
|
|
61
|
+
type: ExprType.Field;
|
|
62
|
+
expr: ExprData;
|
|
63
|
+
field: string;
|
|
64
|
+
};
|
|
65
|
+
type Param = {
|
|
66
|
+
type: ExprType.Param;
|
|
67
|
+
param: ParamData;
|
|
68
|
+
};
|
|
69
|
+
type Call = {
|
|
70
|
+
type: ExprType.Call;
|
|
71
|
+
method: string;
|
|
72
|
+
params: Array<ExprData>;
|
|
73
|
+
};
|
|
74
|
+
type Query = {
|
|
75
|
+
type: ExprType.Query;
|
|
76
|
+
query: Query.Select;
|
|
77
|
+
};
|
|
78
|
+
type Record = {
|
|
79
|
+
type: ExprType.Record;
|
|
80
|
+
fields: {
|
|
81
|
+
[key: string]: ExprData;
|
|
82
|
+
};
|
|
83
|
+
};
|
|
84
|
+
type Merge = {
|
|
85
|
+
type: ExprType.Merge;
|
|
86
|
+
a: ExprData;
|
|
87
|
+
b: ExprData;
|
|
88
|
+
};
|
|
89
|
+
type Row = {
|
|
90
|
+
type: ExprType.Row;
|
|
91
|
+
target: Target;
|
|
92
|
+
};
|
|
93
|
+
type Map = {
|
|
94
|
+
type: ExprType.Map;
|
|
95
|
+
target: Target;
|
|
96
|
+
result: ExprData;
|
|
97
|
+
};
|
|
98
|
+
type Filter = {
|
|
99
|
+
type: ExprType.Filter;
|
|
100
|
+
target: Target;
|
|
101
|
+
condition: ExprData;
|
|
102
|
+
};
|
|
103
|
+
type Case = {
|
|
104
|
+
type: ExprType.Case;
|
|
105
|
+
expr: ExprData;
|
|
106
|
+
cases: {
|
|
107
|
+
[key: string]: ExprData;
|
|
108
|
+
};
|
|
109
|
+
defaultCase?: ExprData;
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
export declare const ExprData: {
|
|
113
|
+
UnOp(op: UnOpType, expr: ExprData): ExprData;
|
|
114
|
+
BinOp(op: BinOpType, a: ExprData, b: ExprData): ExprData;
|
|
115
|
+
Field(expr: ExprData, field: string): ExprData;
|
|
116
|
+
Param(param: ParamData): ExprData;
|
|
117
|
+
Call(method: string, params: Array<ExprData>): ExprData;
|
|
118
|
+
Query(query: Query.Select): ExprData;
|
|
119
|
+
Record(fields: Record<string, ExprData>): ExprData;
|
|
120
|
+
Merge(a: ExprData, b: ExprData): ExprData;
|
|
121
|
+
Row(target: Target): ExprData;
|
|
122
|
+
Map(target: Target, result: ExprData): ExprData;
|
|
123
|
+
Filter(target: Target, condition: ExprData): ExprData;
|
|
124
|
+
Case(expr: ExprData, cases: Record<string, ExprData>, defaultCase?: ExprData): ExprData;
|
|
125
|
+
create(input: any): ExprData;
|
|
126
|
+
};
|
|
127
|
+
/** Expression or value of type T */
|
|
128
|
+
export type EV<T> = Expr<T> | T;
|
|
129
|
+
export declare class Expr<T> {
|
|
130
|
+
expr: ExprData;
|
|
131
|
+
static NULL: ExprData;
|
|
132
|
+
static value<T>(value: T): Expr<T>;
|
|
133
|
+
static create<T>(input: EV<T>): Expr<T>;
|
|
134
|
+
static and(...conditions: Array<EV<boolean>>): Expr<boolean>;
|
|
135
|
+
static or(...conditions: Array<EV<boolean>>): Expr<boolean>;
|
|
136
|
+
constructor(expr: ExprData);
|
|
137
|
+
asc(): OrderBy;
|
|
138
|
+
desc(): OrderBy;
|
|
139
|
+
not(): Expr<boolean>;
|
|
140
|
+
or(this: Expr<boolean>, that: EV<boolean>): Expr<boolean>;
|
|
141
|
+
and(this: Expr<boolean>, that: EV<boolean>): Expr<boolean>;
|
|
142
|
+
isNull(): Expr<boolean>;
|
|
143
|
+
isNotNull(): Expr<boolean>;
|
|
144
|
+
isNot(that: EV<T>): Expr<boolean>;
|
|
145
|
+
is(that: EV<T> | Cursor.SelectSingle<T>): Expr<boolean>;
|
|
146
|
+
in(that: EV<Array<T>> | Cursor.SelectMultiple<T>): Expr<boolean>;
|
|
147
|
+
notIn(that: EV<Array<T>> | Cursor.SelectMultiple<T>): Expr<boolean>;
|
|
148
|
+
add(this: Expr<number>, that: EV<number>): Expr<number>;
|
|
149
|
+
substract(this: Expr<number>, that: EV<number>): Expr<number>;
|
|
150
|
+
multiply(this: Expr<number>, that: EV<number>): Expr<number>;
|
|
151
|
+
remainder(this: Expr<number>, that: EV<number>): Expr<number>;
|
|
152
|
+
divide(this: Expr<number>, that: EV<number>): Expr<number>;
|
|
153
|
+
greater(that: EV<any>): Expr<boolean>;
|
|
154
|
+
greaterOrEqual(that: EV<any>): Expr<boolean>;
|
|
155
|
+
less(that: EV<any>): Expr<boolean>;
|
|
156
|
+
lessOrEqual(that: EV<any>): Expr<boolean>;
|
|
157
|
+
concat(this: Expr<string>, that: EV<string>): Expr<string>;
|
|
158
|
+
like(this: Expr<string>, that: EV<string>): Expr<boolean>;
|
|
159
|
+
glob(this: Expr<string>, that: EV<string>): Expr<boolean>;
|
|
160
|
+
match(this: Expr<string>, that: EV<string>): Expr<boolean>;
|
|
161
|
+
with<X extends Selection>(that: X): Selection.With<T, X>;
|
|
162
|
+
at<T>(this: Expr<Array<T>>, index: number): Expr<T | null>;
|
|
163
|
+
filter<T>(this: Expr<Array<T>>, fn: (cursor: Fields<T>) => Expr<boolean>): Expr<Array<T>>;
|
|
164
|
+
map<T, X extends Selection>(this: Expr<Array<T>>, fn: (cursor: Fields<T>) => X): Expr<Array<Selection.Infer<X>>>;
|
|
165
|
+
sure(): Expr<NonNullable<T>>;
|
|
166
|
+
get<T>(name: string): Expr<T>;
|
|
167
|
+
}
|
|
168
|
+
export declare namespace Expr {
|
|
169
|
+
type Record<T> = Expr<T> & {
|
|
170
|
+
[K in keyof T]: Expr<T[K]>;
|
|
171
|
+
};
|
|
172
|
+
}
|