rado 0.1.62 → 0.1.64
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/Cursor.js +8 -0
- package/dist/define/Expr.d.ts +173 -172
- package/dist/define/Expr.js +44 -41
- 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 +9 -7
- package/dist/define/Ops.js +8 -0
- 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 +18 -12
- 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/Expr.d.ts
CHANGED
|
@@ -1,172 +1,173 @@
|
|
|
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
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
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
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
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
|
+
is(that: EV<T> | Cursor.SelectSingle<T>): Expr<boolean>;
|
|
143
|
+
isNot(that: EV<T>): Expr<boolean>;
|
|
144
|
+
isNull(): Expr<boolean>;
|
|
145
|
+
isNotNull(): Expr<boolean>;
|
|
146
|
+
isIn(that: EV<Array<T>> | Cursor.SelectMultiple<T>): Expr<boolean>;
|
|
147
|
+
isNotIn(that: EV<Array<T>> | Cursor.SelectMultiple<T>): Expr<boolean>;
|
|
148
|
+
isGreater(that: EV<any>): Expr<boolean>;
|
|
149
|
+
isGreaterOrEqual(that: EV<any>): Expr<boolean>;
|
|
150
|
+
isLess(that: EV<any>): Expr<boolean>;
|
|
151
|
+
isLessOrEqual(that: EV<any>): Expr<boolean>;
|
|
152
|
+
add(this: Expr<number>, that: EV<number>): Expr<number>;
|
|
153
|
+
substract(this: Expr<number>, that: EV<number>): Expr<number>;
|
|
154
|
+
multiply(this: Expr<number>, that: EV<number>): Expr<number>;
|
|
155
|
+
remainder(this: Expr<number>, that: EV<number>): Expr<number>;
|
|
156
|
+
divide(this: Expr<number>, that: EV<number>): Expr<number>;
|
|
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
|
+
includes<T>(this: Expr<Array<T>>, value: EV<T>): Expr<boolean>;
|
|
164
|
+
filter<T>(this: Expr<Array<T>>, fn: (cursor: Fields<T>) => Expr<boolean>): Expr<Array<T>>;
|
|
165
|
+
map<T, X extends Selection>(this: Expr<Array<T>>, fn: (cursor: Fields<T>) => X): Expr<Array<Selection.Infer<X>>>;
|
|
166
|
+
sure(): Expr<NonNullable<T>>;
|
|
167
|
+
get<T>(name: string): Expr<T>;
|
|
168
|
+
}
|
|
169
|
+
export declare namespace Expr {
|
|
170
|
+
type Record<T> = Expr<T> & {
|
|
171
|
+
[K in keyof T]: Expr<T[K]>;
|
|
172
|
+
};
|
|
173
|
+
}
|
package/dist/define/Expr.js
CHANGED
|
@@ -151,7 +151,7 @@ var _Expr = class {
|
|
|
151
151
|
return { expr: this.expr, order: OrderDirection.Desc };
|
|
152
152
|
}
|
|
153
153
|
not() {
|
|
154
|
-
return
|
|
154
|
+
return new _Expr(ExprData.UnOp("Not" /* Not */, this.expr));
|
|
155
155
|
}
|
|
156
156
|
or(that) {
|
|
157
157
|
const a = this.expr;
|
|
@@ -171,66 +171,72 @@ var _Expr = class {
|
|
|
171
171
|
return new _Expr(b);
|
|
172
172
|
return new _Expr(ExprData.BinOp("And" /* And */, a, b));
|
|
173
173
|
}
|
|
174
|
+
is(that) {
|
|
175
|
+
if (that === null || that instanceof _Expr && isConstant(that.expr, null))
|
|
176
|
+
return this.isNull();
|
|
177
|
+
return new _Expr(ExprData.BinOp("Equals" /* Equals */, this.expr, toExpr(that)));
|
|
178
|
+
}
|
|
179
|
+
isNot(that) {
|
|
180
|
+
if (that === null || that instanceof _Expr && isConstant(that.expr, null))
|
|
181
|
+
return this.isNotNull();
|
|
182
|
+
return new _Expr(
|
|
183
|
+
ExprData.BinOp("NotEquals" /* NotEquals */, this.expr, toExpr(that))
|
|
184
|
+
);
|
|
185
|
+
}
|
|
174
186
|
isNull() {
|
|
175
|
-
return
|
|
187
|
+
return new _Expr(ExprData.UnOp("IsNull" /* IsNull */, this.expr));
|
|
176
188
|
}
|
|
177
189
|
isNotNull() {
|
|
178
190
|
return this.isNull().not();
|
|
179
191
|
}
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
return this.isNotNull();
|
|
183
|
-
return binop(this, "NotEquals" /* NotEquals */, that);
|
|
192
|
+
isIn(that) {
|
|
193
|
+
return new _Expr(ExprData.BinOp("In" /* In */, this.expr, toExpr(that)));
|
|
184
194
|
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
195
|
+
isNotIn(that) {
|
|
196
|
+
return new _Expr(ExprData.BinOp("NotIn" /* NotIn */, this.expr, toExpr(that)));
|
|
197
|
+
}
|
|
198
|
+
isGreater(that) {
|
|
199
|
+
return new _Expr(ExprData.BinOp("Greater" /* Greater */, this.expr, toExpr(that)));
|
|
189
200
|
}
|
|
190
|
-
|
|
191
|
-
return
|
|
201
|
+
isGreaterOrEqual(that) {
|
|
202
|
+
return new _Expr(
|
|
203
|
+
ExprData.BinOp("GreaterOrEqual" /* GreaterOrEqual */, this.expr, toExpr(that))
|
|
204
|
+
);
|
|
192
205
|
}
|
|
193
|
-
|
|
194
|
-
return
|
|
206
|
+
isLess(that) {
|
|
207
|
+
return new _Expr(ExprData.BinOp("Less" /* Less */, this.expr, toExpr(that)));
|
|
208
|
+
}
|
|
209
|
+
isLessOrEqual(that) {
|
|
210
|
+
return new _Expr(
|
|
211
|
+
ExprData.BinOp("LessOrEqual" /* LessOrEqual */, this.expr, toExpr(that))
|
|
212
|
+
);
|
|
195
213
|
}
|
|
196
214
|
add(that) {
|
|
197
|
-
return
|
|
215
|
+
return new _Expr(ExprData.BinOp("Add" /* Add */, this.expr, toExpr(that)));
|
|
198
216
|
}
|
|
199
217
|
substract(that) {
|
|
200
|
-
return
|
|
218
|
+
return new _Expr(ExprData.BinOp("Subt" /* Subt */, this.expr, toExpr(that)));
|
|
201
219
|
}
|
|
202
220
|
multiply(that) {
|
|
203
|
-
return
|
|
221
|
+
return new _Expr(ExprData.BinOp("Mult" /* Mult */, this.expr, toExpr(that)));
|
|
204
222
|
}
|
|
205
223
|
remainder(that) {
|
|
206
|
-
return
|
|
224
|
+
return new _Expr(ExprData.BinOp("Mod" /* Mod */, this.expr, toExpr(that)));
|
|
207
225
|
}
|
|
208
226
|
divide(that) {
|
|
209
|
-
return
|
|
210
|
-
}
|
|
211
|
-
greater(that) {
|
|
212
|
-
return binop(this, "Greater" /* Greater */, that);
|
|
213
|
-
}
|
|
214
|
-
greaterOrEqual(that) {
|
|
215
|
-
return binop(this, "GreaterOrEqual" /* GreaterOrEqual */, that);
|
|
216
|
-
}
|
|
217
|
-
less(that) {
|
|
218
|
-
return binop(this, "Less" /* Less */, that);
|
|
219
|
-
}
|
|
220
|
-
lessOrEqual(that) {
|
|
221
|
-
return binop(this, "LessOrEqual" /* LessOrEqual */, that);
|
|
227
|
+
return new _Expr(ExprData.BinOp("Div" /* Div */, this.expr, toExpr(that)));
|
|
222
228
|
}
|
|
223
229
|
concat(that) {
|
|
224
|
-
return
|
|
230
|
+
return new _Expr(ExprData.BinOp("Concat" /* Concat */, this.expr, toExpr(that)));
|
|
225
231
|
}
|
|
226
232
|
like(that) {
|
|
227
|
-
return
|
|
233
|
+
return new _Expr(ExprData.BinOp("Like" /* Like */, this.expr, toExpr(that)));
|
|
228
234
|
}
|
|
229
235
|
glob(that) {
|
|
230
|
-
return
|
|
236
|
+
return new _Expr(ExprData.BinOp("Glob" /* Glob */, this.expr, toExpr(that)));
|
|
231
237
|
}
|
|
232
238
|
match(that) {
|
|
233
|
-
return
|
|
239
|
+
return new _Expr(ExprData.BinOp("Match" /* Match */, this.expr, toExpr(that)));
|
|
234
240
|
}
|
|
235
241
|
with(that) {
|
|
236
242
|
return new _Expr(
|
|
@@ -240,6 +246,9 @@ var _Expr = class {
|
|
|
240
246
|
at(index) {
|
|
241
247
|
return this.get(`[${Number(index)}]`);
|
|
242
248
|
}
|
|
249
|
+
includes(value) {
|
|
250
|
+
return _Expr.create(value).isIn(this);
|
|
251
|
+
}
|
|
243
252
|
filter(fn) {
|
|
244
253
|
const alias = `__${Math.random().toString(36).slice(2, 9)}`;
|
|
245
254
|
const target = Target.Expr(this.expr, alias);
|
|
@@ -269,12 +278,6 @@ var _Expr = class {
|
|
|
269
278
|
};
|
|
270
279
|
var Expr = _Expr;
|
|
271
280
|
__publicField(Expr, "NULL", toExpr(null));
|
|
272
|
-
function unop(self, type) {
|
|
273
|
-
return new Expr(ExprData.UnOp(type, self.expr));
|
|
274
|
-
}
|
|
275
|
-
function binop(self, type, that) {
|
|
276
|
-
return new Expr(ExprData.BinOp(type, self.expr, toExpr(that)));
|
|
277
|
-
}
|
|
278
281
|
export {
|
|
279
282
|
BinOpType,
|
|
280
283
|
Expr,
|
package/dist/define/Fields.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { Column, PrimaryKey } from './Column';
|
|
2
|
-
import { Expr } from './Expr';
|
|
3
|
-
type ObjectUnion<T> = {
|
|
4
|
-
[K in T extends infer P ? keyof P : never]: T extends infer P ? K extends keyof P ? P[K] : never : never;
|
|
5
|
-
};
|
|
6
|
-
type RecordField<T> = Expr<T> & FieldsOf<ObjectUnion<T>>;
|
|
7
|
-
type Field<T> = [T] extends [Array<any>] ? Expr<T> : [T] extends [Column.IsPrimary<infer V, infer K>] ? Expr<PrimaryKey<V, K>> : [T] extends [Column.IsOptional<infer V>] ? Field<V> : [T] extends [number | string | boolean] ? Expr<T> : [T] extends [Record<string, any> | null] ? RecordField<T> : Expr<T>;
|
|
8
|
-
type FieldsOf<Row> = Row extends Record<string, any> ? {
|
|
9
|
-
[K in keyof Row]-?: Field<Row[K]>;
|
|
10
|
-
} : never;
|
|
11
|
-
type IsStrictlyAny<T> = (T extends never ? true : false) extends false ? false : true;
|
|
12
|
-
export type Fields<T> = IsStrictlyAny<T> extends true ? any : T extends object ? FieldsOf<T> : Field<T>;
|
|
13
|
-
export {};
|
|
1
|
+
import { Column, PrimaryKey } from './Column';
|
|
2
|
+
import { Expr } from './Expr';
|
|
3
|
+
type ObjectUnion<T> = {
|
|
4
|
+
[K in T extends infer P ? keyof P : never]: T extends infer P ? K extends keyof P ? P[K] : never : never;
|
|
5
|
+
};
|
|
6
|
+
type RecordField<T> = Expr<T> & FieldsOf<ObjectUnion<T>>;
|
|
7
|
+
type Field<T> = [T] extends [Array<any>] ? Expr<T> : [T] extends [Column.IsPrimary<infer V, infer K>] ? Expr<PrimaryKey<V, K>> : [T] extends [Column.IsOptional<infer V>] ? Field<V> : [T] extends [number | string | boolean] ? Expr<T> : [T] extends [Record<string, any> | null] ? RecordField<T> : Expr<T>;
|
|
8
|
+
type FieldsOf<Row> = Row extends Record<string, any> ? {
|
|
9
|
+
[K in keyof Row]-?: Field<Row[K]>;
|
|
10
|
+
} : never;
|
|
11
|
+
type IsStrictlyAny<T> = (T extends never ? true : false) extends false ? false : true;
|
|
12
|
+
export type Fields<T> = IsStrictlyAny<T> extends true ? any : T extends object ? FieldsOf<T> : Field<T>;
|
|
13
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Expr } from './Expr';
|
|
2
|
-
export declare const Functions: Functions;
|
|
3
|
-
export type Functions = {
|
|
4
|
-
[key: string]: (...args: Array<any>) => Expr<any>;
|
|
5
|
-
};
|
|
1
|
+
import { Expr } from './Expr';
|
|
2
|
+
export declare const Functions: Functions;
|
|
3
|
+
export type Functions = {
|
|
4
|
+
[key: string]: (...args: Array<any>) => Expr<any>;
|
|
5
|
+
};
|
package/dist/define/Id.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export type Id<T> = T extends {
|
|
2
|
-
id: any;
|
|
3
|
-
} ? T['id'] : never;
|
|
1
|
+
export type Id<T> = T extends {
|
|
2
|
+
id: any;
|
|
3
|
+
} ? T['id'] : never;
|
package/dist/define/Index.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { Expr, ExprData } from './Expr';
|
|
2
|
-
interface PartialIndexData {
|
|
3
|
-
on: Array<ExprData>;
|
|
4
|
-
unique?: boolean;
|
|
5
|
-
where?: ExprData;
|
|
6
|
-
}
|
|
7
|
-
export interface IndexData extends PartialIndexData {
|
|
8
|
-
name: string;
|
|
9
|
-
}
|
|
10
|
-
export declare class Index {
|
|
11
|
-
data: PartialIndexData;
|
|
12
|
-
constructor(data: PartialIndexData);
|
|
13
|
-
unique(): Index;
|
|
14
|
-
where(where: Expr<boolean>): Index;
|
|
15
|
-
}
|
|
16
|
-
export declare function index(...on: Array<Expr<any>>): Index;
|
|
17
|
-
export {};
|
|
1
|
+
import { Expr, ExprData } from './Expr';
|
|
2
|
+
interface PartialIndexData {
|
|
3
|
+
on: Array<ExprData>;
|
|
4
|
+
unique?: boolean;
|
|
5
|
+
where?: ExprData;
|
|
6
|
+
}
|
|
7
|
+
export interface IndexData extends PartialIndexData {
|
|
8
|
+
name: string;
|
|
9
|
+
}
|
|
10
|
+
export declare class Index {
|
|
11
|
+
data: PartialIndexData;
|
|
12
|
+
constructor(data: PartialIndexData);
|
|
13
|
+
unique(): Index;
|
|
14
|
+
where(where: Expr<boolean>): Index;
|
|
15
|
+
}
|
|
16
|
+
export declare function index(...on: Array<Expr<any>>): Index;
|
|
17
|
+
export {};
|
package/dist/define/Ops.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { Cursor } from './Cursor';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
export declare function
|
|
5
|
-
export declare function
|
|
6
|
-
export declare function
|
|
7
|
-
export declare function
|
|
1
|
+
import { Cursor } from './Cursor';
|
|
2
|
+
import { Selection } from './Selection';
|
|
3
|
+
import { Table } from './Table';
|
|
4
|
+
export declare function select<X extends Selection>(selection: X): Cursor.SelectMultiple<Selection.Infer<X>>;
|
|
5
|
+
export declare function from<Row>(source: Table<Row> | Cursor.SelectMultiple<Row>): Cursor.SelectMultiple<Row>;
|
|
6
|
+
export declare function update<Row>(table: Table<Row>): Cursor.Update<Row>;
|
|
7
|
+
export declare function insertInto<Row>(table: Table<Row>): Cursor.Insert<Row>;
|
|
8
|
+
export declare function deleteFrom<Row>(table: Table<Row>): Cursor.Delete;
|
|
9
|
+
export declare function create(...tables: Array<Table<any>>): Cursor.Batch;
|
package/dist/define/Ops.js
CHANGED
|
@@ -4,6 +4,13 @@ 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 select(selection) {
|
|
8
|
+
return new Cursor.SelectMultiple(
|
|
9
|
+
Query.Select({
|
|
10
|
+
selection: ExprData.create(selection)
|
|
11
|
+
})
|
|
12
|
+
);
|
|
13
|
+
}
|
|
7
14
|
function from(source) {
|
|
8
15
|
const target = "schema" in source ? Target.Table(source.schema()) : Target.Query(source.query());
|
|
9
16
|
return new Cursor.SelectMultiple(
|
|
@@ -32,5 +39,6 @@ export {
|
|
|
32
39
|
deleteFrom,
|
|
33
40
|
from,
|
|
34
41
|
insertInto,
|
|
42
|
+
select,
|
|
35
43
|
update
|
|
36
44
|
};
|
package/dist/define/OrderBy.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { ExprData } from './Expr';
|
|
2
|
-
export declare enum OrderDirection {
|
|
3
|
-
Asc = "Asc",
|
|
4
|
-
Desc = "Desc"
|
|
5
|
-
}
|
|
6
|
-
export type OrderBy = {
|
|
7
|
-
expr: ExprData;
|
|
8
|
-
order: OrderDirection;
|
|
9
|
-
};
|
|
1
|
+
import { ExprData } from './Expr';
|
|
2
|
+
export declare enum OrderDirection {
|
|
3
|
+
Asc = "Asc",
|
|
4
|
+
Desc = "Desc"
|
|
5
|
+
}
|
|
6
|
+
export type OrderBy = {
|
|
7
|
+
expr: ExprData;
|
|
8
|
+
order: OrderDirection;
|
|
9
|
+
};
|
package/dist/define/Param.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
export declare enum ParamType {
|
|
2
|
-
Value = "Value",
|
|
3
|
-
Named = "Named"
|
|
4
|
-
}
|
|
5
|
-
export type ParamData = {
|
|
6
|
-
type: ParamType.Value;
|
|
7
|
-
value: any;
|
|
8
|
-
} | {
|
|
9
|
-
type: ParamType.Named;
|
|
10
|
-
name: string;
|
|
11
|
-
};
|
|
12
|
-
export declare const ParamData: {
|
|
13
|
-
Value(value: any): ParamData;
|
|
14
|
-
Named(name: string): ParamData;
|
|
15
|
-
};
|
|
1
|
+
export declare enum ParamType {
|
|
2
|
+
Value = "Value",
|
|
3
|
+
Named = "Named"
|
|
4
|
+
}
|
|
5
|
+
export type ParamData = {
|
|
6
|
+
type: ParamType.Value;
|
|
7
|
+
value: any;
|
|
8
|
+
} | {
|
|
9
|
+
type: ParamType.Named;
|
|
10
|
+
name: string;
|
|
11
|
+
};
|
|
12
|
+
export declare const ParamData: {
|
|
13
|
+
Value(value: any): ParamData;
|
|
14
|
+
Named(name: string): ParamData;
|
|
15
|
+
};
|