@spinajs/orm 2.0.180 → 2.0.182
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/lib/cjs/builders.d.ts +643 -643
- package/lib/cjs/builders.js +1602 -1602
- package/lib/cjs/builders.js.map +1 -1
- package/lib/cjs/converters.d.ts +34 -34
- package/lib/cjs/converters.js +104 -104
- package/lib/cjs/decorators.d.ts +152 -152
- package/lib/cjs/decorators.js +449 -449
- package/lib/cjs/dehydrators.d.ts +10 -10
- package/lib/cjs/dehydrators.js +47 -47
- package/lib/cjs/driver.d.ts +82 -82
- package/lib/cjs/driver.js +102 -102
- package/lib/cjs/driver.js.map +1 -1
- package/lib/cjs/enums.d.ts +116 -116
- package/lib/cjs/enums.js +126 -126
- package/lib/cjs/enums.js.map +1 -1
- package/lib/cjs/exceptions.d.ts +6 -6
- package/lib/cjs/exceptions.js +10 -10
- package/lib/cjs/hydrators.d.ts +19 -19
- package/lib/cjs/hydrators.js +132 -132
- package/lib/cjs/hydrators.js.map +1 -1
- package/lib/cjs/index.d.ts +17 -17
- package/lib/cjs/index.js +33 -33
- package/lib/cjs/interfaces.d.ts +921 -919
- package/lib/cjs/interfaces.d.ts.map +1 -1
- package/lib/cjs/interfaces.js +279 -279
- package/lib/cjs/interfaces.js.map +1 -1
- package/lib/cjs/middlewares.d.ts +62 -62
- package/lib/cjs/middlewares.js +258 -258
- package/lib/cjs/model.d.ts +288 -284
- package/lib/cjs/model.d.ts.map +1 -1
- package/lib/cjs/model.js +826 -810
- package/lib/cjs/model.js.map +1 -1
- package/lib/cjs/orm.d.ts +61 -61
- package/lib/cjs/orm.js +333 -333
- package/lib/cjs/orm.js.map +1 -1
- package/lib/cjs/relation-objects.d.ts +108 -108
- package/lib/cjs/relation-objects.js +221 -221
- package/lib/cjs/relations.d.ts +61 -61
- package/lib/cjs/relations.js +194 -194
- package/lib/cjs/relations.js.map +1 -1
- package/lib/cjs/statements.d.ts +143 -143
- package/lib/cjs/statements.js +309 -309
- package/lib/cjs/statements.js.map +1 -1
- package/lib/cjs/types.d.ts +32 -32
- package/lib/cjs/types.js +2 -2
- package/lib/cjs/wrappers.d.ts +5 -5
- package/lib/cjs/wrappers.js +12 -12
- package/lib/mjs/builders.d.ts +643 -643
- package/lib/mjs/builders.js +1594 -1594
- package/lib/mjs/builders.js.map +1 -1
- package/lib/mjs/converters.d.ts +34 -34
- package/lib/mjs/converters.js +96 -96
- package/lib/mjs/decorators.d.ts +152 -152
- package/lib/mjs/decorators.js +422 -422
- package/lib/mjs/dehydrators.d.ts +10 -10
- package/lib/mjs/dehydrators.js +41 -41
- package/lib/mjs/driver.d.ts +82 -82
- package/lib/mjs/driver.js +98 -98
- package/lib/mjs/driver.js.map +1 -1
- package/lib/mjs/enums.d.ts +116 -116
- package/lib/mjs/enums.js +123 -123
- package/lib/mjs/enums.js.map +1 -1
- package/lib/mjs/exceptions.d.ts +6 -6
- package/lib/mjs/exceptions.js +6 -6
- package/lib/mjs/hydrators.d.ts +19 -19
- package/lib/mjs/hydrators.js +128 -128
- package/lib/mjs/hydrators.js.map +1 -1
- package/lib/mjs/index.d.ts +17 -17
- package/lib/mjs/index.js +17 -17
- package/lib/mjs/interfaces.d.ts +921 -919
- package/lib/mjs/interfaces.d.ts.map +1 -1
- package/lib/mjs/interfaces.js +267 -267
- package/lib/mjs/interfaces.js.map +1 -1
- package/lib/mjs/middlewares.d.ts +62 -62
- package/lib/mjs/middlewares.js +249 -249
- package/lib/mjs/model.d.ts +288 -284
- package/lib/mjs/model.d.ts.map +1 -1
- package/lib/mjs/model.js +816 -800
- package/lib/mjs/model.js.map +1 -1
- package/lib/mjs/orm.d.ts +61 -61
- package/lib/mjs/orm.js +326 -326
- package/lib/mjs/orm.js.map +1 -1
- package/lib/mjs/relation-objects.d.ts +108 -108
- package/lib/mjs/relation-objects.js +211 -211
- package/lib/mjs/relations.d.ts +61 -61
- package/lib/mjs/relations.js +191 -191
- package/lib/mjs/relations.js.map +1 -1
- package/lib/mjs/statements.d.ts +143 -143
- package/lib/mjs/statements.js +301 -301
- package/lib/mjs/statements.js.map +1 -1
- package/lib/mjs/types.d.ts +32 -32
- package/lib/mjs/types.js +1 -1
- package/lib/mjs/wrappers.d.ts +5 -5
- package/lib/mjs/wrappers.js +9 -9
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +5 -5
package/lib/mjs/statements.js
CHANGED
|
@@ -1,302 +1,302 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import { ColumnMethods, SqlOperator, JoinMethod } from './enums.js';
|
|
11
|
-
import { NewInstance, Container, Inject } from '@spinajs/di';
|
|
12
|
-
import _ from 'lodash';
|
|
13
|
-
import { extractModelDescriptor } from './model.js';
|
|
14
|
-
import { OrmException } from './exceptions.js';
|
|
15
|
-
export class QueryStatement {
|
|
16
|
-
get TableAlias() {
|
|
17
|
-
return this._tableAlias;
|
|
18
|
-
}
|
|
19
|
-
set TableAlias(alias) {
|
|
20
|
-
this._tableAlias = alias;
|
|
21
|
-
}
|
|
22
|
-
constructor(tableAlias) {
|
|
23
|
-
this._tableAlias = tableAlias;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
let RawQueryStatement = class RawQueryStatement extends QueryStatement {
|
|
27
|
-
constructor(query, bindings) {
|
|
28
|
-
super();
|
|
29
|
-
this._query = query || '';
|
|
30
|
-
this._bindings = bindings || [];
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
RawQueryStatement = __decorate([
|
|
34
|
-
NewInstance(),
|
|
35
|
-
__metadata("design:paramtypes", [String, Array])
|
|
36
|
-
], RawQueryStatement);
|
|
37
|
-
export { RawQueryStatement };
|
|
38
|
-
let WithRecursiveStatement = class WithRecursiveStatement extends QueryStatement {
|
|
39
|
-
constructor(container, _name, _query, _rcKeyName, _pkName) {
|
|
40
|
-
super(null);
|
|
41
|
-
this.container = container;
|
|
42
|
-
this._name = _name;
|
|
43
|
-
this._query = _query;
|
|
44
|
-
this._rcKeyName = _rcKeyName;
|
|
45
|
-
this._pkName = _pkName;
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
WithRecursiveStatement = __decorate([
|
|
49
|
-
NewInstance(),
|
|
50
|
-
Inject(Container),
|
|
51
|
-
__metadata("design:paramtypes", [Object, String, Function, String, String])
|
|
52
|
-
], WithRecursiveStatement);
|
|
53
|
-
export { WithRecursiveStatement };
|
|
54
|
-
let GroupByStatement = class GroupByStatement extends QueryStatement {
|
|
55
|
-
constructor(expression, tableAlias) {
|
|
56
|
-
super(tableAlias);
|
|
57
|
-
this._expr = expression || null;
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
GroupByStatement = __decorate([
|
|
61
|
-
NewInstance(),
|
|
62
|
-
__metadata("design:paramtypes", [Object, String])
|
|
63
|
-
], GroupByStatement);
|
|
64
|
-
export { GroupByStatement };
|
|
65
|
-
let BetweenStatement = class BetweenStatement extends QueryStatement {
|
|
66
|
-
constructor(column, val, not, tableAlias) {
|
|
67
|
-
super(tableAlias);
|
|
68
|
-
this._val = val || [];
|
|
69
|
-
this._not = not || false;
|
|
70
|
-
this._column = column || '';
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
BetweenStatement = __decorate([
|
|
74
|
-
NewInstance(),
|
|
75
|
-
__metadata("design:paramtypes", [String, Array, Boolean, String])
|
|
76
|
-
], BetweenStatement);
|
|
77
|
-
export { BetweenStatement };
|
|
78
|
-
let WhereQueryStatement = class WhereQueryStatement extends QueryStatement {
|
|
79
|
-
constructor(builder, tableAlias) {
|
|
80
|
-
super(tableAlias);
|
|
81
|
-
this._builder = builder;
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
WhereQueryStatement = __decorate([
|
|
85
|
-
NewInstance(),
|
|
86
|
-
__metadata("design:paramtypes", [Function, String])
|
|
87
|
-
], WhereQueryStatement);
|
|
88
|
-
export { WhereQueryStatement };
|
|
89
|
-
let WhereStatement = class WhereStatement extends QueryStatement {
|
|
90
|
-
get Column() {
|
|
91
|
-
return this._column;
|
|
92
|
-
}
|
|
93
|
-
get Operator() {
|
|
94
|
-
return this._operator;
|
|
95
|
-
}
|
|
96
|
-
get Value() {
|
|
97
|
-
return this._value;
|
|
98
|
-
}
|
|
99
|
-
constructor(column, operator, value, tableAlias, container, model) {
|
|
100
|
-
super(tableAlias);
|
|
101
|
-
this._column = column;
|
|
102
|
-
this._operator = operator;
|
|
103
|
-
this._value = value;
|
|
104
|
-
this._container = container;
|
|
105
|
-
this._model = model;
|
|
106
|
-
}
|
|
107
|
-
};
|
|
108
|
-
WhereStatement = __decorate([
|
|
109
|
-
NewInstance(),
|
|
110
|
-
__metadata("design:paramtypes", [String, String, Object, String, Container, Object])
|
|
111
|
-
], WhereStatement);
|
|
112
|
-
export { WhereStatement };
|
|
113
|
-
let Wrap = class Wrap {
|
|
114
|
-
constructor(column, wrapper) {
|
|
115
|
-
this.Column = column;
|
|
116
|
-
this.Wrapper = wrapper;
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
Wrap = __decorate([
|
|
120
|
-
NewInstance(),
|
|
121
|
-
__metadata("design:paramtypes", [String, Object])
|
|
122
|
-
], Wrap);
|
|
123
|
-
export { Wrap };
|
|
124
|
-
let WrapStatement = class WrapStatement {
|
|
125
|
-
constructor(value, tableAlias) {
|
|
126
|
-
this._tableAlias = tableAlias;
|
|
127
|
-
this._value = value;
|
|
128
|
-
}
|
|
129
|
-
};
|
|
130
|
-
WrapStatement = __decorate([
|
|
131
|
-
NewInstance(),
|
|
132
|
-
__metadata("design:paramtypes", [Object, String])
|
|
133
|
-
], WrapStatement);
|
|
134
|
-
export { WrapStatement };
|
|
135
|
-
let DateWrapper = class DateWrapper extends WrapStatement {
|
|
136
|
-
};
|
|
137
|
-
DateWrapper = __decorate([
|
|
138
|
-
NewInstance()
|
|
139
|
-
], DateWrapper);
|
|
140
|
-
export { DateWrapper };
|
|
141
|
-
let DateTimeWrapper = class DateTimeWrapper extends WrapStatement {
|
|
142
|
-
};
|
|
143
|
-
DateTimeWrapper = __decorate([
|
|
144
|
-
NewInstance()
|
|
145
|
-
], DateTimeWrapper);
|
|
146
|
-
export { DateTimeWrapper };
|
|
147
|
-
let JoinStatement = class JoinStatement extends QueryStatement {
|
|
148
|
-
constructor(builder, sourceModel, table, method, foreignKey, primaryKey, alias, tableAlias, database) {
|
|
149
|
-
super(tableAlias);
|
|
150
|
-
this._method = method;
|
|
151
|
-
this._builder = builder;
|
|
152
|
-
if (_.isString(foreignKey)) {
|
|
153
|
-
this._foreignKey = foreignKey;
|
|
154
|
-
}
|
|
155
|
-
if (_.isString(table)) {
|
|
156
|
-
this._table = table;
|
|
157
|
-
this._primaryKey = primaryKey;
|
|
158
|
-
this._alias = tableAlias;
|
|
159
|
-
this._tableAlias = alias;
|
|
160
|
-
this._database = database;
|
|
161
|
-
}
|
|
162
|
-
else if (table.constructor.name === 'RawQuery') {
|
|
163
|
-
this._query = table;
|
|
164
|
-
}
|
|
165
|
-
else {
|
|
166
|
-
this._model = table;
|
|
167
|
-
this._sourceModel = sourceModel;
|
|
168
|
-
const sDesc = extractModelDescriptor(this._sourceModel);
|
|
169
|
-
const tDesc = extractModelDescriptor(this._model);
|
|
170
|
-
const sAlias = `${sDesc.Driver.Options.AliasSeparator}${sDesc.Name}${sDesc.Driver.Options.AliasSeparator}`;
|
|
171
|
-
this._tableAlias = `${sDesc.Driver.Options.AliasSeparator}${tDesc.Name}${sDesc.Driver.Options.AliasSeparator}`;
|
|
172
|
-
this._database = tDesc.Driver.Options.Database;
|
|
173
|
-
if (!this._builder.TableAlias) {
|
|
174
|
-
this._builder.setAlias(sAlias);
|
|
175
|
-
}
|
|
176
|
-
if (_.isFunction(foreignKey)) {
|
|
177
|
-
this._whereCallback = foreignKey;
|
|
178
|
-
const driver = this._builder.Driver;
|
|
179
|
-
const cnt = driver.Container;
|
|
180
|
-
this._database = driver.Options.Database;
|
|
181
|
-
this._whereBuilder = cnt.resolve('SelectQueryBuilder', [driver, this._model, this]);
|
|
182
|
-
this._whereBuilder.setAlias(this._tableAlias);
|
|
183
|
-
this._whereCallback.call(this._whereBuilder, [this]);
|
|
184
|
-
this._builder.mergeBuilder(this._whereBuilder);
|
|
185
|
-
}
|
|
186
|
-
const relation = Array.from(sDesc.Relations, ([key, value]) => ({ key, value })).find((x) => x.value.TargetModel.name === this._model.name);
|
|
187
|
-
if (!relation) {
|
|
188
|
-
throw new OrmException(`Cannot find relation between ${this._model.name} and ${this._sourceModel.name}, thus cannot perform join statement`);
|
|
189
|
-
}
|
|
190
|
-
this._table = tDesc.TableName;
|
|
191
|
-
this._primaryKey = relation.value.ForeignKey;
|
|
192
|
-
this._alias = sAlias;
|
|
193
|
-
this._foreignKey = sDesc.PrimaryKey;
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
};
|
|
197
|
-
JoinStatement = __decorate([
|
|
198
|
-
NewInstance(),
|
|
199
|
-
__metadata("design:paramtypes", [Function, Object, Object, String, Object, String, String, String, String])
|
|
200
|
-
], JoinStatement);
|
|
201
|
-
export { JoinStatement };
|
|
202
|
-
let InStatement = class InStatement extends QueryStatement {
|
|
203
|
-
constructor(column, val, not, tableAlias) {
|
|
204
|
-
super(tableAlias);
|
|
205
|
-
this._val = val || [];
|
|
206
|
-
this._not = not || false;
|
|
207
|
-
this._column = column || '';
|
|
208
|
-
}
|
|
209
|
-
};
|
|
210
|
-
InStatement = __decorate([
|
|
211
|
-
NewInstance(),
|
|
212
|
-
__metadata("design:paramtypes", [String, Array, Boolean, String])
|
|
213
|
-
], InStatement);
|
|
214
|
-
export { InStatement };
|
|
215
|
-
let SelectQueryStatement = class SelectQueryStatement extends QueryStatement {
|
|
216
|
-
constructor(builder, tableAlias) {
|
|
217
|
-
super(tableAlias);
|
|
218
|
-
this._builder = builder;
|
|
219
|
-
}
|
|
220
|
-
};
|
|
221
|
-
SelectQueryStatement = __decorate([
|
|
222
|
-
NewInstance(),
|
|
223
|
-
__metadata("design:paramtypes", [Function, String])
|
|
224
|
-
], SelectQueryStatement);
|
|
225
|
-
export { SelectQueryStatement };
|
|
226
|
-
let ExistsQueryStatement = class ExistsQueryStatement extends SelectQueryStatement {
|
|
227
|
-
constructor(builder, not) {
|
|
228
|
-
super(builder);
|
|
229
|
-
this._not = not || false;
|
|
230
|
-
}
|
|
231
|
-
};
|
|
232
|
-
ExistsQueryStatement = __decorate([
|
|
233
|
-
NewInstance(),
|
|
234
|
-
__metadata("design:paramtypes", [Function, Boolean])
|
|
235
|
-
], ExistsQueryStatement);
|
|
236
|
-
export { ExistsQueryStatement };
|
|
237
|
-
let InSetStatement = class InSetStatement extends QueryStatement {
|
|
238
|
-
constructor(column, val, not, tableAlias) {
|
|
239
|
-
super(tableAlias);
|
|
240
|
-
this._val = val || [];
|
|
241
|
-
this._not = not || false;
|
|
242
|
-
this._column = column || '';
|
|
243
|
-
}
|
|
244
|
-
};
|
|
245
|
-
InSetStatement = __decorate([
|
|
246
|
-
NewInstance(),
|
|
247
|
-
__metadata("design:paramtypes", [String, Array, Boolean, String])
|
|
248
|
-
], InSetStatement);
|
|
249
|
-
export { InSetStatement };
|
|
250
|
-
let ColumnStatement = class ColumnStatement extends QueryStatement {
|
|
251
|
-
constructor(column, alias, tableAlias, descriptor) {
|
|
252
|
-
super(tableAlias);
|
|
253
|
-
this._column = column || '';
|
|
254
|
-
this._alias = alias || '';
|
|
255
|
-
this._tableAlias = tableAlias;
|
|
256
|
-
this._descriptor = descriptor;
|
|
257
|
-
}
|
|
258
|
-
get Descriptor() {
|
|
259
|
-
return this._descriptor;
|
|
260
|
-
}
|
|
261
|
-
get Column() {
|
|
262
|
-
return this._column;
|
|
263
|
-
}
|
|
264
|
-
get Alias() {
|
|
265
|
-
return this._alias;
|
|
266
|
-
}
|
|
267
|
-
get TableAlias() {
|
|
268
|
-
return this._tableAlias;
|
|
269
|
-
}
|
|
270
|
-
set TableAlias(alias) {
|
|
271
|
-
this._tableAlias = alias;
|
|
272
|
-
}
|
|
273
|
-
get IsWildcard() {
|
|
274
|
-
if (this._column.constructor.name === 'RawQuery') {
|
|
275
|
-
return false;
|
|
276
|
-
}
|
|
277
|
-
return this._column && this._column.trim() === '*';
|
|
278
|
-
}
|
|
279
|
-
};
|
|
280
|
-
ColumnStatement = __decorate([
|
|
281
|
-
NewInstance(),
|
|
282
|
-
__metadata("design:paramtypes", [Object, String, String, Object])
|
|
283
|
-
], ColumnStatement);
|
|
284
|
-
export { ColumnStatement };
|
|
285
|
-
export class ColumnRawStatement extends QueryStatement {
|
|
286
|
-
constructor(RawQuery) {
|
|
287
|
-
super();
|
|
288
|
-
this.RawQuery = RawQuery;
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
let ColumnMethodStatement = class ColumnMethodStatement extends ColumnStatement {
|
|
292
|
-
constructor(column, method, alias, tableAlias) {
|
|
293
|
-
super(column, alias, tableAlias, null);
|
|
294
|
-
this._method = method;
|
|
295
|
-
}
|
|
296
|
-
};
|
|
297
|
-
ColumnMethodStatement = __decorate([
|
|
298
|
-
NewInstance(),
|
|
299
|
-
__metadata("design:paramtypes", [String, String, String, String])
|
|
300
|
-
], ColumnMethodStatement);
|
|
301
|
-
export { ColumnMethodStatement };
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { ColumnMethods, SqlOperator, JoinMethod } from './enums.js';
|
|
11
|
+
import { NewInstance, Container, Inject } from '@spinajs/di';
|
|
12
|
+
import _ from 'lodash';
|
|
13
|
+
import { extractModelDescriptor } from './model.js';
|
|
14
|
+
import { OrmException } from './exceptions.js';
|
|
15
|
+
export class QueryStatement {
|
|
16
|
+
get TableAlias() {
|
|
17
|
+
return this._tableAlias;
|
|
18
|
+
}
|
|
19
|
+
set TableAlias(alias) {
|
|
20
|
+
this._tableAlias = alias;
|
|
21
|
+
}
|
|
22
|
+
constructor(tableAlias) {
|
|
23
|
+
this._tableAlias = tableAlias;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
let RawQueryStatement = class RawQueryStatement extends QueryStatement {
|
|
27
|
+
constructor(query, bindings) {
|
|
28
|
+
super();
|
|
29
|
+
this._query = query || '';
|
|
30
|
+
this._bindings = bindings || [];
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
RawQueryStatement = __decorate([
|
|
34
|
+
NewInstance(),
|
|
35
|
+
__metadata("design:paramtypes", [String, Array])
|
|
36
|
+
], RawQueryStatement);
|
|
37
|
+
export { RawQueryStatement };
|
|
38
|
+
let WithRecursiveStatement = class WithRecursiveStatement extends QueryStatement {
|
|
39
|
+
constructor(container, _name, _query, _rcKeyName, _pkName) {
|
|
40
|
+
super(null);
|
|
41
|
+
this.container = container;
|
|
42
|
+
this._name = _name;
|
|
43
|
+
this._query = _query;
|
|
44
|
+
this._rcKeyName = _rcKeyName;
|
|
45
|
+
this._pkName = _pkName;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
WithRecursiveStatement = __decorate([
|
|
49
|
+
NewInstance(),
|
|
50
|
+
Inject(Container),
|
|
51
|
+
__metadata("design:paramtypes", [Object, String, Function, String, String])
|
|
52
|
+
], WithRecursiveStatement);
|
|
53
|
+
export { WithRecursiveStatement };
|
|
54
|
+
let GroupByStatement = class GroupByStatement extends QueryStatement {
|
|
55
|
+
constructor(expression, tableAlias) {
|
|
56
|
+
super(tableAlias);
|
|
57
|
+
this._expr = expression || null;
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
GroupByStatement = __decorate([
|
|
61
|
+
NewInstance(),
|
|
62
|
+
__metadata("design:paramtypes", [Object, String])
|
|
63
|
+
], GroupByStatement);
|
|
64
|
+
export { GroupByStatement };
|
|
65
|
+
let BetweenStatement = class BetweenStatement extends QueryStatement {
|
|
66
|
+
constructor(column, val, not, tableAlias) {
|
|
67
|
+
super(tableAlias);
|
|
68
|
+
this._val = val || [];
|
|
69
|
+
this._not = not || false;
|
|
70
|
+
this._column = column || '';
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
BetweenStatement = __decorate([
|
|
74
|
+
NewInstance(),
|
|
75
|
+
__metadata("design:paramtypes", [String, Array, Boolean, String])
|
|
76
|
+
], BetweenStatement);
|
|
77
|
+
export { BetweenStatement };
|
|
78
|
+
let WhereQueryStatement = class WhereQueryStatement extends QueryStatement {
|
|
79
|
+
constructor(builder, tableAlias) {
|
|
80
|
+
super(tableAlias);
|
|
81
|
+
this._builder = builder;
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
WhereQueryStatement = __decorate([
|
|
85
|
+
NewInstance(),
|
|
86
|
+
__metadata("design:paramtypes", [Function, String])
|
|
87
|
+
], WhereQueryStatement);
|
|
88
|
+
export { WhereQueryStatement };
|
|
89
|
+
let WhereStatement = class WhereStatement extends QueryStatement {
|
|
90
|
+
get Column() {
|
|
91
|
+
return this._column;
|
|
92
|
+
}
|
|
93
|
+
get Operator() {
|
|
94
|
+
return this._operator;
|
|
95
|
+
}
|
|
96
|
+
get Value() {
|
|
97
|
+
return this._value;
|
|
98
|
+
}
|
|
99
|
+
constructor(column, operator, value, tableAlias, container, model) {
|
|
100
|
+
super(tableAlias);
|
|
101
|
+
this._column = column;
|
|
102
|
+
this._operator = operator;
|
|
103
|
+
this._value = value;
|
|
104
|
+
this._container = container;
|
|
105
|
+
this._model = model;
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
WhereStatement = __decorate([
|
|
109
|
+
NewInstance(),
|
|
110
|
+
__metadata("design:paramtypes", [String, String, Object, String, Container, Object])
|
|
111
|
+
], WhereStatement);
|
|
112
|
+
export { WhereStatement };
|
|
113
|
+
let Wrap = class Wrap {
|
|
114
|
+
constructor(column, wrapper) {
|
|
115
|
+
this.Column = column;
|
|
116
|
+
this.Wrapper = wrapper;
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
Wrap = __decorate([
|
|
120
|
+
NewInstance(),
|
|
121
|
+
__metadata("design:paramtypes", [String, Object])
|
|
122
|
+
], Wrap);
|
|
123
|
+
export { Wrap };
|
|
124
|
+
let WrapStatement = class WrapStatement {
|
|
125
|
+
constructor(value, tableAlias) {
|
|
126
|
+
this._tableAlias = tableAlias;
|
|
127
|
+
this._value = value;
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
WrapStatement = __decorate([
|
|
131
|
+
NewInstance(),
|
|
132
|
+
__metadata("design:paramtypes", [Object, String])
|
|
133
|
+
], WrapStatement);
|
|
134
|
+
export { WrapStatement };
|
|
135
|
+
let DateWrapper = class DateWrapper extends WrapStatement {
|
|
136
|
+
};
|
|
137
|
+
DateWrapper = __decorate([
|
|
138
|
+
NewInstance()
|
|
139
|
+
], DateWrapper);
|
|
140
|
+
export { DateWrapper };
|
|
141
|
+
let DateTimeWrapper = class DateTimeWrapper extends WrapStatement {
|
|
142
|
+
};
|
|
143
|
+
DateTimeWrapper = __decorate([
|
|
144
|
+
NewInstance()
|
|
145
|
+
], DateTimeWrapper);
|
|
146
|
+
export { DateTimeWrapper };
|
|
147
|
+
let JoinStatement = class JoinStatement extends QueryStatement {
|
|
148
|
+
constructor(builder, sourceModel, table, method, foreignKey, primaryKey, alias, tableAlias, database) {
|
|
149
|
+
super(tableAlias);
|
|
150
|
+
this._method = method;
|
|
151
|
+
this._builder = builder;
|
|
152
|
+
if (_.isString(foreignKey)) {
|
|
153
|
+
this._foreignKey = foreignKey;
|
|
154
|
+
}
|
|
155
|
+
if (_.isString(table)) {
|
|
156
|
+
this._table = table;
|
|
157
|
+
this._primaryKey = primaryKey;
|
|
158
|
+
this._alias = tableAlias;
|
|
159
|
+
this._tableAlias = alias;
|
|
160
|
+
this._database = database;
|
|
161
|
+
}
|
|
162
|
+
else if (table.constructor.name === 'RawQuery') {
|
|
163
|
+
this._query = table;
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
this._model = table;
|
|
167
|
+
this._sourceModel = sourceModel;
|
|
168
|
+
const sDesc = extractModelDescriptor(this._sourceModel);
|
|
169
|
+
const tDesc = extractModelDescriptor(this._model);
|
|
170
|
+
const sAlias = `${sDesc.Driver.Options.AliasSeparator}${sDesc.Name}${sDesc.Driver.Options.AliasSeparator}`;
|
|
171
|
+
this._tableAlias = `${sDesc.Driver.Options.AliasSeparator}${tDesc.Name}${sDesc.Driver.Options.AliasSeparator}`;
|
|
172
|
+
this._database = tDesc.Driver.Options.Database;
|
|
173
|
+
if (!this._builder.TableAlias) {
|
|
174
|
+
this._builder.setAlias(sAlias);
|
|
175
|
+
}
|
|
176
|
+
if (_.isFunction(foreignKey)) {
|
|
177
|
+
this._whereCallback = foreignKey;
|
|
178
|
+
const driver = this._builder.Driver;
|
|
179
|
+
const cnt = driver.Container;
|
|
180
|
+
this._database = driver.Options.Database;
|
|
181
|
+
this._whereBuilder = cnt.resolve('SelectQueryBuilder', [driver, this._model, this]);
|
|
182
|
+
this._whereBuilder.setAlias(this._tableAlias);
|
|
183
|
+
this._whereCallback.call(this._whereBuilder, [this]);
|
|
184
|
+
this._builder.mergeBuilder(this._whereBuilder);
|
|
185
|
+
}
|
|
186
|
+
const relation = Array.from(sDesc.Relations, ([key, value]) => ({ key, value })).find((x) => x.value.TargetModel.name === this._model.name);
|
|
187
|
+
if (!relation) {
|
|
188
|
+
throw new OrmException(`Cannot find relation between ${this._model.name} and ${this._sourceModel.name}, thus cannot perform join statement`);
|
|
189
|
+
}
|
|
190
|
+
this._table = tDesc.TableName;
|
|
191
|
+
this._primaryKey = relation.value.ForeignKey;
|
|
192
|
+
this._alias = sAlias;
|
|
193
|
+
this._foreignKey = sDesc.PrimaryKey;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
};
|
|
197
|
+
JoinStatement = __decorate([
|
|
198
|
+
NewInstance(),
|
|
199
|
+
__metadata("design:paramtypes", [Function, Object, Object, String, Object, String, String, String, String])
|
|
200
|
+
], JoinStatement);
|
|
201
|
+
export { JoinStatement };
|
|
202
|
+
let InStatement = class InStatement extends QueryStatement {
|
|
203
|
+
constructor(column, val, not, tableAlias) {
|
|
204
|
+
super(tableAlias);
|
|
205
|
+
this._val = val || [];
|
|
206
|
+
this._not = not || false;
|
|
207
|
+
this._column = column || '';
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
InStatement = __decorate([
|
|
211
|
+
NewInstance(),
|
|
212
|
+
__metadata("design:paramtypes", [String, Array, Boolean, String])
|
|
213
|
+
], InStatement);
|
|
214
|
+
export { InStatement };
|
|
215
|
+
let SelectQueryStatement = class SelectQueryStatement extends QueryStatement {
|
|
216
|
+
constructor(builder, tableAlias) {
|
|
217
|
+
super(tableAlias);
|
|
218
|
+
this._builder = builder;
|
|
219
|
+
}
|
|
220
|
+
};
|
|
221
|
+
SelectQueryStatement = __decorate([
|
|
222
|
+
NewInstance(),
|
|
223
|
+
__metadata("design:paramtypes", [Function, String])
|
|
224
|
+
], SelectQueryStatement);
|
|
225
|
+
export { SelectQueryStatement };
|
|
226
|
+
let ExistsQueryStatement = class ExistsQueryStatement extends SelectQueryStatement {
|
|
227
|
+
constructor(builder, not) {
|
|
228
|
+
super(builder);
|
|
229
|
+
this._not = not || false;
|
|
230
|
+
}
|
|
231
|
+
};
|
|
232
|
+
ExistsQueryStatement = __decorate([
|
|
233
|
+
NewInstance(),
|
|
234
|
+
__metadata("design:paramtypes", [Function, Boolean])
|
|
235
|
+
], ExistsQueryStatement);
|
|
236
|
+
export { ExistsQueryStatement };
|
|
237
|
+
let InSetStatement = class InSetStatement extends QueryStatement {
|
|
238
|
+
constructor(column, val, not, tableAlias) {
|
|
239
|
+
super(tableAlias);
|
|
240
|
+
this._val = val || [];
|
|
241
|
+
this._not = not || false;
|
|
242
|
+
this._column = column || '';
|
|
243
|
+
}
|
|
244
|
+
};
|
|
245
|
+
InSetStatement = __decorate([
|
|
246
|
+
NewInstance(),
|
|
247
|
+
__metadata("design:paramtypes", [String, Array, Boolean, String])
|
|
248
|
+
], InSetStatement);
|
|
249
|
+
export { InSetStatement };
|
|
250
|
+
let ColumnStatement = class ColumnStatement extends QueryStatement {
|
|
251
|
+
constructor(column, alias, tableAlias, descriptor) {
|
|
252
|
+
super(tableAlias);
|
|
253
|
+
this._column = column || '';
|
|
254
|
+
this._alias = alias || '';
|
|
255
|
+
this._tableAlias = tableAlias;
|
|
256
|
+
this._descriptor = descriptor;
|
|
257
|
+
}
|
|
258
|
+
get Descriptor() {
|
|
259
|
+
return this._descriptor;
|
|
260
|
+
}
|
|
261
|
+
get Column() {
|
|
262
|
+
return this._column;
|
|
263
|
+
}
|
|
264
|
+
get Alias() {
|
|
265
|
+
return this._alias;
|
|
266
|
+
}
|
|
267
|
+
get TableAlias() {
|
|
268
|
+
return this._tableAlias;
|
|
269
|
+
}
|
|
270
|
+
set TableAlias(alias) {
|
|
271
|
+
this._tableAlias = alias;
|
|
272
|
+
}
|
|
273
|
+
get IsWildcard() {
|
|
274
|
+
if (this._column.constructor.name === 'RawQuery') {
|
|
275
|
+
return false;
|
|
276
|
+
}
|
|
277
|
+
return this._column && this._column.trim() === '*';
|
|
278
|
+
}
|
|
279
|
+
};
|
|
280
|
+
ColumnStatement = __decorate([
|
|
281
|
+
NewInstance(),
|
|
282
|
+
__metadata("design:paramtypes", [Object, String, String, Object])
|
|
283
|
+
], ColumnStatement);
|
|
284
|
+
export { ColumnStatement };
|
|
285
|
+
export class ColumnRawStatement extends QueryStatement {
|
|
286
|
+
constructor(RawQuery) {
|
|
287
|
+
super();
|
|
288
|
+
this.RawQuery = RawQuery;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
let ColumnMethodStatement = class ColumnMethodStatement extends ColumnStatement {
|
|
292
|
+
constructor(column, method, alias, tableAlias) {
|
|
293
|
+
super(column, alias, tableAlias, null);
|
|
294
|
+
this._method = method;
|
|
295
|
+
}
|
|
296
|
+
};
|
|
297
|
+
ColumnMethodStatement = __decorate([
|
|
298
|
+
NewInstance(),
|
|
299
|
+
__metadata("design:paramtypes", [String, String, String, String])
|
|
300
|
+
], ColumnMethodStatement);
|
|
301
|
+
export { ColumnMethodStatement };
|
|
302
302
|
//# sourceMappingURL=statements.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statements.js","sourceRoot":"","sources":["../../src/statements.ts"],"names":[],"mappings":";;;;;;;;;AAEA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAsB,MAAM,EAAc,MAAM,aAAa,CAAC;AAC7F,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,OAAO,EAAE,sBAAsB,EAAa,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAa/C,MAAM,OAAgB,cAAc;IAGlC,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAW,UAAU,CAAC,KAAa;QACjC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,YAAY,UAAmB;QAC7B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;CAGF;AAGM,IAAe,iBAAiB,GAAhC,MAAe,iBAAkB,SAAQ,cAAc;IAI5D,YAAY,KAAa,EAAE,QAAgB;QACzC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,MAAM,GAAG,KAAK,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,QAAQ,IAAI,EAAE,CAAC;IAClC,CAAC;CAGF,CAAA;AAZqB,iBAAiB;IADtC,WAAW,EAAE;;GACQ,iBAAiB,CAYtC
|
|
1
|
+
{"version":3,"file":"statements.js","sourceRoot":"","sources":["../../src/statements.ts"],"names":[],"mappings":"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"}
|