rado 0.1.53 → 0.1.55
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 +86 -85
- package/dist/define/Cursor.js +3 -0
- package/dist/define/Expr.d.ts +154 -154
- 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/Driver.js +2 -2
- package/dist/lib/Formatter.d.ts +78 -78
- package/dist/lib/Formatter.js +5 -7
- 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/Expr.d.ts
DELETED
|
@@ -1,149 +0,0 @@
|
|
|
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
|
-
}
|
package/dist/Expr.js
DELETED
|
@@ -1,284 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
-
var __publicField = (obj, key, value) => {
|
|
4
|
-
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
-
return value;
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
// src/Expr.ts
|
|
9
|
-
import { OrderDirection } from "./OrderBy.js";
|
|
10
|
-
import { ParamData, ParamType } from "./Param.js";
|
|
11
|
-
import { Target } from "./Target.js";
|
|
12
|
-
var UnOp = /* @__PURE__ */ ((UnOp2) => {
|
|
13
|
-
UnOp2["Not"] = "Not";
|
|
14
|
-
UnOp2["IsNull"] = "IsNull";
|
|
15
|
-
return UnOp2;
|
|
16
|
-
})(UnOp || {});
|
|
17
|
-
var BinOp = /* @__PURE__ */ ((BinOp2) => {
|
|
18
|
-
BinOp2["Add"] = "Add";
|
|
19
|
-
BinOp2["Subt"] = "Subt";
|
|
20
|
-
BinOp2["Mult"] = "Mult";
|
|
21
|
-
BinOp2["Mod"] = "Mod";
|
|
22
|
-
BinOp2["Div"] = "Div";
|
|
23
|
-
BinOp2["Greater"] = "Greater";
|
|
24
|
-
BinOp2["GreaterOrEqual"] = "GreaterOrEqual";
|
|
25
|
-
BinOp2["Less"] = "Less";
|
|
26
|
-
BinOp2["LessOrEqual"] = "LessOrEqual";
|
|
27
|
-
BinOp2["Equals"] = "Equals";
|
|
28
|
-
BinOp2["NotEquals"] = "NotEquals";
|
|
29
|
-
BinOp2["And"] = "And";
|
|
30
|
-
BinOp2["Or"] = "Or";
|
|
31
|
-
BinOp2["Like"] = "Like";
|
|
32
|
-
BinOp2["Glob"] = "Glob";
|
|
33
|
-
BinOp2["Match"] = "Match";
|
|
34
|
-
BinOp2["In"] = "In";
|
|
35
|
-
BinOp2["NotIn"] = "NotIn";
|
|
36
|
-
BinOp2["Concat"] = "Concat";
|
|
37
|
-
return BinOp2;
|
|
38
|
-
})(BinOp || {});
|
|
39
|
-
var ExprType = /* @__PURE__ */ ((ExprType2) => {
|
|
40
|
-
ExprType2["UnOp"] = "UnOp";
|
|
41
|
-
ExprType2["BinOp"] = "BinOp";
|
|
42
|
-
ExprType2["Field"] = "Field";
|
|
43
|
-
ExprType2["Param"] = "Param";
|
|
44
|
-
ExprType2["Call"] = "Call";
|
|
45
|
-
ExprType2["Query"] = "Query";
|
|
46
|
-
ExprType2["Record"] = "Record";
|
|
47
|
-
ExprType2["Row"] = "Row";
|
|
48
|
-
ExprType2["Map"] = "Map";
|
|
49
|
-
ExprType2["Filter"] = "Filter";
|
|
50
|
-
ExprType2["Merge"] = "Merge";
|
|
51
|
-
ExprType2["Case"] = "Case";
|
|
52
|
-
return ExprType2;
|
|
53
|
-
})(ExprType || {});
|
|
54
|
-
var ExprData = {
|
|
55
|
-
UnOp(op, expr) {
|
|
56
|
-
return { type: "UnOp" /* UnOp */, op, expr };
|
|
57
|
-
},
|
|
58
|
-
BinOp(op, a, b) {
|
|
59
|
-
return { type: "BinOp" /* BinOp */, op, a, b };
|
|
60
|
-
},
|
|
61
|
-
Field(expr, field) {
|
|
62
|
-
return { type: "Field" /* Field */, expr, field };
|
|
63
|
-
},
|
|
64
|
-
Param(param) {
|
|
65
|
-
return { type: "Param" /* Param */, param };
|
|
66
|
-
},
|
|
67
|
-
Call(method, params) {
|
|
68
|
-
return { type: "Call" /* Call */, method, params };
|
|
69
|
-
},
|
|
70
|
-
Query(query) {
|
|
71
|
-
return { type: "Query" /* Query */, query };
|
|
72
|
-
},
|
|
73
|
-
Record(fields) {
|
|
74
|
-
return { type: "Record" /* Record */, fields };
|
|
75
|
-
},
|
|
76
|
-
Merge(a, b) {
|
|
77
|
-
return { type: "Merge" /* Merge */, a, b };
|
|
78
|
-
},
|
|
79
|
-
Row(target) {
|
|
80
|
-
return { type: "Row" /* Row */, target };
|
|
81
|
-
},
|
|
82
|
-
Map(target, result) {
|
|
83
|
-
return { type: "Map" /* Map */, target, result };
|
|
84
|
-
},
|
|
85
|
-
Filter(target, condition) {
|
|
86
|
-
return { type: "Filter" /* Filter */, target, condition };
|
|
87
|
-
},
|
|
88
|
-
Case(expr, cases, defaultCase) {
|
|
89
|
-
return { type: "Case" /* Case */, expr, cases, defaultCase };
|
|
90
|
-
},
|
|
91
|
-
create(input) {
|
|
92
|
-
if (input === null || input === void 0)
|
|
93
|
-
return ExprData.Param(ParamData.Value(null));
|
|
94
|
-
if (input && typeof input === "object" && typeof input.toExpr === "function")
|
|
95
|
-
input = input.toExpr();
|
|
96
|
-
if (input instanceof Expr)
|
|
97
|
-
return input.expr;
|
|
98
|
-
if (input && typeof input === "object" && !Array.isArray(input))
|
|
99
|
-
return ExprData.Record(
|
|
100
|
-
Object.fromEntries(
|
|
101
|
-
Object.entries(input).map(([key, value]) => [
|
|
102
|
-
key,
|
|
103
|
-
ExprData.create(value)
|
|
104
|
-
])
|
|
105
|
-
)
|
|
106
|
-
);
|
|
107
|
-
return ExprData.Param(ParamData.Value(input));
|
|
108
|
-
}
|
|
109
|
-
};
|
|
110
|
-
var toExpr = ExprData.create;
|
|
111
|
-
function isConstant(e, value) {
|
|
112
|
-
switch (e.type) {
|
|
113
|
-
case "Param" /* Param */:
|
|
114
|
-
switch (e.param.type) {
|
|
115
|
-
case ParamType.Value:
|
|
116
|
-
return e.param.value == value;
|
|
117
|
-
default:
|
|
118
|
-
return false;
|
|
119
|
-
}
|
|
120
|
-
default:
|
|
121
|
-
return false;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
var _Expr = class {
|
|
125
|
-
constructor(expr) {
|
|
126
|
-
this.expr = expr;
|
|
127
|
-
return new Proxy(this, {
|
|
128
|
-
get(target, key) {
|
|
129
|
-
return key in target ? target[key] : target.get(key);
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
static value(value) {
|
|
134
|
-
return new _Expr(ExprData.Param(ParamData.Value(value)));
|
|
135
|
-
}
|
|
136
|
-
static create(input) {
|
|
137
|
-
if (input instanceof _Expr)
|
|
138
|
-
return input;
|
|
139
|
-
return new _Expr(ExprData.create(input));
|
|
140
|
-
}
|
|
141
|
-
static and(...conditions) {
|
|
142
|
-
return conditions.map(_Expr.create).reduce((condition, expr) => condition.and(expr), _Expr.value(true));
|
|
143
|
-
}
|
|
144
|
-
static or(...conditions) {
|
|
145
|
-
return conditions.map(_Expr.create).reduce((condition, expr) => condition.or(expr), _Expr.value(false));
|
|
146
|
-
}
|
|
147
|
-
asc() {
|
|
148
|
-
return { expr: this.expr, order: OrderDirection.Asc };
|
|
149
|
-
}
|
|
150
|
-
desc() {
|
|
151
|
-
return { expr: this.expr, order: OrderDirection.Desc };
|
|
152
|
-
}
|
|
153
|
-
not() {
|
|
154
|
-
return unop(this, "Not" /* Not */);
|
|
155
|
-
}
|
|
156
|
-
or(that) {
|
|
157
|
-
const a = this.expr;
|
|
158
|
-
const b = toExpr(that);
|
|
159
|
-
if (isConstant(b, true) || isConstant(a, false))
|
|
160
|
-
return new _Expr(b);
|
|
161
|
-
if (isConstant(a, true) || isConstant(b, false))
|
|
162
|
-
return this;
|
|
163
|
-
return new _Expr(ExprData.BinOp("Or" /* Or */, a, b));
|
|
164
|
-
}
|
|
165
|
-
and(that) {
|
|
166
|
-
const a = this.expr;
|
|
167
|
-
const b = toExpr(that);
|
|
168
|
-
if (isConstant(b, true) || isConstant(a, false))
|
|
169
|
-
return this;
|
|
170
|
-
if (isConstant(a, true) || isConstant(b, false))
|
|
171
|
-
return new _Expr(b);
|
|
172
|
-
return new _Expr(ExprData.BinOp("And" /* And */, a, b));
|
|
173
|
-
}
|
|
174
|
-
isNull() {
|
|
175
|
-
return unop(this, "IsNull" /* IsNull */);
|
|
176
|
-
}
|
|
177
|
-
isNotNull() {
|
|
178
|
-
return this.isNull().not();
|
|
179
|
-
}
|
|
180
|
-
isNot(that) {
|
|
181
|
-
if (that == null || that instanceof _Expr && isConstant(that.expr, null))
|
|
182
|
-
return this.isNotNull();
|
|
183
|
-
return binop(this, "NotEquals" /* NotEquals */, that);
|
|
184
|
-
}
|
|
185
|
-
is(that) {
|
|
186
|
-
if (that === null || that instanceof _Expr && isConstant(that.expr, null))
|
|
187
|
-
return this.isNull();
|
|
188
|
-
return binop(this, "Equals" /* Equals */, that);
|
|
189
|
-
}
|
|
190
|
-
isIn(that) {
|
|
191
|
-
return binop(this, "In" /* In */, that);
|
|
192
|
-
}
|
|
193
|
-
isNotIn(that) {
|
|
194
|
-
return binop(this, "NotIn" /* NotIn */, that);
|
|
195
|
-
}
|
|
196
|
-
add(that) {
|
|
197
|
-
return binop(this, "Add" /* Add */, that);
|
|
198
|
-
}
|
|
199
|
-
substract(that) {
|
|
200
|
-
return binop(this, "Subt" /* Subt */, that);
|
|
201
|
-
}
|
|
202
|
-
multiply(that) {
|
|
203
|
-
return binop(this, "Mult" /* Mult */, that);
|
|
204
|
-
}
|
|
205
|
-
remainder(that) {
|
|
206
|
-
return binop(this, "Mod" /* Mod */, that);
|
|
207
|
-
}
|
|
208
|
-
divide(that) {
|
|
209
|
-
return binop(this, "Div" /* Div */, that);
|
|
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);
|
|
222
|
-
}
|
|
223
|
-
concat(that) {
|
|
224
|
-
return binop(this, "Concat" /* Concat */, that);
|
|
225
|
-
}
|
|
226
|
-
like(that) {
|
|
227
|
-
return binop(this, "Like" /* Like */, that);
|
|
228
|
-
}
|
|
229
|
-
glob(that) {
|
|
230
|
-
return binop(this, "Glob" /* Glob */, that);
|
|
231
|
-
}
|
|
232
|
-
match(that) {
|
|
233
|
-
return binop(this, "Match" /* Match */, that);
|
|
234
|
-
}
|
|
235
|
-
with(that) {
|
|
236
|
-
return new _Expr(
|
|
237
|
-
ExprData.Merge(this.expr, ExprData.create(that))
|
|
238
|
-
);
|
|
239
|
-
}
|
|
240
|
-
at(index) {
|
|
241
|
-
return this.get(`[${Number(index)}]`);
|
|
242
|
-
}
|
|
243
|
-
filter(fn) {
|
|
244
|
-
const alias = `__${Math.random().toString(36).slice(2, 9)}`;
|
|
245
|
-
const target = Target.Each(this.expr, alias);
|
|
246
|
-
return new _Expr(
|
|
247
|
-
ExprData.Filter(
|
|
248
|
-
target,
|
|
249
|
-
ExprData.create(fn(new _Expr(ExprData.Row(target))))
|
|
250
|
-
)
|
|
251
|
-
);
|
|
252
|
-
}
|
|
253
|
-
map(fn) {
|
|
254
|
-
const alias = `__${Math.random().toString(36).slice(2, 9)}`;
|
|
255
|
-
const target = Target.Each(this.expr, alias);
|
|
256
|
-
return new _Expr(
|
|
257
|
-
ExprData.Map(
|
|
258
|
-
target,
|
|
259
|
-
ExprData.create(fn(new _Expr(ExprData.Row(target))))
|
|
260
|
-
)
|
|
261
|
-
);
|
|
262
|
-
}
|
|
263
|
-
sure() {
|
|
264
|
-
return this;
|
|
265
|
-
}
|
|
266
|
-
get(name) {
|
|
267
|
-
return new _Expr(ExprData.Field(this.expr, name));
|
|
268
|
-
}
|
|
269
|
-
};
|
|
270
|
-
var Expr = _Expr;
|
|
271
|
-
__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
|
-
export {
|
|
279
|
-
BinOp,
|
|
280
|
-
Expr,
|
|
281
|
-
ExprData,
|
|
282
|
-
ExprType,
|
|
283
|
-
UnOp
|
|
284
|
-
};
|
package/dist/Fields.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Column } from './Column';
|
|
2
|
-
import { Expr } from './Expr';
|
|
3
|
-
type Field<T> = [T] extends [Array<any>] ? Expr<T> : [T] extends [Column.Primary<infer K, infer V>] ? Expr<string extends K ? V : V & {
|
|
4
|
-
[Column.isPrimary]: K;
|
|
5
|
-
}> : [T] extends [Column.Optional<infer V>] ? Field<V> : [T] extends [number | string | boolean] ? Expr<T> : [T] extends [Record<string, any>] ? FieldsOf<T> : Expr<T>;
|
|
6
|
-
type FieldsOf<Row> = Row extends Record<string, any> ? {
|
|
7
|
-
[K in keyof Row]-?: Field<Row[K]>;
|
|
8
|
-
} : never;
|
|
9
|
-
type IsStrictlyAny<T> = (T extends never ? true : false) extends false ? false : true;
|
|
10
|
-
export type Fields<T> = IsStrictlyAny<T> extends true ? any : Field<T>;
|
|
11
|
-
export {};
|
package/dist/Fields.js
DELETED
|
File without changes
|
package/dist/Formatter.d.ts
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
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
|
-
formatAsJson?: boolean;
|
|
12
|
-
formatSubject?: (subject: Statement) => Statement;
|
|
13
|
-
}
|
|
14
|
-
export declare abstract class Formatter implements Sanitizer {
|
|
15
|
-
constructor();
|
|
16
|
-
abstract escapeValue(value: any): string;
|
|
17
|
-
abstract escapeIdentifier(ident: string): string;
|
|
18
|
-
abstract formatSqlAccess(on: Statement, field: string): Statement;
|
|
19
|
-
abstract formatJsonAccess(on: Statement, field: string): Statement;
|
|
20
|
-
formatAccess(on: Statement, field: string, formatAsJson?: boolean): Statement;
|
|
21
|
-
compile<T>(query: Query<T>, formatInline?: boolean): Statement.Compiled;
|
|
22
|
-
format<T>(query: Query<T>, ctx?: FormatContext): Statement;
|
|
23
|
-
formatSelect(query: Query.Select, ctx: FormatContext): Statement;
|
|
24
|
-
formatInsert(query: Query.Insert, ctx: FormatContext): Statement;
|
|
25
|
-
formatUpdate(query: Query.Update, ctx: FormatContext): Statement;
|
|
26
|
-
formatDelete(query: Query.Delete, ctx: FormatContext): Statement;
|
|
27
|
-
formatCreateTable(query: Query.CreateTable, ctx: FormatContext): Statement;
|
|
28
|
-
formatCreateIndex(query: Query.CreateIndex, ctx?: FormatContext): Statement;
|
|
29
|
-
formatDropIndex(query: Query.DropIndex, ctx: FormatContext): Statement;
|
|
30
|
-
formatAlterTable(query: Query.AlterTable, ctx: FormatContext): Statement;
|
|
31
|
-
formatTransaction({ op, id }: Query.Transaction, ctx: FormatContext): Statement;
|
|
32
|
-
formatBatch(queries: Query[], ctx: FormatContext): Statement;
|
|
33
|
-
formatRaw({ strings, params }: Query.Raw, ctx: FormatContext): Statement;
|
|
34
|
-
formatColumn(column: ColumnData): Statement;
|
|
35
|
-
formatContraintReference(reference: ExprData): Statement;
|
|
36
|
-
formatType(type: ColumnType): Statement;
|
|
37
|
-
formatInsertRow(columns: Record<string, ColumnData>, row: Record<string, any>): Statement;
|
|
38
|
-
formatColumnValue(column: ColumnData, columnValue: any): Statement;
|
|
39
|
-
formatTarget(target: Target, ctx: FormatContext): Statement;
|
|
40
|
-
formatWhere(expr: ExprData | undefined, ctx: FormatContext): Statement | undefined;
|
|
41
|
-
formatHaving(expr: ExprData | undefined, ctx: FormatContext): Statement | undefined;
|
|
42
|
-
formatGroupBy(groupBy: Array<ExprData> | undefined, ctx: FormatContext): Statement | undefined;
|
|
43
|
-
formatOrderBy(orderBy: Array<OrderBy> | undefined, ctx: FormatContext): Statement | undefined;
|
|
44
|
-
formatLimit({ limit, offset, singleResult }: Query.QueryBase, ctx: FormatContext): Statement | undefined;
|
|
45
|
-
formatSelection(selection: ExprData, ctx: FormatContext): Statement;
|
|
46
|
-
formatExprValue(expr: ExprData, ctx: FormatContext): Statement;
|
|
47
|
-
formatIn(expr: ExprData, ctx: FormatContext): Statement;
|
|
48
|
-
formatUnwrapArray(stmt: Statement): Statement;
|
|
49
|
-
retrieveField(expr: ExprData, field: string): ExprData | undefined;
|
|
50
|
-
formatField(expr: ExprData, field: string, ctx: FormatContext): Statement;
|
|
51
|
-
formatString(input: string): Statement;
|
|
52
|
-
formatInlineValue(rawValue: any): Statement;
|
|
53
|
-
formatValue(rawValue: any, formatAsJson?: boolean): Statement;
|
|
54
|
-
formatExpr(expr: ExprData, ctx: FormatContext): Statement;
|
|
55
|
-
}
|