@spinajs/orm-sql 2.0.180 → 2.0.181

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.
@@ -1,274 +1,274 @@
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
- import { JoinMethod } from '@spinajs/orm';
8
- /* eslint-disable prettier/prettier */
9
- import { SqlWhereCompiler } from './compilers.js';
10
- import { NewInstance } from '@spinajs/di';
11
- import { ModelBase, SqlOperator, BetweenStatement, JoinStatement, ColumnStatement, ColumnRawStatement, InStatement, RawQueryStatement, WhereStatement, ExistsQueryStatement, ColumnMethodStatement, WhereQueryStatement, WithRecursiveStatement, GroupByStatement, RawQuery, DateWrapper, DateTimeWrapper, Wrap, extractModelDescriptor } from '@spinajs/orm';
12
- let SqlRawStatement = class SqlRawStatement extends RawQueryStatement {
13
- build() {
14
- return {
15
- Bindings: this._bindings,
16
- Statements: [`${this._query}`],
17
- };
18
- }
19
- };
20
- SqlRawStatement = __decorate([
21
- NewInstance()
22
- ], SqlRawStatement);
23
- export { SqlRawStatement };
24
- let SqlWithRecursiveStatement = class SqlWithRecursiveStatement extends WithRecursiveStatement {
25
- build() {
26
- const initialQuery = this._query.clone().clearJoins().toDB();
27
- const joinStmt = this.container.resolve(JoinStatement, [this._query, this._query.Model, 'recursive_cte', JoinMethod.RECURSIVE, this._pkName, this._rcKeyName, '$recursive$', '$recursive_cte$']);
28
- this._query.JoinStatements.push(joinStmt);
29
- const additionalQuery = this._query.clone().clearWhere().setAlias('$recursive$').toDB();
30
- const cte_columns = this._query
31
- .getColumns()
32
- .map((c) => c.Column)
33
- .join(',');
34
- return {
35
- Bindings: initialQuery.bindings.concat(additionalQuery.bindings),
36
- Statements: [cte_columns, initialQuery.expression, additionalQuery.expression],
37
- };
38
- }
39
- };
40
- SqlWithRecursiveStatement = __decorate([
41
- NewInstance()
42
- ], SqlWithRecursiveStatement);
43
- export { SqlWithRecursiveStatement };
44
- let SqlBetweenStatement = class SqlBetweenStatement extends BetweenStatement {
45
- build() {
46
- const exprr = this._not ? 'NOT BETWEEN' : 'BETWEEN';
47
- return {
48
- Bindings: this._val,
49
- Statements: [`${this._column} ${exprr} ? AND ?`],
50
- };
51
- }
52
- };
53
- SqlBetweenStatement = __decorate([
54
- NewInstance()
55
- ], SqlBetweenStatement);
56
- export { SqlBetweenStatement };
57
- let SqlGroupByStatement = class SqlGroupByStatement extends GroupByStatement {
58
- build() {
59
- if (this._expr instanceof RawQuery) {
60
- return {
61
- Bindings: this._expr.Bindings ?? [],
62
- Statements: [`${this._expr.Query}`],
63
- };
64
- }
65
- else {
66
- return {
67
- Bindings: [],
68
- Statements: [`\`${this._expr}\``],
69
- };
70
- }
71
- }
72
- };
73
- SqlGroupByStatement = __decorate([
74
- NewInstance()
75
- ], SqlGroupByStatement);
76
- export { SqlGroupByStatement };
77
- let SqlWhereStatement = class SqlWhereStatement extends WhereStatement {
78
- build() {
79
- const isNullableQuery = this._operator === SqlOperator.NOT_NULL || this._operator === SqlOperator.NULL;
80
- const binding = isNullableQuery ? '' : ' ?';
81
- let column = this._column;
82
- let val = this._value;
83
- if (this._model) {
84
- const desc = extractModelDescriptor(this._model);
85
- const rel = desc.Relations.get(column);
86
- if (rel) {
87
- column = rel.ForeignKey;
88
- }
89
- }
90
- if (column instanceof Wrap) {
91
- const wrapper = this._container.resolve(column.Wrapper, [column.Column, this._tableAlias]);
92
- column = wrapper.wrap();
93
- }
94
- else {
95
- if (this._tableAlias) {
96
- column = `\`${this._tableAlias}\`.${this._column}`;
97
- }
98
- if (val instanceof ModelBase) {
99
- val = val.PrimaryKeyValue;
100
- }
101
- else {
102
- const converters = this._container.get('__orm_db_value_converters__');
103
- if (converters && this._value && converters.has(this._value.constructor.name)) {
104
- const converter = this._container.resolve(converters.get(this._value.constructor.name));
105
- val = converter.toDB(val, null, null);
106
- }
107
- }
108
- }
109
- return {
110
- Bindings: isNullableQuery ? [] : [val],
111
- Statements: [`${column} ${this._operator.toUpperCase()}${binding}`],
112
- };
113
- }
114
- };
115
- SqlWhereStatement = __decorate([
116
- NewInstance()
117
- ], SqlWhereStatement);
118
- export { SqlWhereStatement };
119
- let SqlJoinStatement = class SqlJoinStatement extends JoinStatement {
120
- build() {
121
- const method = this._method === JoinMethod.RECURSIVE ? JoinMethod.INNER : this._method;
122
- if (this._query) {
123
- return {
124
- Bindings: this._query.Bindings ?? [],
125
- Statements: [`${method} ${this._query.Query}`],
126
- };
127
- }
128
- let table = `${this._database ? `\`${this._database}\`.` : ''}\`${this._table}\``;
129
- let primaryKey = this._primaryKey;
130
- let foreignKey = this._foreignKey;
131
- if (this._alias) {
132
- primaryKey = `\`${this._alias}\`.${this._foreignKey}`;
133
- }
134
- if (this._tableAlias) {
135
- table = `${this._database ? `\`${this._database}\`.` : ''}\`${this._table}\` as \`${this._method === JoinMethod.RECURSIVE ? this._alias : this._tableAlias}\``;
136
- foreignKey = `\`${this._tableAlias}\`.${this._primaryKey}`;
137
- }
138
- return {
139
- Bindings: [],
140
- Statements: [`${method} ${table} ON ${primaryKey} = ${foreignKey}`],
141
- };
142
- }
143
- };
144
- SqlJoinStatement = __decorate([
145
- NewInstance()
146
- ], SqlJoinStatement);
147
- export { SqlJoinStatement };
148
- let SqlInStatement = class SqlInStatement extends InStatement {
149
- build() {
150
- const exprr = this._not ? 'NOT IN' : 'IN';
151
- return {
152
- Bindings: this._val,
153
- Statements: [`${this._column} ${exprr} (${this._val.map(() => '?').join(',')})`],
154
- };
155
- }
156
- };
157
- SqlInStatement = __decorate([
158
- NewInstance()
159
- ], SqlInStatement);
160
- export { SqlInStatement };
161
- let SqlColumnStatement = class SqlColumnStatement extends ColumnStatement {
162
- build() {
163
- let exprr = '';
164
- if (this.IsWildcard) {
165
- exprr = '*';
166
- }
167
- else {
168
- exprr = `\`${this._column}\``;
169
- if (this._alias) {
170
- exprr += ` as \`${this._alias}\``;
171
- }
172
- }
173
- if (this._tableAlias) {
174
- exprr = `\`${this._tableAlias}\`.${exprr}`;
175
- }
176
- return {
177
- Bindings: [],
178
- Statements: [exprr],
179
- };
180
- }
181
- };
182
- SqlColumnStatement = __decorate([
183
- NewInstance()
184
- ], SqlColumnStatement);
185
- export { SqlColumnStatement };
186
- let SqlColumnMethodStatement = class SqlColumnMethodStatement extends ColumnMethodStatement {
187
- build() {
188
- let _exprr = '';
189
- if (this.IsWildcard) {
190
- _exprr = `${this._method}(${this._column})`;
191
- }
192
- else {
193
- _exprr = `${this._method}(\`${this._column}\`)`;
194
- }
195
- if (this._alias) {
196
- _exprr += ` as \`${this._alias}\``;
197
- }
198
- return {
199
- Bindings: [],
200
- Statements: [_exprr],
201
- };
202
- }
203
- };
204
- SqlColumnMethodStatement = __decorate([
205
- NewInstance()
206
- ], SqlColumnMethodStatement);
207
- export { SqlColumnMethodStatement };
208
- let SqlDateWrapper = class SqlDateWrapper extends DateWrapper {
209
- wrap() {
210
- if (this._tableAlias) {
211
- return `DATE(\`${this._tableAlias}\`.\`${this._value}\`)`;
212
- }
213
- return `DATE(\`${this._value}\`)`;
214
- }
215
- };
216
- SqlDateWrapper = __decorate([
217
- NewInstance()
218
- ], SqlDateWrapper);
219
- export { SqlDateWrapper };
220
- export class SqlDateTimeWrapper extends DateTimeWrapper {
221
- wrap() {
222
- if (this._tableAlias) {
223
- return `DATETIME(\`${this._tableAlias}\`.\`${this._value}\`)`;
224
- }
225
- return `DATETIME(\`${this._value}\`)`;
226
- }
227
- }
228
- let SqlColumnRawStatement = class SqlColumnRawStatement extends ColumnRawStatement {
229
- build() {
230
- return {
231
- Bindings: this.RawQuery.Bindings,
232
- Statements: [this.RawQuery.Query],
233
- };
234
- }
235
- };
236
- SqlColumnRawStatement = __decorate([
237
- NewInstance()
238
- ], SqlColumnRawStatement);
239
- export { SqlColumnRawStatement };
240
- let SqlWhereQueryStatement = class SqlWhereQueryStatement extends WhereQueryStatement {
241
- build() {
242
- const _compiler = new SqlWhereCompiler();
243
- const _result = _compiler.where(this._builder);
244
- return {
245
- Bindings: _result.bindings,
246
- Statements: _result.expression && _result.expression !== '' ? [`( ${_result.expression} )`] : [],
247
- };
248
- }
249
- };
250
- SqlWhereQueryStatement = __decorate([
251
- NewInstance()
252
- ], SqlWhereQueryStatement);
253
- export { SqlWhereQueryStatement };
254
- let SqlExistsQueryStatement = class SqlExistsQueryStatement extends ExistsQueryStatement {
255
- build() {
256
- let exprr = '';
257
- const compiled = this._builder.toDB();
258
- if (this._not) {
259
- exprr += `NOT EXISTS ( ${compiled.expression} )`;
260
- }
261
- else {
262
- exprr += `EXISTS ( ${compiled.expression} )`;
263
- }
264
- return {
265
- Bindings: compiled.bindings,
266
- Statements: [exprr],
267
- };
268
- }
269
- };
270
- SqlExistsQueryStatement = __decorate([
271
- NewInstance()
272
- ], SqlExistsQueryStatement);
273
- export { SqlExistsQueryStatement };
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
+ import { JoinMethod } from '@spinajs/orm';
8
+ /* eslint-disable prettier/prettier */
9
+ import { SqlWhereCompiler } from './compilers.js';
10
+ import { NewInstance } from '@spinajs/di';
11
+ import { ModelBase, SqlOperator, BetweenStatement, JoinStatement, ColumnStatement, ColumnRawStatement, InStatement, RawQueryStatement, WhereStatement, ExistsQueryStatement, ColumnMethodStatement, WhereQueryStatement, WithRecursiveStatement, GroupByStatement, RawQuery, DateWrapper, DateTimeWrapper, Wrap, extractModelDescriptor } from '@spinajs/orm';
12
+ let SqlRawStatement = class SqlRawStatement extends RawQueryStatement {
13
+ build() {
14
+ return {
15
+ Bindings: this._bindings,
16
+ Statements: [`${this._query}`],
17
+ };
18
+ }
19
+ };
20
+ SqlRawStatement = __decorate([
21
+ NewInstance()
22
+ ], SqlRawStatement);
23
+ export { SqlRawStatement };
24
+ let SqlWithRecursiveStatement = class SqlWithRecursiveStatement extends WithRecursiveStatement {
25
+ build() {
26
+ const initialQuery = this._query.clone().clearJoins().toDB();
27
+ const joinStmt = this.container.resolve(JoinStatement, [this._query, this._query.Model, 'recursive_cte', JoinMethod.RECURSIVE, this._pkName, this._rcKeyName, '$recursive$', '$recursive_cte$']);
28
+ this._query.JoinStatements.push(joinStmt);
29
+ const additionalQuery = this._query.clone().clearWhere().setAlias('$recursive$').toDB();
30
+ const cte_columns = this._query
31
+ .getColumns()
32
+ .map((c) => c.Column)
33
+ .join(',');
34
+ return {
35
+ Bindings: initialQuery.bindings.concat(additionalQuery.bindings),
36
+ Statements: [cte_columns, initialQuery.expression, additionalQuery.expression],
37
+ };
38
+ }
39
+ };
40
+ SqlWithRecursiveStatement = __decorate([
41
+ NewInstance()
42
+ ], SqlWithRecursiveStatement);
43
+ export { SqlWithRecursiveStatement };
44
+ let SqlBetweenStatement = class SqlBetweenStatement extends BetweenStatement {
45
+ build() {
46
+ const exprr = this._not ? 'NOT BETWEEN' : 'BETWEEN';
47
+ return {
48
+ Bindings: this._val,
49
+ Statements: [`${this._column} ${exprr} ? AND ?`],
50
+ };
51
+ }
52
+ };
53
+ SqlBetweenStatement = __decorate([
54
+ NewInstance()
55
+ ], SqlBetweenStatement);
56
+ export { SqlBetweenStatement };
57
+ let SqlGroupByStatement = class SqlGroupByStatement extends GroupByStatement {
58
+ build() {
59
+ if (this._expr instanceof RawQuery) {
60
+ return {
61
+ Bindings: this._expr.Bindings ?? [],
62
+ Statements: [`${this._expr.Query}`],
63
+ };
64
+ }
65
+ else {
66
+ return {
67
+ Bindings: [],
68
+ Statements: [`\`${this._expr}\``],
69
+ };
70
+ }
71
+ }
72
+ };
73
+ SqlGroupByStatement = __decorate([
74
+ NewInstance()
75
+ ], SqlGroupByStatement);
76
+ export { SqlGroupByStatement };
77
+ let SqlWhereStatement = class SqlWhereStatement extends WhereStatement {
78
+ build() {
79
+ const isNullableQuery = this._operator === SqlOperator.NOT_NULL || this._operator === SqlOperator.NULL;
80
+ const binding = isNullableQuery ? '' : ' ?';
81
+ let column = this._column;
82
+ let val = this._value;
83
+ if (this._model) {
84
+ const desc = extractModelDescriptor(this._model);
85
+ const rel = desc.Relations.get(column);
86
+ if (rel) {
87
+ column = rel.ForeignKey;
88
+ }
89
+ }
90
+ if (column instanceof Wrap) {
91
+ const wrapper = this._container.resolve(column.Wrapper, [column.Column, this._tableAlias]);
92
+ column = wrapper.wrap();
93
+ }
94
+ else {
95
+ if (this._tableAlias) {
96
+ column = `\`${this._tableAlias}\`.${this._column}`;
97
+ }
98
+ if (val instanceof ModelBase) {
99
+ val = val.PrimaryKeyValue;
100
+ }
101
+ else {
102
+ const converters = this._container.get('__orm_db_value_converters__');
103
+ if (converters && this._value && converters.has(this._value.constructor.name)) {
104
+ const converter = this._container.resolve(converters.get(this._value.constructor.name));
105
+ val = converter.toDB(val, null, null);
106
+ }
107
+ }
108
+ }
109
+ return {
110
+ Bindings: isNullableQuery ? [] : [val],
111
+ Statements: [`${column} ${this._operator.toUpperCase()}${binding}`],
112
+ };
113
+ }
114
+ };
115
+ SqlWhereStatement = __decorate([
116
+ NewInstance()
117
+ ], SqlWhereStatement);
118
+ export { SqlWhereStatement };
119
+ let SqlJoinStatement = class SqlJoinStatement extends JoinStatement {
120
+ build() {
121
+ const method = this._method === JoinMethod.RECURSIVE ? JoinMethod.INNER : this._method;
122
+ if (this._query) {
123
+ return {
124
+ Bindings: this._query.Bindings ?? [],
125
+ Statements: [`${method} ${this._query.Query}`],
126
+ };
127
+ }
128
+ let table = `${this._database ? `\`${this._database}\`.` : ''}\`${this._table}\``;
129
+ let primaryKey = this._primaryKey;
130
+ let foreignKey = this._foreignKey;
131
+ if (this._alias) {
132
+ primaryKey = `\`${this._alias}\`.${this._foreignKey}`;
133
+ }
134
+ if (this._tableAlias) {
135
+ table = `${this._database ? `\`${this._database}\`.` : ''}\`${this._table}\` as \`${this._method === JoinMethod.RECURSIVE ? this._alias : this._tableAlias}\``;
136
+ foreignKey = `\`${this._tableAlias}\`.${this._primaryKey}`;
137
+ }
138
+ return {
139
+ Bindings: [],
140
+ Statements: [`${method} ${table} ON ${primaryKey} = ${foreignKey}`],
141
+ };
142
+ }
143
+ };
144
+ SqlJoinStatement = __decorate([
145
+ NewInstance()
146
+ ], SqlJoinStatement);
147
+ export { SqlJoinStatement };
148
+ let SqlInStatement = class SqlInStatement extends InStatement {
149
+ build() {
150
+ const exprr = this._not ? 'NOT IN' : 'IN';
151
+ return {
152
+ Bindings: this._val,
153
+ Statements: [`${this._column} ${exprr} (${this._val.map(() => '?').join(',')})`],
154
+ };
155
+ }
156
+ };
157
+ SqlInStatement = __decorate([
158
+ NewInstance()
159
+ ], SqlInStatement);
160
+ export { SqlInStatement };
161
+ let SqlColumnStatement = class SqlColumnStatement extends ColumnStatement {
162
+ build() {
163
+ let exprr = '';
164
+ if (this.IsWildcard) {
165
+ exprr = '*';
166
+ }
167
+ else {
168
+ exprr = `\`${this._column}\``;
169
+ if (this._alias) {
170
+ exprr += ` as \`${this._alias}\``;
171
+ }
172
+ }
173
+ if (this._tableAlias) {
174
+ exprr = `\`${this._tableAlias}\`.${exprr}`;
175
+ }
176
+ return {
177
+ Bindings: [],
178
+ Statements: [exprr],
179
+ };
180
+ }
181
+ };
182
+ SqlColumnStatement = __decorate([
183
+ NewInstance()
184
+ ], SqlColumnStatement);
185
+ export { SqlColumnStatement };
186
+ let SqlColumnMethodStatement = class SqlColumnMethodStatement extends ColumnMethodStatement {
187
+ build() {
188
+ let _exprr = '';
189
+ if (this.IsWildcard) {
190
+ _exprr = `${this._method}(${this._column})`;
191
+ }
192
+ else {
193
+ _exprr = `${this._method}(\`${this._column}\`)`;
194
+ }
195
+ if (this._alias) {
196
+ _exprr += ` as \`${this._alias}\``;
197
+ }
198
+ return {
199
+ Bindings: [],
200
+ Statements: [_exprr],
201
+ };
202
+ }
203
+ };
204
+ SqlColumnMethodStatement = __decorate([
205
+ NewInstance()
206
+ ], SqlColumnMethodStatement);
207
+ export { SqlColumnMethodStatement };
208
+ let SqlDateWrapper = class SqlDateWrapper extends DateWrapper {
209
+ wrap() {
210
+ if (this._tableAlias) {
211
+ return `DATE(\`${this._tableAlias}\`.\`${this._value}\`)`;
212
+ }
213
+ return `DATE(\`${this._value}\`)`;
214
+ }
215
+ };
216
+ SqlDateWrapper = __decorate([
217
+ NewInstance()
218
+ ], SqlDateWrapper);
219
+ export { SqlDateWrapper };
220
+ export class SqlDateTimeWrapper extends DateTimeWrapper {
221
+ wrap() {
222
+ if (this._tableAlias) {
223
+ return `DATETIME(\`${this._tableAlias}\`.\`${this._value}\`)`;
224
+ }
225
+ return `DATETIME(\`${this._value}\`)`;
226
+ }
227
+ }
228
+ let SqlColumnRawStatement = class SqlColumnRawStatement extends ColumnRawStatement {
229
+ build() {
230
+ return {
231
+ Bindings: this.RawQuery.Bindings,
232
+ Statements: [this.RawQuery.Query],
233
+ };
234
+ }
235
+ };
236
+ SqlColumnRawStatement = __decorate([
237
+ NewInstance()
238
+ ], SqlColumnRawStatement);
239
+ export { SqlColumnRawStatement };
240
+ let SqlWhereQueryStatement = class SqlWhereQueryStatement extends WhereQueryStatement {
241
+ build() {
242
+ const _compiler = new SqlWhereCompiler();
243
+ const _result = _compiler.where(this._builder);
244
+ return {
245
+ Bindings: _result.bindings,
246
+ Statements: _result.expression && _result.expression !== '' ? [`( ${_result.expression} )`] : [],
247
+ };
248
+ }
249
+ };
250
+ SqlWhereQueryStatement = __decorate([
251
+ NewInstance()
252
+ ], SqlWhereQueryStatement);
253
+ export { SqlWhereQueryStatement };
254
+ let SqlExistsQueryStatement = class SqlExistsQueryStatement extends ExistsQueryStatement {
255
+ build() {
256
+ let exprr = '';
257
+ const compiled = this._builder.toDB();
258
+ if (this._not) {
259
+ exprr += `NOT EXISTS ( ${compiled.expression} )`;
260
+ }
261
+ else {
262
+ exprr += `EXISTS ( ${compiled.expression} )`;
263
+ }
264
+ return {
265
+ Bindings: compiled.bindings,
266
+ Statements: [exprr],
267
+ };
268
+ }
269
+ };
270
+ SqlExistsQueryStatement = __decorate([
271
+ NewInstance()
272
+ ], SqlExistsQueryStatement);
273
+ export { SqlExistsQueryStatement };
274
274
  //# 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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"}