@spinajs/orm-sqlite 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.
- package/lib/cjs/builders.d.ts +9 -9
- package/lib/cjs/builders.js +41 -41
- package/lib/cjs/builders.js.map +1 -1
- package/lib/cjs/compilers.d.ts +41 -41
- package/lib/cjs/compilers.js +257 -257
- package/lib/cjs/compilers.js.map +1 -1
- package/lib/cjs/converters.d.ts +7 -7
- package/lib/cjs/converters.js +52 -52
- package/lib/cjs/index.d.ts +22 -22
- package/lib/cjs/index.js +259 -259
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/statements.d.ts +6 -6
- package/lib/cjs/statements.js +30 -30
- package/lib/cjs/statements.js.map +1 -1
- package/lib/cjs/types.d.ts +29 -29
- package/lib/cjs/types.js +2 -2
- package/lib/mjs/builders.d.ts +9 -9
- package/lib/mjs/builders.js +38 -38
- package/lib/mjs/builders.js.map +1 -1
- package/lib/mjs/compilers.d.ts +41 -41
- package/lib/mjs/compilers.js +251 -251
- package/lib/mjs/compilers.js.map +1 -1
- package/lib/mjs/converters.d.ts +7 -7
- package/lib/mjs/converters.js +47 -47
- package/lib/mjs/index.d.ts +22 -22
- package/lib/mjs/index.js +239 -239
- package/lib/mjs/index.js.map +1 -1
- package/lib/mjs/statements.d.ts +6 -6
- package/lib/mjs/statements.js +27 -27
- package/lib/mjs/statements.js.map +1 -1
- package/lib/mjs/types.d.ts +29 -29
- package/lib/mjs/types.js +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +7 -7
package/lib/mjs/compilers.js
CHANGED
|
@@ -1,252 +1,252 @@
|
|
|
1
|
-
/* eslint-disable security/detect-object-injection */
|
|
2
|
-
/* eslint-disable prettier/prettier */
|
|
3
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
4
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
5
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
6
|
-
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;
|
|
7
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
8
|
-
};
|
|
9
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
10
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
11
|
-
};
|
|
12
|
-
import { SqlColumnQueryCompiler, SqlTableQueryCompiler, SqlOnDuplicateQueryCompiler, SqlInsertQueryCompiler } from '@spinajs/orm-sql';
|
|
13
|
-
import { OrderByBuilder, OrderByQueryCompiler, RawQuery, OnDuplicateQueryBuilder, InsertQueryBuilder, TableExistsQueryBuilder, OrmException, TableQueryCompiler, TableQueryBuilder, TableAliasCompiler } from '@spinajs/orm';
|
|
14
|
-
import { NewInstance, Inject, Container } from '@spinajs/di';
|
|
15
|
-
import _ from 'lodash';
|
|
16
|
-
let SqliteTruncateTableQueryCompiler = class SqliteTruncateTableQueryCompiler extends TableQueryCompiler {
|
|
17
|
-
constructor(container, builder) {
|
|
18
|
-
super();
|
|
19
|
-
this.container = container;
|
|
20
|
-
this.builder = builder;
|
|
21
|
-
}
|
|
22
|
-
compile() {
|
|
23
|
-
return {
|
|
24
|
-
bindings: [],
|
|
25
|
-
expression: `DELETE FROM ${this.container.resolve(TableAliasCompiler).compile(this.builder)}`,
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
SqliteTruncateTableQueryCompiler = __decorate([
|
|
30
|
-
NewInstance(),
|
|
31
|
-
__metadata("design:paramtypes", [Container, TableQueryBuilder])
|
|
32
|
-
], SqliteTruncateTableQueryCompiler);
|
|
33
|
-
export { SqliteTruncateTableQueryCompiler };
|
|
34
|
-
let SqliteOrderByCompiler = class SqliteOrderByCompiler extends OrderByQueryCompiler {
|
|
35
|
-
constructor(builder) {
|
|
36
|
-
super();
|
|
37
|
-
if (!builder) {
|
|
38
|
-
throw new Error('builder cannot be null or undefined');
|
|
39
|
-
}
|
|
40
|
-
this._builder = builder;
|
|
41
|
-
}
|
|
42
|
-
compile() {
|
|
43
|
-
const sort = this._builder.getSort();
|
|
44
|
-
let stmt = '';
|
|
45
|
-
const bindings = [];
|
|
46
|
-
if (sort) {
|
|
47
|
-
stmt = ` ORDER BY \`${sort.column}\` ${sort.order.toLowerCase() === 'asc' ? 'ASC' : 'DESC'}`;
|
|
48
|
-
}
|
|
49
|
-
return {
|
|
50
|
-
bindings,
|
|
51
|
-
expression: stmt,
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
SqliteOrderByCompiler = __decorate([
|
|
56
|
-
NewInstance(),
|
|
57
|
-
__metadata("design:paramtypes", [OrderByBuilder])
|
|
58
|
-
], SqliteOrderByCompiler);
|
|
59
|
-
export { SqliteOrderByCompiler };
|
|
60
|
-
let SqliteOnDuplicateQueryCompiler = class SqliteOnDuplicateQueryCompiler extends SqlOnDuplicateQueryCompiler {
|
|
61
|
-
constructor(builder) {
|
|
62
|
-
super(builder);
|
|
63
|
-
}
|
|
64
|
-
compile() {
|
|
65
|
-
if (this._builder.getColumn().length === 0) {
|
|
66
|
-
throw new OrmException(`no unique or primary key columns defined in table ${this._builder.getParent().Table}`);
|
|
67
|
-
}
|
|
68
|
-
const columns = this._builder.getColumnsToUpdate().map((c) => {
|
|
69
|
-
if (_.isString(c)) {
|
|
70
|
-
return `${c} = ?`;
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
return c.Query;
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
const parent = this._builder.getParent();
|
|
77
|
-
const bindings = _.flatMap(this._builder.getColumnsToUpdate(), (c) => {
|
|
78
|
-
if (_.isString(c)) {
|
|
79
|
-
const cIndex = parent.getColumns()
|
|
80
|
-
.findIndex((col) => (_.isString(col.Column) ? col.Column === c : null));
|
|
81
|
-
return parent.Values[0][cIndex];
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
return c.Bindings;
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
return {
|
|
88
|
-
bindings,
|
|
89
|
-
expression: `ON CONFLICT(${this._builder.getColumn().join(',')}) DO UPDATE SET ${columns.join(',')}`,
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
SqliteOnDuplicateQueryCompiler = __decorate([
|
|
94
|
-
NewInstance(),
|
|
95
|
-
__metadata("design:paramtypes", [OnDuplicateQueryBuilder])
|
|
96
|
-
], SqliteOnDuplicateQueryCompiler);
|
|
97
|
-
export { SqliteOnDuplicateQueryCompiler };
|
|
98
|
-
let SqliteTableExistsCompiler = class SqliteTableExistsCompiler {
|
|
99
|
-
constructor(builder) {
|
|
100
|
-
this.builder = builder;
|
|
101
|
-
if (builder === null) {
|
|
102
|
-
throw new Error('table exists query builder cannot be null');
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
compile() {
|
|
106
|
-
return {
|
|
107
|
-
bindings: [this.builder.Table],
|
|
108
|
-
expression: `SELECT name FROM sqlite_master WHERE type='table' AND name=? LIMIT 1;`,
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
};
|
|
112
|
-
SqliteTableExistsCompiler = __decorate([
|
|
113
|
-
NewInstance(),
|
|
114
|
-
__metadata("design:paramtypes", [TableExistsQueryBuilder])
|
|
115
|
-
], SqliteTableExistsCompiler);
|
|
116
|
-
export { SqliteTableExistsCompiler };
|
|
117
|
-
let SqliteTableQueryCompiler = class SqliteTableQueryCompiler extends SqlTableQueryCompiler {
|
|
118
|
-
compile() {
|
|
119
|
-
const _table = this._table();
|
|
120
|
-
const _columns = this._columns();
|
|
121
|
-
const _foreignKeys = this._foreignKeys();
|
|
122
|
-
return [
|
|
123
|
-
{
|
|
124
|
-
bindings: [],
|
|
125
|
-
expression: `${_table} (${_columns} ${_foreignKeys ? ',' + _foreignKeys : ''})`,
|
|
126
|
-
},
|
|
127
|
-
];
|
|
128
|
-
}
|
|
129
|
-
};
|
|
130
|
-
SqliteTableQueryCompiler = __decorate([
|
|
131
|
-
NewInstance(),
|
|
132
|
-
Inject(Container)
|
|
133
|
-
], SqliteTableQueryCompiler);
|
|
134
|
-
export { SqliteTableQueryCompiler };
|
|
135
|
-
let SqliteInsertQueryCompiler = class SqliteInsertQueryCompiler extends SqlInsertQueryCompiler {
|
|
136
|
-
constructor(container, builder) {
|
|
137
|
-
super(container, builder);
|
|
138
|
-
}
|
|
139
|
-
compile() {
|
|
140
|
-
const into = this.into();
|
|
141
|
-
const columns = this.columns();
|
|
142
|
-
const values = this.values();
|
|
143
|
-
const upsort = this.upsort();
|
|
144
|
-
return {
|
|
145
|
-
bindings: values.bindings.concat(upsort.bindings),
|
|
146
|
-
expression: `${into} ${columns} ${values.data} ${upsort.expression}`.trim(),
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
into() {
|
|
150
|
-
return `INSERT${this._builder.Ignore ? ' OR IGNORE' : ''}${this._builder.Replace ? ' OR REPLACE' : ''} INTO \`${this._builder.Table}\``;
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
SqliteInsertQueryCompiler = __decorate([
|
|
154
|
-
NewInstance(),
|
|
155
|
-
Inject(Container),
|
|
156
|
-
__metadata("design:paramtypes", [Object, InsertQueryBuilder])
|
|
157
|
-
], SqliteInsertQueryCompiler);
|
|
158
|
-
export { SqliteInsertQueryCompiler };
|
|
159
|
-
let SqliteColumnCompiler = class SqliteColumnCompiler extends SqlColumnQueryCompiler {
|
|
160
|
-
compile() {
|
|
161
|
-
const _stmt = [];
|
|
162
|
-
_stmt.push(`\`${this.builder.Name}\``);
|
|
163
|
-
switch (this.builder.Type) {
|
|
164
|
-
case 'binary':
|
|
165
|
-
case 'tinyblob':
|
|
166
|
-
case 'mediumblob':
|
|
167
|
-
case 'longblob':
|
|
168
|
-
_stmt.push('BLOB');
|
|
169
|
-
break;
|
|
170
|
-
case 'string':
|
|
171
|
-
case 'text':
|
|
172
|
-
case 'mediumtext':
|
|
173
|
-
case 'tinytext':
|
|
174
|
-
case 'longtext':
|
|
175
|
-
case 'date':
|
|
176
|
-
case 'dateTime':
|
|
177
|
-
case 'time':
|
|
178
|
-
case 'set':
|
|
179
|
-
case 'timestamp':
|
|
180
|
-
case 'enum':
|
|
181
|
-
_stmt.push(`TEXT`);
|
|
182
|
-
break;
|
|
183
|
-
case 'float':
|
|
184
|
-
case 'double':
|
|
185
|
-
_stmt.push(`REAL`);
|
|
186
|
-
break;
|
|
187
|
-
case 'decimal':
|
|
188
|
-
_stmt.push(`DECIMAL`);
|
|
189
|
-
break;
|
|
190
|
-
case 'int':
|
|
191
|
-
case 'tinyint':
|
|
192
|
-
case 'smallint':
|
|
193
|
-
case 'mediumint':
|
|
194
|
-
case 'bigint':
|
|
195
|
-
case 'boolean':
|
|
196
|
-
_stmt.push('INTEGER');
|
|
197
|
-
break;
|
|
198
|
-
}
|
|
199
|
-
if (this.builder.Unsigned) {
|
|
200
|
-
_stmt.push('UNSIGNED');
|
|
201
|
-
}
|
|
202
|
-
if (this.builder.Charset) {
|
|
203
|
-
_stmt.push(`CHARACTER SET '${this.builder.Charset}'`);
|
|
204
|
-
}
|
|
205
|
-
if (this.builder.Collation) {
|
|
206
|
-
_stmt.push(`COLLATE '${this.builder.Collation}'`);
|
|
207
|
-
}
|
|
208
|
-
if (this.builder.NotNull) {
|
|
209
|
-
_stmt.push('NOT NULL');
|
|
210
|
-
}
|
|
211
|
-
if (this.builder.Default) {
|
|
212
|
-
_stmt.push(this._defaultCompiler());
|
|
213
|
-
}
|
|
214
|
-
if (this.builder.Comment) {
|
|
215
|
-
_stmt.push(`COMMENT '${this.builder.Comment}'`);
|
|
216
|
-
}
|
|
217
|
-
if (this.builder.PrimaryKey) {
|
|
218
|
-
_stmt.push(`PRIMARY KEY`);
|
|
219
|
-
}
|
|
220
|
-
if (this.builder.AutoIncrement) {
|
|
221
|
-
_stmt.push(`AUTOINCREMENT`);
|
|
222
|
-
}
|
|
223
|
-
if (this.builder.Unique) {
|
|
224
|
-
_stmt.push('UNIQUE');
|
|
225
|
-
}
|
|
226
|
-
return {
|
|
227
|
-
bindings: [],
|
|
228
|
-
expression: _stmt.filter((x) => !_.isEmpty(x)).join(' '),
|
|
229
|
-
};
|
|
230
|
-
}
|
|
231
|
-
_defaultCompiler() {
|
|
232
|
-
let _stmt = '';
|
|
233
|
-
if (_.isNil(this.builder.Default) || (_.isString(this.builder.Default) && _.isEmpty(this.builder.Default.trim()))) {
|
|
234
|
-
return _stmt;
|
|
235
|
-
}
|
|
236
|
-
if (_.isString(this.builder.Default)) {
|
|
237
|
-
_stmt = `DEFAULT '${this.builder.Default.trim()}'`;
|
|
238
|
-
}
|
|
239
|
-
else if (_.isNumber(this.builder.Default)) {
|
|
240
|
-
_stmt = `DEFAULT ${this.builder.Default}`;
|
|
241
|
-
}
|
|
242
|
-
else if (this.builder.Default instanceof RawQuery) {
|
|
243
|
-
_stmt = `DEFAULT ${this.builder.Default.Query}`;
|
|
244
|
-
}
|
|
245
|
-
return _stmt;
|
|
246
|
-
}
|
|
247
|
-
};
|
|
248
|
-
SqliteColumnCompiler = __decorate([
|
|
249
|
-
NewInstance()
|
|
250
|
-
], SqliteColumnCompiler);
|
|
251
|
-
export { SqliteColumnCompiler };
|
|
1
|
+
/* eslint-disable security/detect-object-injection */
|
|
2
|
+
/* eslint-disable prettier/prettier */
|
|
3
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
4
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
5
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
6
|
+
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;
|
|
7
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
8
|
+
};
|
|
9
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
10
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
11
|
+
};
|
|
12
|
+
import { SqlColumnQueryCompiler, SqlTableQueryCompiler, SqlOnDuplicateQueryCompiler, SqlInsertQueryCompiler } from '@spinajs/orm-sql';
|
|
13
|
+
import { OrderByBuilder, OrderByQueryCompiler, RawQuery, OnDuplicateQueryBuilder, InsertQueryBuilder, TableExistsQueryBuilder, OrmException, TableQueryCompiler, TableQueryBuilder, TableAliasCompiler } from '@spinajs/orm';
|
|
14
|
+
import { NewInstance, Inject, Container } from '@spinajs/di';
|
|
15
|
+
import _ from 'lodash';
|
|
16
|
+
let SqliteTruncateTableQueryCompiler = class SqliteTruncateTableQueryCompiler extends TableQueryCompiler {
|
|
17
|
+
constructor(container, builder) {
|
|
18
|
+
super();
|
|
19
|
+
this.container = container;
|
|
20
|
+
this.builder = builder;
|
|
21
|
+
}
|
|
22
|
+
compile() {
|
|
23
|
+
return {
|
|
24
|
+
bindings: [],
|
|
25
|
+
expression: `DELETE FROM ${this.container.resolve(TableAliasCompiler).compile(this.builder)}`,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
SqliteTruncateTableQueryCompiler = __decorate([
|
|
30
|
+
NewInstance(),
|
|
31
|
+
__metadata("design:paramtypes", [Container, TableQueryBuilder])
|
|
32
|
+
], SqliteTruncateTableQueryCompiler);
|
|
33
|
+
export { SqliteTruncateTableQueryCompiler };
|
|
34
|
+
let SqliteOrderByCompiler = class SqliteOrderByCompiler extends OrderByQueryCompiler {
|
|
35
|
+
constructor(builder) {
|
|
36
|
+
super();
|
|
37
|
+
if (!builder) {
|
|
38
|
+
throw new Error('builder cannot be null or undefined');
|
|
39
|
+
}
|
|
40
|
+
this._builder = builder;
|
|
41
|
+
}
|
|
42
|
+
compile() {
|
|
43
|
+
const sort = this._builder.getSort();
|
|
44
|
+
let stmt = '';
|
|
45
|
+
const bindings = [];
|
|
46
|
+
if (sort) {
|
|
47
|
+
stmt = ` ORDER BY \`${sort.column}\` ${sort.order.toLowerCase() === 'asc' ? 'ASC' : 'DESC'}`;
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
bindings,
|
|
51
|
+
expression: stmt,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
SqliteOrderByCompiler = __decorate([
|
|
56
|
+
NewInstance(),
|
|
57
|
+
__metadata("design:paramtypes", [OrderByBuilder])
|
|
58
|
+
], SqliteOrderByCompiler);
|
|
59
|
+
export { SqliteOrderByCompiler };
|
|
60
|
+
let SqliteOnDuplicateQueryCompiler = class SqliteOnDuplicateQueryCompiler extends SqlOnDuplicateQueryCompiler {
|
|
61
|
+
constructor(builder) {
|
|
62
|
+
super(builder);
|
|
63
|
+
}
|
|
64
|
+
compile() {
|
|
65
|
+
if (this._builder.getColumn().length === 0) {
|
|
66
|
+
throw new OrmException(`no unique or primary key columns defined in table ${this._builder.getParent().Table}`);
|
|
67
|
+
}
|
|
68
|
+
const columns = this._builder.getColumnsToUpdate().map((c) => {
|
|
69
|
+
if (_.isString(c)) {
|
|
70
|
+
return `${c} = ?`;
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
return c.Query;
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
const parent = this._builder.getParent();
|
|
77
|
+
const bindings = _.flatMap(this._builder.getColumnsToUpdate(), (c) => {
|
|
78
|
+
if (_.isString(c)) {
|
|
79
|
+
const cIndex = parent.getColumns()
|
|
80
|
+
.findIndex((col) => (_.isString(col.Column) ? col.Column === c : null));
|
|
81
|
+
return parent.Values[0][cIndex];
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
return c.Bindings;
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
return {
|
|
88
|
+
bindings,
|
|
89
|
+
expression: `ON CONFLICT(${this._builder.getColumn().join(',')}) DO UPDATE SET ${columns.join(',')}`,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
SqliteOnDuplicateQueryCompiler = __decorate([
|
|
94
|
+
NewInstance(),
|
|
95
|
+
__metadata("design:paramtypes", [OnDuplicateQueryBuilder])
|
|
96
|
+
], SqliteOnDuplicateQueryCompiler);
|
|
97
|
+
export { SqliteOnDuplicateQueryCompiler };
|
|
98
|
+
let SqliteTableExistsCompiler = class SqliteTableExistsCompiler {
|
|
99
|
+
constructor(builder) {
|
|
100
|
+
this.builder = builder;
|
|
101
|
+
if (builder === null) {
|
|
102
|
+
throw new Error('table exists query builder cannot be null');
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
compile() {
|
|
106
|
+
return {
|
|
107
|
+
bindings: [this.builder.Table],
|
|
108
|
+
expression: `SELECT name FROM sqlite_master WHERE type='table' AND name=? LIMIT 1;`,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
SqliteTableExistsCompiler = __decorate([
|
|
113
|
+
NewInstance(),
|
|
114
|
+
__metadata("design:paramtypes", [TableExistsQueryBuilder])
|
|
115
|
+
], SqliteTableExistsCompiler);
|
|
116
|
+
export { SqliteTableExistsCompiler };
|
|
117
|
+
let SqliteTableQueryCompiler = class SqliteTableQueryCompiler extends SqlTableQueryCompiler {
|
|
118
|
+
compile() {
|
|
119
|
+
const _table = this._table();
|
|
120
|
+
const _columns = this._columns();
|
|
121
|
+
const _foreignKeys = this._foreignKeys();
|
|
122
|
+
return [
|
|
123
|
+
{
|
|
124
|
+
bindings: [],
|
|
125
|
+
expression: `${_table} (${_columns} ${_foreignKeys ? ',' + _foreignKeys : ''})`,
|
|
126
|
+
},
|
|
127
|
+
];
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
SqliteTableQueryCompiler = __decorate([
|
|
131
|
+
NewInstance(),
|
|
132
|
+
Inject(Container)
|
|
133
|
+
], SqliteTableQueryCompiler);
|
|
134
|
+
export { SqliteTableQueryCompiler };
|
|
135
|
+
let SqliteInsertQueryCompiler = class SqliteInsertQueryCompiler extends SqlInsertQueryCompiler {
|
|
136
|
+
constructor(container, builder) {
|
|
137
|
+
super(container, builder);
|
|
138
|
+
}
|
|
139
|
+
compile() {
|
|
140
|
+
const into = this.into();
|
|
141
|
+
const columns = this.columns();
|
|
142
|
+
const values = this.values();
|
|
143
|
+
const upsort = this.upsort();
|
|
144
|
+
return {
|
|
145
|
+
bindings: values.bindings.concat(upsort.bindings),
|
|
146
|
+
expression: `${into} ${columns} ${values.data} ${upsort.expression}`.trim(),
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
into() {
|
|
150
|
+
return `INSERT${this._builder.Ignore ? ' OR IGNORE' : ''}${this._builder.Replace ? ' OR REPLACE' : ''} INTO \`${this._builder.Table}\``;
|
|
151
|
+
}
|
|
152
|
+
};
|
|
153
|
+
SqliteInsertQueryCompiler = __decorate([
|
|
154
|
+
NewInstance(),
|
|
155
|
+
Inject(Container),
|
|
156
|
+
__metadata("design:paramtypes", [Object, InsertQueryBuilder])
|
|
157
|
+
], SqliteInsertQueryCompiler);
|
|
158
|
+
export { SqliteInsertQueryCompiler };
|
|
159
|
+
let SqliteColumnCompiler = class SqliteColumnCompiler extends SqlColumnQueryCompiler {
|
|
160
|
+
compile() {
|
|
161
|
+
const _stmt = [];
|
|
162
|
+
_stmt.push(`\`${this.builder.Name}\``);
|
|
163
|
+
switch (this.builder.Type) {
|
|
164
|
+
case 'binary':
|
|
165
|
+
case 'tinyblob':
|
|
166
|
+
case 'mediumblob':
|
|
167
|
+
case 'longblob':
|
|
168
|
+
_stmt.push('BLOB');
|
|
169
|
+
break;
|
|
170
|
+
case 'string':
|
|
171
|
+
case 'text':
|
|
172
|
+
case 'mediumtext':
|
|
173
|
+
case 'tinytext':
|
|
174
|
+
case 'longtext':
|
|
175
|
+
case 'date':
|
|
176
|
+
case 'dateTime':
|
|
177
|
+
case 'time':
|
|
178
|
+
case 'set':
|
|
179
|
+
case 'timestamp':
|
|
180
|
+
case 'enum':
|
|
181
|
+
_stmt.push(`TEXT`);
|
|
182
|
+
break;
|
|
183
|
+
case 'float':
|
|
184
|
+
case 'double':
|
|
185
|
+
_stmt.push(`REAL`);
|
|
186
|
+
break;
|
|
187
|
+
case 'decimal':
|
|
188
|
+
_stmt.push(`DECIMAL`);
|
|
189
|
+
break;
|
|
190
|
+
case 'int':
|
|
191
|
+
case 'tinyint':
|
|
192
|
+
case 'smallint':
|
|
193
|
+
case 'mediumint':
|
|
194
|
+
case 'bigint':
|
|
195
|
+
case 'boolean':
|
|
196
|
+
_stmt.push('INTEGER');
|
|
197
|
+
break;
|
|
198
|
+
}
|
|
199
|
+
if (this.builder.Unsigned) {
|
|
200
|
+
_stmt.push('UNSIGNED');
|
|
201
|
+
}
|
|
202
|
+
if (this.builder.Charset) {
|
|
203
|
+
_stmt.push(`CHARACTER SET '${this.builder.Charset}'`);
|
|
204
|
+
}
|
|
205
|
+
if (this.builder.Collation) {
|
|
206
|
+
_stmt.push(`COLLATE '${this.builder.Collation}'`);
|
|
207
|
+
}
|
|
208
|
+
if (this.builder.NotNull) {
|
|
209
|
+
_stmt.push('NOT NULL');
|
|
210
|
+
}
|
|
211
|
+
if (this.builder.Default) {
|
|
212
|
+
_stmt.push(this._defaultCompiler());
|
|
213
|
+
}
|
|
214
|
+
if (this.builder.Comment) {
|
|
215
|
+
_stmt.push(`COMMENT '${this.builder.Comment}'`);
|
|
216
|
+
}
|
|
217
|
+
if (this.builder.PrimaryKey) {
|
|
218
|
+
_stmt.push(`PRIMARY KEY`);
|
|
219
|
+
}
|
|
220
|
+
if (this.builder.AutoIncrement) {
|
|
221
|
+
_stmt.push(`AUTOINCREMENT`);
|
|
222
|
+
}
|
|
223
|
+
if (this.builder.Unique) {
|
|
224
|
+
_stmt.push('UNIQUE');
|
|
225
|
+
}
|
|
226
|
+
return {
|
|
227
|
+
bindings: [],
|
|
228
|
+
expression: _stmt.filter((x) => !_.isEmpty(x)).join(' '),
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
_defaultCompiler() {
|
|
232
|
+
let _stmt = '';
|
|
233
|
+
if (_.isNil(this.builder.Default) || (_.isString(this.builder.Default) && _.isEmpty(this.builder.Default.trim()))) {
|
|
234
|
+
return _stmt;
|
|
235
|
+
}
|
|
236
|
+
if (_.isString(this.builder.Default)) {
|
|
237
|
+
_stmt = `DEFAULT '${this.builder.Default.trim()}'`;
|
|
238
|
+
}
|
|
239
|
+
else if (_.isNumber(this.builder.Default)) {
|
|
240
|
+
_stmt = `DEFAULT ${this.builder.Default}`;
|
|
241
|
+
}
|
|
242
|
+
else if (this.builder.Default instanceof RawQuery) {
|
|
243
|
+
_stmt = `DEFAULT ${this.builder.Default.Query}`;
|
|
244
|
+
}
|
|
245
|
+
return _stmt;
|
|
246
|
+
}
|
|
247
|
+
};
|
|
248
|
+
SqliteColumnCompiler = __decorate([
|
|
249
|
+
NewInstance()
|
|
250
|
+
], SqliteColumnCompiler);
|
|
251
|
+
export { SqliteColumnCompiler };
|
|
252
252
|
//# sourceMappingURL=compilers.js.map
|
package/lib/mjs/compilers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compilers.js","sourceRoot":"","sources":["../../src/compilers.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,sCAAsC;;;;;;;;;;AAEtC,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AACtI,OAAO,EAAmB,cAAc,EAAE,oBAAoB,EAAE,QAAQ,EAAE,uBAAuB,EAAmB,kBAAkB,EAAuB,uBAAuB,EAAE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACpR,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAc,MAAM,aAAa,CAAC;AACzE,OAAO,CAAC,MAAM,QAAQ,CAAC;AAGhB,IAAM,gCAAgC,GAAtC,MAAM,gCAAiC,SAAQ,kBAAkB;IACtE,YAAsB,SAAoB,EAAY,OAA0B;QAC9E,KAAK,EAAE,CAAC;QADY,cAAS,GAAT,SAAS,CAAW;QAAY,YAAO,GAAP,OAAO,CAAmB;IAEhF,CAAC;IAEM,OAAO;QACZ,OAAO;YACL,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,eAAe,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;SAC9F,CAAC;IACJ,CAAC;CACF,CAAA;AAXY,gCAAgC;IAD5C,WAAW,EAAE;qCAEqB,SAAS,EAAqB,iBAAiB;GADrE,gCAAgC,CAW5C
|
|
1
|
+
{"version":3,"file":"compilers.js","sourceRoot":"","sources":["../../src/compilers.ts"],"names":[],"mappings":"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"}
|
package/lib/mjs/converters.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ModelBase, ModelToSqlConverter, ObjectToSqlConverter } from '@spinajs/orm';
|
|
2
|
-
export declare class SqliteModelToSqlConverter extends ModelToSqlConverter {
|
|
3
|
-
toSql(model: ModelBase<unknown>): unknown;
|
|
4
|
-
}
|
|
5
|
-
export declare class SqliteObjectToSqlConverter extends ObjectToSqlConverter {
|
|
6
|
-
toSql(model: unknown): unknown;
|
|
7
|
-
}
|
|
1
|
+
import { ModelBase, ModelToSqlConverter, ObjectToSqlConverter } from '@spinajs/orm';
|
|
2
|
+
export declare class SqliteModelToSqlConverter extends ModelToSqlConverter {
|
|
3
|
+
toSql(model: ModelBase<unknown>): unknown;
|
|
4
|
+
}
|
|
5
|
+
export declare class SqliteObjectToSqlConverter extends ObjectToSqlConverter {
|
|
6
|
+
toSql(model: unknown): unknown;
|
|
7
|
+
}
|
|
8
8
|
//# sourceMappingURL=converters.d.ts.map
|
package/lib/mjs/converters.js
CHANGED
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
/* eslint-disable security/detect-object-injection */
|
|
2
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
|
-
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
4
|
-
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
5
|
-
import { ModelToSqlConverter, ObjectToSqlConverter, OrmException, RelationType } from '@spinajs/orm';
|
|
6
|
-
export class SqliteModelToSqlConverter extends ModelToSqlConverter {
|
|
7
|
-
toSql(model) {
|
|
8
|
-
const obj = {};
|
|
9
|
-
const relArr = [...model.ModelDescriptor.Relations.values()];
|
|
10
|
-
model.ModelDescriptor.Columns?.forEach((c) => {
|
|
11
|
-
const val = model[c.Name];
|
|
12
|
-
if (!c.PrimaryKey && !c.Nullable && (val === null || val === undefined || val === '')) {
|
|
13
|
-
throw new OrmException(`Field ${c.Name} cannot be null`);
|
|
14
|
-
}
|
|
15
|
-
// undefined properties we omit,
|
|
16
|
-
// assume that those values have default value in DB defined,
|
|
17
|
-
// SQLITE does not support DEFAULT keyword in insert statements
|
|
18
|
-
// this way insertquerycompiler will not try to fill DEFAULT in missing data
|
|
19
|
-
if (val === undefined)
|
|
20
|
-
return;
|
|
21
|
-
obj[c.Name] = c.Converter ? c.Converter.toDB(val, model, model.ModelDescriptor.Converters.get(c.Name).Options) : val;
|
|
22
|
-
});
|
|
23
|
-
for (const val of relArr) {
|
|
24
|
-
if (val.Type === RelationType.One) {
|
|
25
|
-
if (model[val.Name].Value) {
|
|
26
|
-
obj[val.ForeignKey] = model[val.Name].Value.PrimaryKeyValue;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
return obj;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
export class SqliteObjectToSqlConverter extends ObjectToSqlConverter {
|
|
34
|
-
toSql(model) {
|
|
35
|
-
const sqlModel = {};
|
|
36
|
-
// undefined properties we omit,
|
|
37
|
-
// assume that those values have default value in DB defined,
|
|
38
|
-
// SQLITE does not support DEFAULT keyword in insert statements
|
|
39
|
-
// this way insertquerycompiler will not try to fill DEFAULT in missing data
|
|
40
|
-
Object.keys(model).forEach((key) => {
|
|
41
|
-
if (model[key] !== undefined) {
|
|
42
|
-
sqlModel[key] = model[key];
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
return sqlModel;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
1
|
+
/* eslint-disable security/detect-object-injection */
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
|
+
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
5
|
+
import { ModelToSqlConverter, ObjectToSqlConverter, OrmException, RelationType } from '@spinajs/orm';
|
|
6
|
+
export class SqliteModelToSqlConverter extends ModelToSqlConverter {
|
|
7
|
+
toSql(model) {
|
|
8
|
+
const obj = {};
|
|
9
|
+
const relArr = [...model.ModelDescriptor.Relations.values()];
|
|
10
|
+
model.ModelDescriptor.Columns?.forEach((c) => {
|
|
11
|
+
const val = model[c.Name];
|
|
12
|
+
if (!c.PrimaryKey && !c.Nullable && (val === null || val === undefined || val === '')) {
|
|
13
|
+
throw new OrmException(`Field ${c.Name} cannot be null`);
|
|
14
|
+
}
|
|
15
|
+
// undefined properties we omit,
|
|
16
|
+
// assume that those values have default value in DB defined,
|
|
17
|
+
// SQLITE does not support DEFAULT keyword in insert statements
|
|
18
|
+
// this way insertquerycompiler will not try to fill DEFAULT in missing data
|
|
19
|
+
if (val === undefined)
|
|
20
|
+
return;
|
|
21
|
+
obj[c.Name] = c.Converter ? c.Converter.toDB(val, model, model.ModelDescriptor.Converters.get(c.Name).Options) : val;
|
|
22
|
+
});
|
|
23
|
+
for (const val of relArr) {
|
|
24
|
+
if (val.Type === RelationType.One) {
|
|
25
|
+
if (model[val.Name].Value) {
|
|
26
|
+
obj[val.ForeignKey] = model[val.Name].Value.PrimaryKeyValue;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return obj;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export class SqliteObjectToSqlConverter extends ObjectToSqlConverter {
|
|
34
|
+
toSql(model) {
|
|
35
|
+
const sqlModel = {};
|
|
36
|
+
// undefined properties we omit,
|
|
37
|
+
// assume that those values have default value in DB defined,
|
|
38
|
+
// SQLITE does not support DEFAULT keyword in insert statements
|
|
39
|
+
// this way insertquerycompiler will not try to fill DEFAULT in missing data
|
|
40
|
+
Object.keys(model).forEach((key) => {
|
|
41
|
+
if (model[key] !== undefined) {
|
|
42
|
+
sqlModel[key] = model[key];
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
return sqlModel;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
48
|
//# sourceMappingURL=converters.js.map
|