rado 0.1.21 → 0.1.23
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/README.md +1 -1
- package/dist/Column.d.ts +41 -0
- package/dist/Column.js +58 -0
- package/dist/Cursor.d.ts +77 -0
- package/dist/Cursor.js +211 -0
- package/dist/Driver.d.ts +72 -0
- package/dist/Driver.js +145 -0
- package/dist/Expr.d.ts +149 -0
- package/dist/Expr.js +284 -0
- package/dist/Fields.d.ts +9 -0
- package/dist/Fields.js +0 -0
- package/dist/Formatter.d.ts +50 -0
- package/dist/Formatter.js +453 -0
- package/dist/Functions.d.ts +8 -0
- package/dist/Functions.js +11 -0
- package/dist/Key.d.ts +5 -0
- package/dist/Ops.d.ts +8 -0
- package/dist/Ops.js +46 -0
- package/dist/OrderBy.d.ts +9 -0
- package/dist/OrderBy.js +9 -0
- package/dist/Param.d.ts +15 -0
- package/dist/Param.js +18 -0
- package/dist/Query.d.ts +94 -0
- package/dist/Query.js +57 -0
- package/dist/Sanitizer.d.ts +4 -0
- package/dist/Sanitizer.js +0 -0
- package/dist/Schema.d.ts +10 -0
- package/dist/Selection.d.ts +18 -0
- package/dist/Selection.js +0 -0
- package/dist/Statement.d.ts +57 -0
- package/dist/Statement.js +184 -0
- package/dist/Table.d.ts +47 -0
- package/dist/Table.js +82 -0
- package/dist/Target.d.ts +30 -0
- package/dist/Target.js +37 -0
- package/dist/Update.d.ts +4 -0
- package/dist/Update.js +0 -0
- package/dist/driver/better-sqlite3.d.ts +17 -17
- package/dist/driver/sql.js.d.ts +17 -17
- package/dist/driver/sqlite3.d.ts +20 -20
- package/dist/index.d.ts +20 -20
- package/dist/lib/Column.d.ts +57 -57
- package/dist/lib/Cursor.d.ts +77 -77
- package/dist/lib/Driver.d.ts +89 -89
- package/dist/lib/Expr.d.ts +154 -154
- package/dist/lib/Fields.d.ts +13 -13
- package/dist/lib/Formatter.d.ts +56 -56
- package/dist/lib/Formatter.js +2 -2
- package/dist/lib/Functions.d.ts +7 -7
- package/dist/lib/Id.d.ts +3 -3
- package/dist/lib/Index.d.ts +17 -17
- package/dist/lib/Ops.d.ts +8 -8
- package/dist/lib/OrderBy.d.ts +9 -9
- package/dist/lib/Param.d.ts +15 -15
- package/dist/lib/Query.d.ts +108 -108
- package/dist/lib/Sanitizer.d.ts +4 -4
- package/dist/lib/Schema.d.ts +18 -18
- package/dist/lib/Selection.d.ts +20 -20
- package/dist/lib/Statement.d.ts +61 -61
- package/dist/lib/Table.d.ts +58 -58
- package/dist/lib/Target.d.ts +30 -30
- package/dist/lib/Update.d.ts +4 -4
- package/dist/sqlite/SqliteFormatter.d.ts +11 -11
- package/dist/sqlite/SqliteFunctions.d.ts +156 -156
- package/dist/sqlite/SqliteSchema.d.ts +24 -24
- package/dist/sqlite/index.d.ts +2 -0
- package/dist/sqlite/index.js +3 -0
- package/dist/sqlite.d.ts +2 -2
- package/package.json +47 -47
package/dist/lib/Expr.d.ts
CHANGED
|
@@ -1,154 +1,154 @@
|
|
|
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 UnOp {
|
|
9
|
-
Not = "Not",
|
|
10
|
-
IsNull = "IsNull"
|
|
11
|
-
}
|
|
12
|
-
export declare enum BinOp {
|
|
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 = {
|
|
48
|
-
type: ExprType.UnOp;
|
|
49
|
-
op: UnOp;
|
|
50
|
-
expr: ExprData;
|
|
51
|
-
} | {
|
|
52
|
-
type: ExprType.BinOp;
|
|
53
|
-
op: BinOp;
|
|
54
|
-
a: ExprData;
|
|
55
|
-
b: ExprData;
|
|
56
|
-
} | {
|
|
57
|
-
type: ExprType.Field;
|
|
58
|
-
expr: ExprData;
|
|
59
|
-
field: string;
|
|
60
|
-
} | {
|
|
61
|
-
type: ExprType.Param;
|
|
62
|
-
param: ParamData;
|
|
63
|
-
} | {
|
|
64
|
-
type: ExprType.Call;
|
|
65
|
-
method: string;
|
|
66
|
-
params: Array<ExprData>;
|
|
67
|
-
} | {
|
|
68
|
-
type: ExprType.Query;
|
|
69
|
-
query: Query.Select;
|
|
70
|
-
} | {
|
|
71
|
-
type: ExprType.Record;
|
|
72
|
-
fields: Record<string, ExprData>;
|
|
73
|
-
} | {
|
|
74
|
-
type: ExprType.Merge;
|
|
75
|
-
a: ExprData;
|
|
76
|
-
b: ExprData;
|
|
77
|
-
} | {
|
|
78
|
-
type: ExprType.Row;
|
|
79
|
-
target: Target;
|
|
80
|
-
} | {
|
|
81
|
-
type: ExprType.Map;
|
|
82
|
-
target: Target;
|
|
83
|
-
result: ExprData;
|
|
84
|
-
} | {
|
|
85
|
-
type: ExprType.Filter;
|
|
86
|
-
target: Target;
|
|
87
|
-
condition: ExprData;
|
|
88
|
-
} | {
|
|
89
|
-
type: ExprType.Case;
|
|
90
|
-
expr: ExprData;
|
|
91
|
-
cases: Record<string, ExprData>;
|
|
92
|
-
defaultCase?: ExprData;
|
|
93
|
-
};
|
|
94
|
-
export declare const ExprData: {
|
|
95
|
-
UnOp(op: UnOp, expr: ExprData): ExprData;
|
|
96
|
-
BinOp(op: BinOp, a: ExprData, b: ExprData): ExprData;
|
|
97
|
-
Field(expr: ExprData, field: string): ExprData;
|
|
98
|
-
Param(param: ParamData): ExprData;
|
|
99
|
-
Call(method: string, params: Array<ExprData>): ExprData;
|
|
100
|
-
Query(query: Query.Select): ExprData;
|
|
101
|
-
Record(fields: Record<string, ExprData>): ExprData;
|
|
102
|
-
Merge(a: ExprData, b: ExprData): ExprData;
|
|
103
|
-
Row(target: Target): ExprData;
|
|
104
|
-
Map(target: Target, result: ExprData): ExprData;
|
|
105
|
-
Filter(target: Target, condition: ExprData): ExprData;
|
|
106
|
-
Case(expr: ExprData, cases: Record<string, ExprData>, defaultCase?: ExprData): ExprData;
|
|
107
|
-
create(input: any): ExprData;
|
|
108
|
-
};
|
|
109
|
-
/** Expression or value of type T */
|
|
110
|
-
export type EV<T> = Expr<T> | T;
|
|
111
|
-
export declare class Expr<T> {
|
|
112
|
-
expr: ExprData;
|
|
113
|
-
static NULL: ExprData;
|
|
114
|
-
static value<T>(value: T): Expr<T>;
|
|
115
|
-
static create<T>(input: EV<T>): Expr<T>;
|
|
116
|
-
static and(...conditions: Array<EV<boolean>>): Expr<boolean>;
|
|
117
|
-
static or(...conditions: Array<EV<boolean>>): Expr<boolean>;
|
|
118
|
-
constructor(expr: ExprData);
|
|
119
|
-
asc(): OrderBy;
|
|
120
|
-
desc(): OrderBy;
|
|
121
|
-
not(): Expr<boolean>;
|
|
122
|
-
or(this: Expr<boolean>, that: EV<boolean>): Expr<boolean>;
|
|
123
|
-
and(this: Expr<boolean>, that: EV<boolean>): Expr<boolean>;
|
|
124
|
-
isNull(): Expr<boolean>;
|
|
125
|
-
isNotNull(): Expr<boolean>;
|
|
126
|
-
isNot(that: EV<T>): Expr<boolean>;
|
|
127
|
-
is(that: EV<T> | Cursor.SelectSingle<T>): Expr<boolean>;
|
|
128
|
-
isIn(that: EV<Array<T>> | Cursor<T>): Expr<boolean>;
|
|
129
|
-
isNotIn(that: EV<Array<T>> | Cursor<T>): Expr<boolean>;
|
|
130
|
-
add(this: Expr<number>, that: EV<number>): Expr<number>;
|
|
131
|
-
substract(this: Expr<number>, that: EV<number>): Expr<number>;
|
|
132
|
-
multiply(this: Expr<number>, that: EV<number>): Expr<number>;
|
|
133
|
-
remainder(this: Expr<number>, that: EV<number>): Expr<number>;
|
|
134
|
-
divide(this: Expr<number>, that: EV<number>): Expr<number>;
|
|
135
|
-
greater(that: EV<any>): Expr<boolean>;
|
|
136
|
-
greaterOrEqual(that: EV<any>): Expr<boolean>;
|
|
137
|
-
less(that: EV<any>): Expr<boolean>;
|
|
138
|
-
lessOrEqual(that: EV<any>): Expr<boolean>;
|
|
139
|
-
concat(this: Expr<string>, that: EV<string>): Expr<string>;
|
|
140
|
-
like(this: Expr<string>, that: EV<string>): Expr<boolean>;
|
|
141
|
-
glob(this: Expr<string>, that: EV<string>): Expr<boolean>;
|
|
142
|
-
match(this: Expr<string>, that: EV<string>): Expr<boolean>;
|
|
143
|
-
with<X extends Selection>(that: X): Selection.With<T, X>;
|
|
144
|
-
at<T>(this: Expr<Array<T>>, index: number): Expr<T | null>;
|
|
145
|
-
filter<T>(this: Expr<Array<T>>, fn: (cursor: Fields<T>) => Expr<boolean>): Expr<Array<T>>;
|
|
146
|
-
map<T, X extends Selection>(this: Expr<Array<T>>, fn: (cursor: Fields<T>) => X): Expr<Array<Selection.Infer<X>>>;
|
|
147
|
-
sure(): Expr<NonNullable<T>>;
|
|
148
|
-
get<T>(name: string): Expr<T>;
|
|
149
|
-
}
|
|
150
|
-
export declare namespace Expr {
|
|
151
|
-
type Record<T> = Expr<T> & {
|
|
152
|
-
[K in keyof T]: Expr<T[K]>;
|
|
153
|
-
};
|
|
154
|
-
}
|
|
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 UnOp {
|
|
9
|
+
Not = "Not",
|
|
10
|
+
IsNull = "IsNull"
|
|
11
|
+
}
|
|
12
|
+
export declare enum BinOp {
|
|
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 = {
|
|
48
|
+
type: ExprType.UnOp;
|
|
49
|
+
op: UnOp;
|
|
50
|
+
expr: ExprData;
|
|
51
|
+
} | {
|
|
52
|
+
type: ExprType.BinOp;
|
|
53
|
+
op: BinOp;
|
|
54
|
+
a: ExprData;
|
|
55
|
+
b: ExprData;
|
|
56
|
+
} | {
|
|
57
|
+
type: ExprType.Field;
|
|
58
|
+
expr: ExprData;
|
|
59
|
+
field: string;
|
|
60
|
+
} | {
|
|
61
|
+
type: ExprType.Param;
|
|
62
|
+
param: ParamData;
|
|
63
|
+
} | {
|
|
64
|
+
type: ExprType.Call;
|
|
65
|
+
method: string;
|
|
66
|
+
params: Array<ExprData>;
|
|
67
|
+
} | {
|
|
68
|
+
type: ExprType.Query;
|
|
69
|
+
query: Query.Select;
|
|
70
|
+
} | {
|
|
71
|
+
type: ExprType.Record;
|
|
72
|
+
fields: Record<string, ExprData>;
|
|
73
|
+
} | {
|
|
74
|
+
type: ExprType.Merge;
|
|
75
|
+
a: ExprData;
|
|
76
|
+
b: ExprData;
|
|
77
|
+
} | {
|
|
78
|
+
type: ExprType.Row;
|
|
79
|
+
target: Target;
|
|
80
|
+
} | {
|
|
81
|
+
type: ExprType.Map;
|
|
82
|
+
target: Target;
|
|
83
|
+
result: ExprData;
|
|
84
|
+
} | {
|
|
85
|
+
type: ExprType.Filter;
|
|
86
|
+
target: Target;
|
|
87
|
+
condition: ExprData;
|
|
88
|
+
} | {
|
|
89
|
+
type: ExprType.Case;
|
|
90
|
+
expr: ExprData;
|
|
91
|
+
cases: Record<string, ExprData>;
|
|
92
|
+
defaultCase?: ExprData;
|
|
93
|
+
};
|
|
94
|
+
export declare const ExprData: {
|
|
95
|
+
UnOp(op: UnOp, expr: ExprData): ExprData;
|
|
96
|
+
BinOp(op: BinOp, a: ExprData, b: ExprData): ExprData;
|
|
97
|
+
Field(expr: ExprData, field: string): ExprData;
|
|
98
|
+
Param(param: ParamData): ExprData;
|
|
99
|
+
Call(method: string, params: Array<ExprData>): ExprData;
|
|
100
|
+
Query(query: Query.Select): ExprData;
|
|
101
|
+
Record(fields: Record<string, ExprData>): ExprData;
|
|
102
|
+
Merge(a: ExprData, b: ExprData): ExprData;
|
|
103
|
+
Row(target: Target): ExprData;
|
|
104
|
+
Map(target: Target, result: ExprData): ExprData;
|
|
105
|
+
Filter(target: Target, condition: ExprData): ExprData;
|
|
106
|
+
Case(expr: ExprData, cases: Record<string, ExprData>, defaultCase?: ExprData): ExprData;
|
|
107
|
+
create(input: any): ExprData;
|
|
108
|
+
};
|
|
109
|
+
/** Expression or value of type T */
|
|
110
|
+
export type EV<T> = Expr<T> | T;
|
|
111
|
+
export declare class Expr<T> {
|
|
112
|
+
expr: ExprData;
|
|
113
|
+
static NULL: ExprData;
|
|
114
|
+
static value<T>(value: T): Expr<T>;
|
|
115
|
+
static create<T>(input: EV<T>): Expr<T>;
|
|
116
|
+
static and(...conditions: Array<EV<boolean>>): Expr<boolean>;
|
|
117
|
+
static or(...conditions: Array<EV<boolean>>): Expr<boolean>;
|
|
118
|
+
constructor(expr: ExprData);
|
|
119
|
+
asc(): OrderBy;
|
|
120
|
+
desc(): OrderBy;
|
|
121
|
+
not(): Expr<boolean>;
|
|
122
|
+
or(this: Expr<boolean>, that: EV<boolean>): Expr<boolean>;
|
|
123
|
+
and(this: Expr<boolean>, that: EV<boolean>): Expr<boolean>;
|
|
124
|
+
isNull(): Expr<boolean>;
|
|
125
|
+
isNotNull(): Expr<boolean>;
|
|
126
|
+
isNot(that: EV<T>): Expr<boolean>;
|
|
127
|
+
is(that: EV<T> | Cursor.SelectSingle<T>): Expr<boolean>;
|
|
128
|
+
isIn(that: EV<Array<T>> | Cursor<T>): Expr<boolean>;
|
|
129
|
+
isNotIn(that: EV<Array<T>> | Cursor<T>): Expr<boolean>;
|
|
130
|
+
add(this: Expr<number>, that: EV<number>): Expr<number>;
|
|
131
|
+
substract(this: Expr<number>, that: EV<number>): Expr<number>;
|
|
132
|
+
multiply(this: Expr<number>, that: EV<number>): Expr<number>;
|
|
133
|
+
remainder(this: Expr<number>, that: EV<number>): Expr<number>;
|
|
134
|
+
divide(this: Expr<number>, that: EV<number>): Expr<number>;
|
|
135
|
+
greater(that: EV<any>): Expr<boolean>;
|
|
136
|
+
greaterOrEqual(that: EV<any>): Expr<boolean>;
|
|
137
|
+
less(that: EV<any>): Expr<boolean>;
|
|
138
|
+
lessOrEqual(that: EV<any>): Expr<boolean>;
|
|
139
|
+
concat(this: Expr<string>, that: EV<string>): Expr<string>;
|
|
140
|
+
like(this: Expr<string>, that: EV<string>): Expr<boolean>;
|
|
141
|
+
glob(this: Expr<string>, that: EV<string>): Expr<boolean>;
|
|
142
|
+
match(this: Expr<string>, that: EV<string>): Expr<boolean>;
|
|
143
|
+
with<X extends Selection>(that: X): Selection.With<T, X>;
|
|
144
|
+
at<T>(this: Expr<Array<T>>, index: number): Expr<T | null>;
|
|
145
|
+
filter<T>(this: Expr<Array<T>>, fn: (cursor: Fields<T>) => Expr<boolean>): Expr<Array<T>>;
|
|
146
|
+
map<T, X extends Selection>(this: Expr<Array<T>>, fn: (cursor: Fields<T>) => X): Expr<Array<Selection.Infer<X>>>;
|
|
147
|
+
sure(): Expr<NonNullable<T>>;
|
|
148
|
+
get<T>(name: string): Expr<T>;
|
|
149
|
+
}
|
|
150
|
+
export declare namespace Expr {
|
|
151
|
+
type Record<T> = Expr<T> & {
|
|
152
|
+
[K in keyof T]: Expr<T[K]>;
|
|
153
|
+
};
|
|
154
|
+
}
|
package/dist/lib/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 {};
|
package/dist/lib/Formatter.d.ts
CHANGED
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
import { ColumnData, ColumnType } from './Column';
|
|
2
|
-
import { ExprData } from './Expr';
|
|
3
|
-
import { OrderBy } from './OrderBy';
|
|
4
|
-
import { Query } from './Query';
|
|
5
|
-
import { Sanitizer } from './Sanitizer';
|
|
6
|
-
import { Statement } from './Statement';
|
|
7
|
-
import { Target } from './Target';
|
|
8
|
-
export interface FormatContext {
|
|
9
|
-
nameResult?: string;
|
|
10
|
-
skipTableName?: boolean;
|
|
11
|
-
forceInline?: boolean;
|
|
12
|
-
formatAsJson?: boolean;
|
|
13
|
-
formatSubject?: (subject: Statement) => Statement;
|
|
14
|
-
}
|
|
15
|
-
export declare abstract class Formatter implements Sanitizer {
|
|
16
|
-
constructor();
|
|
17
|
-
abstract escapeValue(value: any): string;
|
|
18
|
-
abstract escapeIdentifier(ident: string): string;
|
|
19
|
-
abstract formatSqlAccess(on: Statement, field: string): Statement;
|
|
20
|
-
abstract formatJsonAccess(on: Statement, field: string): Statement;
|
|
21
|
-
formatAccess(on: Statement, field: string, formatAsJson?: boolean): Statement;
|
|
22
|
-
compile<T>(query: Query<T>, formatInline?: boolean): Statement.Compiled;
|
|
23
|
-
format<T>(query: Query<T>, ctx?: FormatContext): Statement;
|
|
24
|
-
formatSelect(query: Query.Select, ctx: FormatContext): Statement;
|
|
25
|
-
formatInsert(query: Query.Insert, ctx: FormatContext): Statement;
|
|
26
|
-
formatUpdate(query: Query.Update, ctx: FormatContext): Statement;
|
|
27
|
-
formatDelete(query: Query.Delete, ctx: FormatContext): Statement;
|
|
28
|
-
formatCreateTable(query: Query.CreateTable, ctx: FormatContext): Statement;
|
|
29
|
-
formatCreateIndex(query: Query.CreateIndex, ctx?: FormatContext): Statement;
|
|
30
|
-
formatDropIndex(query: Query.DropIndex, ctx: FormatContext): Statement;
|
|
31
|
-
formatAlterTable(query: Query.AlterTable, ctx: FormatContext): Statement;
|
|
32
|
-
formatTransaction({ op, id }: Query.Transaction, ctx: FormatContext): Statement;
|
|
33
|
-
formatBatch(queries: Query[], ctx: FormatContext): Statement;
|
|
34
|
-
formatRaw({ strings, params }: Query.Raw, ctx: FormatContext): Statement;
|
|
35
|
-
formatColumn(column: ColumnData): Statement;
|
|
36
|
-
formatContraintReference(reference: ExprData): Statement;
|
|
37
|
-
formatType(type: ColumnType): Statement;
|
|
38
|
-
formatInsertRow(columns: Record<string, ColumnData>, row: Record<string, any>): Statement;
|
|
39
|
-
formatColumnValue(column: ColumnData, columnValue: any): Statement;
|
|
40
|
-
formatTarget(target: Target, ctx: FormatContext): Statement;
|
|
41
|
-
formatWhere(expr: ExprData | undefined, ctx: FormatContext): Statement | undefined;
|
|
42
|
-
formatHaving(expr: ExprData | undefined, ctx: FormatContext): Statement | undefined;
|
|
43
|
-
formatGroupBy(groupBy: Array<ExprData> | undefined, ctx: FormatContext): Statement | undefined;
|
|
44
|
-
formatOrderBy(orderBy: Array<OrderBy> | undefined, ctx: FormatContext): Statement | undefined;
|
|
45
|
-
formatLimit({ limit, offset, singleResult }: Query.QueryBase, ctx: FormatContext): Statement | undefined;
|
|
46
|
-
formatSelection(selection: ExprData, ctx: FormatContext): Statement;
|
|
47
|
-
formatExprValue(expr: ExprData, ctx: FormatContext): Statement;
|
|
48
|
-
formatIn(expr: ExprData, ctx: FormatContext): Statement;
|
|
49
|
-
formatUnwrapArray(stmt: Statement): Statement;
|
|
50
|
-
retrieveField(expr: ExprData, field: string): ExprData | undefined;
|
|
51
|
-
formatField(expr: ExprData, field: string, ctx: FormatContext): Statement;
|
|
52
|
-
formatString(input: string): Statement;
|
|
53
|
-
formatInlineValue(rawValue: any): Statement;
|
|
54
|
-
formatValue(rawValue: any, ctx: FormatContext): Statement;
|
|
55
|
-
formatExpr(expr: ExprData, ctx: FormatContext): Statement;
|
|
56
|
-
}
|
|
1
|
+
import { ColumnData, ColumnType } from './Column';
|
|
2
|
+
import { ExprData } from './Expr';
|
|
3
|
+
import { OrderBy } from './OrderBy';
|
|
4
|
+
import { Query } from './Query';
|
|
5
|
+
import { Sanitizer } from './Sanitizer';
|
|
6
|
+
import { Statement } from './Statement';
|
|
7
|
+
import { Target } from './Target';
|
|
8
|
+
export interface FormatContext {
|
|
9
|
+
nameResult?: string;
|
|
10
|
+
skipTableName?: boolean;
|
|
11
|
+
forceInline?: boolean;
|
|
12
|
+
formatAsJson?: boolean;
|
|
13
|
+
formatSubject?: (subject: Statement) => Statement;
|
|
14
|
+
}
|
|
15
|
+
export declare abstract class Formatter implements Sanitizer {
|
|
16
|
+
constructor();
|
|
17
|
+
abstract escapeValue(value: any): string;
|
|
18
|
+
abstract escapeIdentifier(ident: string): string;
|
|
19
|
+
abstract formatSqlAccess(on: Statement, field: string): Statement;
|
|
20
|
+
abstract formatJsonAccess(on: Statement, field: string): Statement;
|
|
21
|
+
formatAccess(on: Statement, field: string, formatAsJson?: boolean): Statement;
|
|
22
|
+
compile<T>(query: Query<T>, formatInline?: boolean): Statement.Compiled;
|
|
23
|
+
format<T>(query: Query<T>, ctx?: FormatContext): Statement;
|
|
24
|
+
formatSelect(query: Query.Select, ctx: FormatContext): Statement;
|
|
25
|
+
formatInsert(query: Query.Insert, ctx: FormatContext): Statement;
|
|
26
|
+
formatUpdate(query: Query.Update, ctx: FormatContext): Statement;
|
|
27
|
+
formatDelete(query: Query.Delete, ctx: FormatContext): Statement;
|
|
28
|
+
formatCreateTable(query: Query.CreateTable, ctx: FormatContext): Statement;
|
|
29
|
+
formatCreateIndex(query: Query.CreateIndex, ctx?: FormatContext): Statement;
|
|
30
|
+
formatDropIndex(query: Query.DropIndex, ctx: FormatContext): Statement;
|
|
31
|
+
formatAlterTable(query: Query.AlterTable, ctx: FormatContext): Statement;
|
|
32
|
+
formatTransaction({ op, id }: Query.Transaction, ctx: FormatContext): Statement;
|
|
33
|
+
formatBatch(queries: Query[], ctx: FormatContext): Statement;
|
|
34
|
+
formatRaw({ strings, params }: Query.Raw, ctx: FormatContext): Statement;
|
|
35
|
+
formatColumn(column: ColumnData): Statement;
|
|
36
|
+
formatContraintReference(reference: ExprData): Statement;
|
|
37
|
+
formatType(type: ColumnType): Statement;
|
|
38
|
+
formatInsertRow(columns: Record<string, ColumnData>, row: Record<string, any>): Statement;
|
|
39
|
+
formatColumnValue(column: ColumnData, columnValue: any): Statement;
|
|
40
|
+
formatTarget(target: Target, ctx: FormatContext): Statement;
|
|
41
|
+
formatWhere(expr: ExprData | undefined, ctx: FormatContext): Statement | undefined;
|
|
42
|
+
formatHaving(expr: ExprData | undefined, ctx: FormatContext): Statement | undefined;
|
|
43
|
+
formatGroupBy(groupBy: Array<ExprData> | undefined, ctx: FormatContext): Statement | undefined;
|
|
44
|
+
formatOrderBy(orderBy: Array<OrderBy> | undefined, ctx: FormatContext): Statement | undefined;
|
|
45
|
+
formatLimit({ limit, offset, singleResult }: Query.QueryBase, ctx: FormatContext): Statement | undefined;
|
|
46
|
+
formatSelection(selection: ExprData, ctx: FormatContext): Statement;
|
|
47
|
+
formatExprValue(expr: ExprData, ctx: FormatContext): Statement;
|
|
48
|
+
formatIn(expr: ExprData, ctx: FormatContext): Statement;
|
|
49
|
+
formatUnwrapArray(stmt: Statement): Statement;
|
|
50
|
+
retrieveField(expr: ExprData, field: string): ExprData | undefined;
|
|
51
|
+
formatField(expr: ExprData, field: string, ctx: FormatContext): Statement;
|
|
52
|
+
formatString(input: string): Statement;
|
|
53
|
+
formatInlineValue(rawValue: any): Statement;
|
|
54
|
+
formatValue(rawValue: any, ctx: FormatContext): Statement;
|
|
55
|
+
formatExpr(expr: ExprData, ctx: FormatContext): Statement;
|
|
56
|
+
}
|
package/dist/lib/Formatter.js
CHANGED
|
@@ -170,7 +170,7 @@ var Formatter = class {
|
|
|
170
170
|
column.defaultValue,
|
|
171
171
|
() => raw("DEFAULT").addParenthesis(
|
|
172
172
|
this.formatExpr(column.defaultValue, {
|
|
173
|
-
formatAsJson:
|
|
173
|
+
formatAsJson: true,
|
|
174
174
|
forceInline: true
|
|
175
175
|
})
|
|
176
176
|
)
|
|
@@ -213,7 +213,7 @@ var Formatter = class {
|
|
|
213
213
|
const isOptional = column.nullable || column.autoIncrement || column.primaryKey;
|
|
214
214
|
if (isNull) {
|
|
215
215
|
if (column.defaultValue !== void 0)
|
|
216
|
-
return this.formatExpr(column.defaultValue, {});
|
|
216
|
+
return this.formatExpr(column.defaultValue, { formatAsJson: true });
|
|
217
217
|
if (!isOptional)
|
|
218
218
|
throw new TypeError(`Expected value for column ${column.name}`);
|
|
219
219
|
return raw("NULL");
|
package/dist/lib/Functions.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { EV, Expr } from './Expr';
|
|
2
|
-
export declare const Functions: Functions;
|
|
3
|
-
/** These will have to be supported in every driver */
|
|
4
|
-
export type Functions = {
|
|
5
|
-
count(x?: Expr<any>): Expr<number>;
|
|
6
|
-
iif<T>(x: EV<boolean>, y: EV<T>, z: EV<T>): Expr<T>;
|
|
7
|
-
};
|
|
1
|
+
import { EV, Expr } from './Expr';
|
|
2
|
+
export declare const Functions: Functions;
|
|
3
|
+
/** These will have to be supported in every driver */
|
|
4
|
+
export type Functions = {
|
|
5
|
+
count(x?: Expr<any>): Expr<number>;
|
|
6
|
+
iif<T>(x: EV<boolean>, y: EV<T>, z: EV<T>): Expr<T>;
|
|
7
|
+
};
|
package/dist/lib/Id.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export type Id<T extends {
|
|
2
|
-
id: any;
|
|
3
|
-
}> = T['id'];
|
|
1
|
+
export type Id<T extends {
|
|
2
|
+
id: any;
|
|
3
|
+
}> = T['id'];
|
package/dist/lib/Index.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { Expr, ExprData } from './Expr';
|
|
2
|
-
interface PartialIndexData {
|
|
3
|
-
on: Array<ExprData>;
|
|
4
|
-
where?: ExprData;
|
|
5
|
-
unique?: boolean;
|
|
6
|
-
}
|
|
7
|
-
export interface IndexData extends PartialIndexData {
|
|
8
|
-
name: string;
|
|
9
|
-
}
|
|
10
|
-
export declare class Index {
|
|
11
|
-
data: PartialIndexData;
|
|
12
|
-
constructor(data: PartialIndexData);
|
|
13
|
-
where(where: Expr<boolean>): Index;
|
|
14
|
-
unique(): 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
|
+
where?: ExprData;
|
|
5
|
+
unique?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface IndexData extends PartialIndexData {
|
|
8
|
+
name: string;
|
|
9
|
+
}
|
|
10
|
+
export declare class Index {
|
|
11
|
+
data: PartialIndexData;
|
|
12
|
+
constructor(data: PartialIndexData);
|
|
13
|
+
where(where: Expr<boolean>): Index;
|
|
14
|
+
unique(): Index;
|
|
15
|
+
}
|
|
16
|
+
export declare function index(...on: Array<Expr<any>>): Index;
|
|
17
|
+
export {};
|
package/dist/lib/Ops.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Cursor } from './Cursor';
|
|
2
|
-
import { Table } from './Table';
|
|
3
|
-
export declare function selectAll<Row>(table: Table<Row>): Cursor.SelectMultiple<Row>;
|
|
4
|
-
export declare function selectFirst<Row>(table: Table<Row>): Cursor.SelectSingle<Row>;
|
|
5
|
-
export declare function update<Row>(table: Table<Row>): Cursor.Update<Row>;
|
|
6
|
-
export declare function insertInto<Row>(table: Table<Row>): Cursor.Insert<Row>;
|
|
7
|
-
export declare function deleteFrom<Row>(table: Table<Row>): Cursor.Delete<Row>;
|
|
8
|
-
export declare function create(...tables: Array<Table<any>>): Cursor.Batch;
|
|
1
|
+
import { Cursor } from './Cursor';
|
|
2
|
+
import { Table } from './Table';
|
|
3
|
+
export declare function selectAll<Row>(table: Table<Row>): Cursor.SelectMultiple<Row>;
|
|
4
|
+
export declare function selectFirst<Row>(table: Table<Row>): Cursor.SelectSingle<Row>;
|
|
5
|
+
export declare function update<Row>(table: Table<Row>): Cursor.Update<Row>;
|
|
6
|
+
export declare function insertInto<Row>(table: Table<Row>): Cursor.Insert<Row>;
|
|
7
|
+
export declare function deleteFrom<Row>(table: Table<Row>): Cursor.Delete<Row>;
|
|
8
|
+
export declare function create(...tables: Array<Table<any>>): Cursor.Batch;
|
package/dist/lib/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/lib/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
|
+
};
|