rado 0.1.60 → 0.1.62

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.
Files changed (149) hide show
  1. package/dist/CPU.20230126.092143.12244.0.001.cpuprofile +1 -0
  2. package/dist/Column.d.ts +54 -0
  3. package/dist/Column.js +63 -0
  4. package/dist/Cursor.d.ts +77 -0
  5. package/dist/Cursor.js +221 -0
  6. package/dist/Driver.d.ts +89 -0
  7. package/dist/Driver.js +262 -0
  8. package/dist/Expr.d.ts +149 -0
  9. package/dist/Expr.js +284 -0
  10. package/dist/Fields.d.ts +11 -0
  11. package/dist/Fields.js +0 -0
  12. package/dist/Formatter.d.ts +55 -0
  13. package/dist/Formatter.js +496 -0
  14. package/dist/Functions.d.ts +7 -0
  15. package/dist/Functions.js +11 -0
  16. package/dist/Id.d.ts +3 -0
  17. package/dist/Id.js +0 -0
  18. package/dist/Ops.d.ts +8 -0
  19. package/dist/Ops.js +45 -0
  20. package/dist/OrderBy.d.ts +9 -0
  21. package/dist/OrderBy.js +9 -0
  22. package/dist/Param.d.ts +15 -0
  23. package/dist/Param.js +18 -0
  24. package/dist/Query.d.ts +107 -0
  25. package/dist/Query.js +74 -0
  26. package/dist/Sanitizer.d.ts +4 -0
  27. package/dist/Sanitizer.js +0 -0
  28. package/dist/Schema.d.ts +23 -0
  29. package/dist/Schema.js +60 -0
  30. package/dist/Selection.d.ts +20 -0
  31. package/dist/Selection.js +7 -0
  32. package/dist/Statement.d.ts +57 -0
  33. package/dist/Statement.js +184 -0
  34. package/dist/Table.d.ts +56 -0
  35. package/dist/Table.js +104 -0
  36. package/dist/Target.d.ts +30 -0
  37. package/dist/Target.js +37 -0
  38. package/dist/Update.d.ts +4 -0
  39. package/dist/Update.js +0 -0
  40. package/dist/define/Column.d.ts +58 -58
  41. package/dist/define/Cursor.d.ts +87 -87
  42. package/dist/define/Expr.d.ts +172 -154
  43. package/dist/define/Expr.js +31 -31
  44. package/dist/define/Fields.d.ts +13 -13
  45. package/dist/define/Functions.d.ts +5 -5
  46. package/dist/define/Id.d.ts +3 -3
  47. package/dist/define/Index.d.ts +17 -17
  48. package/dist/define/Ops.d.ts +7 -7
  49. package/dist/define/OrderBy.d.ts +9 -9
  50. package/dist/define/Param.d.ts +15 -15
  51. package/dist/define/Query.d.ts +109 -109
  52. package/dist/define/Schema.d.ts +18 -18
  53. package/dist/define/Selection.d.ts +20 -20
  54. package/dist/define/Table.d.ts +62 -62
  55. package/dist/define/Target.d.ts +38 -38
  56. package/dist/define/Update.d.ts +4 -4
  57. package/dist/driver/better-sqlite3.d.ts +15 -15
  58. package/dist/driver/bun-sqlite.d.ts +18 -18
  59. package/dist/driver/sql.js.d.ts +15 -15
  60. package/dist/driver/sqlite3.d.ts +18 -18
  61. package/dist/index.d.ts +21 -21
  62. package/dist/lib/Column.d.ts +57 -0
  63. package/dist/lib/Column.js +63 -0
  64. package/dist/lib/Cursor.d.ts +79 -0
  65. package/dist/lib/Cursor.js +231 -0
  66. package/dist/lib/Driver.d.ts +110 -110
  67. package/dist/lib/Expr.d.ts +154 -0
  68. package/dist/lib/Expr.js +284 -0
  69. package/dist/lib/Fields.d.ts +13 -0
  70. package/dist/lib/Fields.js +0 -0
  71. package/dist/lib/Formatter.d.ts +81 -80
  72. package/dist/lib/Formatter.js +59 -54
  73. package/dist/lib/Functions.d.ts +5 -0
  74. package/dist/lib/Functions.js +11 -0
  75. package/dist/lib/Id.d.ts +3 -0
  76. package/dist/lib/Id.js +0 -0
  77. package/dist/lib/Index.d.ts +17 -0
  78. package/dist/lib/Index.js +20 -0
  79. package/dist/lib/Ops.d.ts +8 -0
  80. package/dist/lib/Ops.js +45 -0
  81. package/dist/lib/OrderBy.d.ts +9 -0
  82. package/dist/lib/OrderBy.js +9 -0
  83. package/dist/lib/Param.d.ts +20 -0
  84. package/dist/lib/Param.js +27 -0
  85. package/dist/lib/Query.d.ts +109 -0
  86. package/dist/lib/Query.js +74 -0
  87. package/dist/lib/Sanitizer.d.ts +5 -5
  88. package/dist/lib/Schema.d.ts +18 -0
  89. package/dist/lib/Schema.js +67 -0
  90. package/dist/lib/Selection.d.ts +20 -0
  91. package/dist/lib/Selection.js +7 -0
  92. package/dist/lib/SqlError.d.ts +3 -3
  93. package/dist/lib/Statement.d.ts +33 -33
  94. package/dist/lib/Table.d.ts +62 -0
  95. package/dist/lib/Table.js +130 -0
  96. package/dist/lib/Target.d.ts +30 -0
  97. package/dist/lib/Target.js +37 -0
  98. package/dist/lib/Update.d.ts +4 -0
  99. package/dist/lib/Update.js +0 -0
  100. package/dist/sqlite/SqliteFormatter.d.ts +11 -11
  101. package/dist/sqlite/SqliteFunctions.d.ts +165 -165
  102. package/dist/sqlite/SqliteSchema.d.ts +25 -25
  103. package/dist/sqlite/index.d.ts +2 -0
  104. package/dist/sqlite/index.js +3 -0
  105. package/dist/sqlite.d.ts +2 -2
  106. package/dist/src/driver/better-sqlite3.js +49 -0
  107. package/dist/src/driver/sql.js.js +66 -0
  108. package/dist/src/driver/sqlite3.js +87 -0
  109. package/dist/src/index.js +24 -0
  110. package/dist/src/lib/Column.js +63 -0
  111. package/dist/src/lib/Cursor.js +231 -0
  112. package/dist/src/lib/Driver.js +316 -0
  113. package/dist/src/lib/Expr.js +284 -0
  114. package/dist/src/lib/Fields.js +0 -0
  115. package/dist/src/lib/Formatter.js +625 -0
  116. package/dist/src/lib/Functions.js +11 -0
  117. package/dist/src/lib/Id.js +0 -0
  118. package/dist/src/lib/Index.js +20 -0
  119. package/dist/src/lib/Ops.js +45 -0
  120. package/dist/src/lib/OrderBy.js +9 -0
  121. package/dist/src/lib/Param.js +27 -0
  122. package/dist/src/lib/Query.js +74 -0
  123. package/dist/src/lib/Sanitizer.js +0 -0
  124. package/dist/src/lib/Schema.js +67 -0
  125. package/dist/src/lib/Selection.js +7 -0
  126. package/dist/src/lib/Statement.js +103 -0
  127. package/dist/src/lib/Table.js +130 -0
  128. package/dist/src/lib/Target.js +37 -0
  129. package/dist/src/lib/Update.js +0 -0
  130. package/dist/src/sqlite/SqliteFormatter.js +67 -0
  131. package/dist/src/sqlite/SqliteFunctions.js +146 -0
  132. package/dist/src/sqlite/SqliteSchema.js +47 -0
  133. package/dist/src/sqlite.js +3 -0
  134. package/dist/test/DbSuite.js +28 -0
  135. package/dist/test/TSTestTypes.js +6 -0
  136. package/dist/test/TestBasic.js +172 -0
  137. package/dist/test/TestExtend.js +68 -0
  138. package/dist/test/TestFts5.js +34 -0
  139. package/dist/test/TestFunctions.js +28 -0
  140. package/dist/test/TestJoins.js +34 -0
  141. package/dist/test/TestJson.js +33 -0
  142. package/dist/test/TestPrepare.js +27 -0
  143. package/dist/test/TestRawSql.js +31 -0
  144. package/dist/test/TestSchema.js +69 -0
  145. package/dist/test/TestSubQueries.js +79 -0
  146. package/dist/test/TestTransaction.js +54 -0
  147. package/dist/test/TestUpdate.js +95 -0
  148. package/dist/test/index.js +14 -0
  149. package/package.json +60 -60
