@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.
Files changed (97) hide show
  1. package/lib/cjs/builders.d.ts +643 -643
  2. package/lib/cjs/builders.js +1602 -1602
  3. package/lib/cjs/builders.js.map +1 -1
  4. package/lib/cjs/converters.d.ts +34 -34
  5. package/lib/cjs/converters.js +104 -104
  6. package/lib/cjs/decorators.d.ts +152 -152
  7. package/lib/cjs/decorators.js +449 -449
  8. package/lib/cjs/dehydrators.d.ts +10 -10
  9. package/lib/cjs/dehydrators.js +47 -47
  10. package/lib/cjs/driver.d.ts +82 -82
  11. package/lib/cjs/driver.js +102 -102
  12. package/lib/cjs/driver.js.map +1 -1
  13. package/lib/cjs/enums.d.ts +116 -116
  14. package/lib/cjs/enums.js +126 -126
  15. package/lib/cjs/enums.js.map +1 -1
  16. package/lib/cjs/exceptions.d.ts +6 -6
  17. package/lib/cjs/exceptions.js +10 -10
  18. package/lib/cjs/hydrators.d.ts +19 -19
  19. package/lib/cjs/hydrators.js +132 -132
  20. package/lib/cjs/hydrators.js.map +1 -1
  21. package/lib/cjs/index.d.ts +17 -17
  22. package/lib/cjs/index.js +33 -33
  23. package/lib/cjs/interfaces.d.ts +921 -919
  24. package/lib/cjs/interfaces.d.ts.map +1 -1
  25. package/lib/cjs/interfaces.js +279 -279
  26. package/lib/cjs/interfaces.js.map +1 -1
  27. package/lib/cjs/middlewares.d.ts +62 -62
  28. package/lib/cjs/middlewares.js +258 -258
  29. package/lib/cjs/model.d.ts +288 -284
  30. package/lib/cjs/model.d.ts.map +1 -1
  31. package/lib/cjs/model.js +826 -810
  32. package/lib/cjs/model.js.map +1 -1
  33. package/lib/cjs/orm.d.ts +61 -61
  34. package/lib/cjs/orm.js +333 -333
  35. package/lib/cjs/orm.js.map +1 -1
  36. package/lib/cjs/relation-objects.d.ts +108 -108
  37. package/lib/cjs/relation-objects.js +221 -221
  38. package/lib/cjs/relations.d.ts +61 -61
  39. package/lib/cjs/relations.js +194 -194
  40. package/lib/cjs/relations.js.map +1 -1
  41. package/lib/cjs/statements.d.ts +143 -143
  42. package/lib/cjs/statements.js +309 -309
  43. package/lib/cjs/statements.js.map +1 -1
  44. package/lib/cjs/types.d.ts +32 -32
  45. package/lib/cjs/types.js +2 -2
  46. package/lib/cjs/wrappers.d.ts +5 -5
  47. package/lib/cjs/wrappers.js +12 -12
  48. package/lib/mjs/builders.d.ts +643 -643
  49. package/lib/mjs/builders.js +1594 -1594
  50. package/lib/mjs/builders.js.map +1 -1
  51. package/lib/mjs/converters.d.ts +34 -34
  52. package/lib/mjs/converters.js +96 -96
  53. package/lib/mjs/decorators.d.ts +152 -152
  54. package/lib/mjs/decorators.js +422 -422
  55. package/lib/mjs/dehydrators.d.ts +10 -10
  56. package/lib/mjs/dehydrators.js +41 -41
  57. package/lib/mjs/driver.d.ts +82 -82
  58. package/lib/mjs/driver.js +98 -98
  59. package/lib/mjs/driver.js.map +1 -1
  60. package/lib/mjs/enums.d.ts +116 -116
  61. package/lib/mjs/enums.js +123 -123
  62. package/lib/mjs/enums.js.map +1 -1
  63. package/lib/mjs/exceptions.d.ts +6 -6
  64. package/lib/mjs/exceptions.js +6 -6
  65. package/lib/mjs/hydrators.d.ts +19 -19
  66. package/lib/mjs/hydrators.js +128 -128
  67. package/lib/mjs/hydrators.js.map +1 -1
  68. package/lib/mjs/index.d.ts +17 -17
  69. package/lib/mjs/index.js +17 -17
  70. package/lib/mjs/interfaces.d.ts +921 -919
  71. package/lib/mjs/interfaces.d.ts.map +1 -1
  72. package/lib/mjs/interfaces.js +267 -267
  73. package/lib/mjs/interfaces.js.map +1 -1
  74. package/lib/mjs/middlewares.d.ts +62 -62
  75. package/lib/mjs/middlewares.js +249 -249
  76. package/lib/mjs/model.d.ts +288 -284
  77. package/lib/mjs/model.d.ts.map +1 -1
  78. package/lib/mjs/model.js +816 -800
  79. package/lib/mjs/model.js.map +1 -1
  80. package/lib/mjs/orm.d.ts +61 -61
  81. package/lib/mjs/orm.js +326 -326
  82. package/lib/mjs/orm.js.map +1 -1
  83. package/lib/mjs/relation-objects.d.ts +108 -108
  84. package/lib/mjs/relation-objects.js +211 -211
  85. package/lib/mjs/relations.d.ts +61 -61
  86. package/lib/mjs/relations.js +191 -191
  87. package/lib/mjs/relations.js.map +1 -1
  88. package/lib/mjs/statements.d.ts +143 -143
  89. package/lib/mjs/statements.js +301 -301
  90. package/lib/mjs/statements.js.map +1 -1
  91. package/lib/mjs/types.d.ts +32 -32
  92. package/lib/mjs/types.js +1 -1
  93. package/lib/mjs/wrappers.d.ts +5 -5
  94. package/lib/mjs/wrappers.js +9 -9
  95. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  96. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  97. package/package.json +5 -5
@@ -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":"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"}
1
+ {"version":3,"file":"statements.js","sourceRoot":"","sources":["../../src/statements.ts"],"names":[],"mappings":"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"}