@@ -1,154 +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 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
- in(that: EV<Array<T>> | Cursor.SelectMultiple<T>): Expr<boolean>;
129
- notIn(that: EV<Array<T>> | Cursor.SelectMultiple<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 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
+ }
@@ -9,33 +9,33 @@ var __publicField = (obj, key, value) => {
9
9
  import { OrderDirection } from "./OrderBy.js";
10
10
  import { ParamData, ParamType } from "./Param.js";
11
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 || {});
12
+ var UnOpType = /* @__PURE__ */ ((UnOpType2) => {
13
+ UnOpType2["Not"] = "Not";
14
+ UnOpType2["IsNull"] = "IsNull";
15
+ return UnOpType2;
16
+ })(UnOpType || {});
17
+ var BinOpType = /* @__PURE__ */ ((BinOpType2) => {
18
+ BinOpType2["Add"] = "Add";
19
+ BinOpType2["Subt"] = "Subt";
20
+ BinOpType2["Mult"] = "Mult";
21
+ BinOpType2["Mod"] = "Mod";
22
+ BinOpType2["Div"] = "Div";
23
+ BinOpType2["Greater"] = "Greater";
24
+ BinOpType2["GreaterOrEqual"] = "GreaterOrEqual";
25
+ BinOpType2["Less"] = "Less";
26
+ BinOpType2["LessOrEqual"] = "LessOrEqual";
27
+ BinOpType2["Equals"] = "Equals";
28
+ BinOpType2["NotEquals"] = "NotEquals";
29
+ BinOpType2["And"] = "And";
30
+ BinOpType2["Or"] = "Or";
31
+ BinOpType2["Like"] = "Like";
32
+ BinOpType2["Glob"] = "Glob";
33
+ BinOpType2["Match"] = "Match";
34
+ BinOpType2["In"] = "In";
35
+ BinOpType2["NotIn"] = "NotIn";
36
+ BinOpType2["Concat"] = "Concat";
37
+ return BinOpType2;
38
+ })(BinOpType || {});
39
39
  var ExprType = /* @__PURE__ */ ((ExprType2) => {
40
40
  ExprType2["UnOp"] = "UnOp";
41
41
  ExprType2["BinOp"] = "BinOp";
@@ -113,7 +113,7 @@ function isConstant(e, value) {
113
113
  case "Param" /* Param */:
114
114
  switch (e.param.type) {
115
115
  case ParamType.Value:
116
- return e.param.value == value;
116
+ return e.param.value === value;
117
117
  default:
118
118
  return false;
119
119
  }
@@ -178,7 +178,7 @@ var _Expr = class {
178
178
  return this.isNull().not();
179
179
  }
180
180
  isNot(that) {
181
- if (that == null || that instanceof _Expr && isConstant(that.expr, null))
181
+ if (that === null || that instanceof _Expr && isConstant(that.expr, null))
182
182
  return this.isNotNull();
183
183
  return binop(this, "NotEquals" /* NotEquals */, that);
184
184
  }
@@ -276,9 +276,9 @@ function binop(self, type, that) {
276
276
  return new Expr(ExprData.BinOp(type, self.expr, toExpr(that)));
277
277
  }
278
278
  export {
279
- BinOp,
279
+ BinOpType,
280
280
  Expr,
281
281
  ExprData,
282
282
  ExprType,
283
- UnOp
283
+ UnOpType
284
284
  };
@@ -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
+ };
@@ -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;
@@ -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 {};
@@ -1,7 +1,7 @@
1
- import { Cursor } from './Cursor';
2
- import { Table } from './Table';
3
- export declare function from<Row>(source: Table<Row> | Cursor.SelectMultiple<Row>): Cursor.SelectMultiple<Row>;
4
- export declare function update<Row>(table: Table<Row>): Cursor.Update<Row>;
5
- export declare function insertInto<Row>(table: Table<Row>): Cursor.Insert<Row>;
6
- export declare function deleteFrom<Row>(table: Table<Row>): Cursor.Delete;
7
- export declare function create(...tables: Array<Table<any>>): Cursor.Batch;
1
+ import { Cursor } from './Cursor';
2
+ import { Table } from './Table';
3
+ export declare function from<Row>(source: Table<Row> | Cursor.SelectMultiple<Row>): Cursor.SelectMultiple<Row>;
4
+ export declare function update<Row>(table: Table<Row>): Cursor.Update<Row>;
5
+ export declare function insertInto<Row>(table: Table<Row>): Cursor.Insert<Row>;
6
+ export declare function deleteFrom<Row>(table: Table<Row>): Cursor.Delete;
7
+ export declare function create(...tables: Array<Table<any>>): Cursor.Batch;
@@ -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
+ };
@@ -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
+ };