@spinajs/orm-sqlite 1.0.24 → 1.2.32

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.
@@ -0,0 +1,215 @@
1
+ "use strict";
2
+ /* eslint-disable security/detect-object-injection */
3
+ /* eslint-disable prettier/prettier */
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
7
+ 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;
8
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
9
+ };
10
+ var __metadata = (this && this.__metadata) || function (k, v) {
11
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.SqliteColumnCompiler = exports.SqliteInsertQueryCompiler = exports.SqliteTableQueryCompiler = exports.SqliteOnDuplicateQueryCompiler = exports.SqliteOrderByCompiler = void 0;
15
+ const orm_sql_1 = require("@spinajs/orm-sql");
16
+ const orm_1 = require("@spinajs/orm");
17
+ const di_1 = require("@spinajs/di");
18
+ const _ = require("lodash");
19
+ let SqliteOrderByCompiler = class SqliteOrderByCompiler extends orm_1.OrderByQueryCompiler {
20
+ constructor(builder) {
21
+ super();
22
+ if (!builder) {
23
+ throw new Error('builder cannot be null or undefined');
24
+ }
25
+ this._builder = builder;
26
+ }
27
+ compile() {
28
+ const sort = this._builder.getSort();
29
+ let stmt = '';
30
+ const bindings = [];
31
+ if (sort) {
32
+ stmt = ` ORDER BY \`${sort.column}\` ${sort.order.toLowerCase() === 'asc' ? 'ASC' : 'DESC'}`;
33
+ }
34
+ return {
35
+ bindings,
36
+ expression: stmt,
37
+ };
38
+ }
39
+ };
40
+ SqliteOrderByCompiler = __decorate([
41
+ (0, di_1.NewInstance)(),
42
+ __metadata("design:paramtypes", [orm_1.OrderByBuilder])
43
+ ], SqliteOrderByCompiler);
44
+ exports.SqliteOrderByCompiler = SqliteOrderByCompiler;
45
+ let SqliteOnDuplicateQueryCompiler = class SqliteOnDuplicateQueryCompiler extends orm_sql_1.SqlOnDuplicateQueryCompiler {
46
+ constructor(builder) {
47
+ super(builder);
48
+ }
49
+ compile() {
50
+ const columns = this._builder.getColumnsToUpdate().map((c) => {
51
+ if (_.isString(c)) {
52
+ return `${c} = ?`;
53
+ }
54
+ else {
55
+ return c.Query;
56
+ }
57
+ });
58
+ const bindings = _.flatMap(this._builder.getColumnsToUpdate(), (c) => {
59
+ if (_.isString(c)) {
60
+ const cIndex = this._builder
61
+ .getParent()
62
+ .getColumns()
63
+ .findIndex((col) => (_.isString(col.Column) ? col.Column === c : null));
64
+ return this._builder.getParent().Values[0][cIndex];
65
+ }
66
+ else {
67
+ return c.Bindings;
68
+ }
69
+ });
70
+ return {
71
+ bindings,
72
+ expression: `ON CONFLICT(${this._builder.getColumn().join(',')}) DO UPDATE SET ${columns.join(',')}`,
73
+ };
74
+ }
75
+ };
76
+ SqliteOnDuplicateQueryCompiler = __decorate([
77
+ (0, di_1.NewInstance)(),
78
+ __metadata("design:paramtypes", [orm_1.OnDuplicateQueryBuilder])
79
+ ], SqliteOnDuplicateQueryCompiler);
80
+ exports.SqliteOnDuplicateQueryCompiler = SqliteOnDuplicateQueryCompiler;
81
+ let SqliteTableQueryCompiler = class SqliteTableQueryCompiler extends orm_sql_1.SqlTableQueryCompiler {
82
+ compile() {
83
+ const _table = this._table();
84
+ const _columns = this._columns();
85
+ const _foreignKeys = this._foreignKeys();
86
+ return {
87
+ bindings: [],
88
+ expression: `${_table} (${_columns} ${_foreignKeys ? ',' + _foreignKeys : ''})`,
89
+ };
90
+ }
91
+ };
92
+ SqliteTableQueryCompiler = __decorate([
93
+ (0, di_1.NewInstance)(),
94
+ (0, di_1.Inject)(di_1.Container)
95
+ ], SqliteTableQueryCompiler);
96
+ exports.SqliteTableQueryCompiler = SqliteTableQueryCompiler;
97
+ let SqliteInsertQueryCompiler = class SqliteInsertQueryCompiler extends orm_sql_1.SqlInsertQueryCompiler {
98
+ constructor(builder) {
99
+ super(builder);
100
+ }
101
+ compile() {
102
+ const into = this.into();
103
+ const columns = this.columns();
104
+ const values = this.values();
105
+ const onDuplicate = this.onDuplicate();
106
+ return {
107
+ bindings: values.bindings.concat(onDuplicate.bindings),
108
+ expression: `${into} ${columns} ${values.data} ${onDuplicate.expression}`.trim(),
109
+ };
110
+ }
111
+ into() {
112
+ return `INSERT${this._builder.Ignore ? ' OR IGNORE' : ''} INTO \`${this._builder.Table}\``;
113
+ }
114
+ };
115
+ __decorate([
116
+ (0, di_1.Autoinject)(),
117
+ __metadata("design:type", di_1.Container)
118
+ ], SqliteInsertQueryCompiler.prototype, "_container", void 0);
119
+ SqliteInsertQueryCompiler = __decorate([
120
+ (0, di_1.NewInstance)(),
121
+ __metadata("design:paramtypes", [orm_1.InsertQueryBuilder])
122
+ ], SqliteInsertQueryCompiler);
123
+ exports.SqliteInsertQueryCompiler = SqliteInsertQueryCompiler;
124
+ let SqliteColumnCompiler = class SqliteColumnCompiler extends orm_sql_1.SqlColumnQueryCompiler {
125
+ compile() {
126
+ const _stmt = [];
127
+ _stmt.push(`\`${this.builder.Name}\``);
128
+ switch (this.builder.Type) {
129
+ case 'binary':
130
+ case 'tinyblob':
131
+ case 'mediumblob':
132
+ case 'longblob':
133
+ _stmt.push('BLOB');
134
+ break;
135
+ case 'string':
136
+ case 'text':
137
+ case 'mediumtext':
138
+ case 'tinytext':
139
+ case 'longtext':
140
+ case 'date':
141
+ case 'dateTime':
142
+ case 'time':
143
+ case 'set':
144
+ _stmt.push(`TEXT`);
145
+ break;
146
+ case 'float':
147
+ case 'double':
148
+ _stmt.push(`REAL`);
149
+ break;
150
+ case 'decimal':
151
+ _stmt.push(`DECIMAL`);
152
+ break;
153
+ case 'int':
154
+ case 'tinyint':
155
+ case 'smallint':
156
+ case 'mediumint':
157
+ case 'bigint':
158
+ case 'boolean':
159
+ _stmt.push('INTEGER');
160
+ break;
161
+ }
162
+ if (this.builder.Unsigned) {
163
+ _stmt.push('UNSIGNED');
164
+ }
165
+ if (this.builder.Charset) {
166
+ _stmt.push(`CHARACTER SET '${this.builder.Charset}'`);
167
+ }
168
+ if (this.builder.Collation) {
169
+ _stmt.push(`COLLATE '${this.builder.Collation}'`);
170
+ }
171
+ if (this.builder.NotNull) {
172
+ _stmt.push('NOT NULL');
173
+ }
174
+ if (this.builder.Default) {
175
+ _stmt.push(this._defaultCompiler());
176
+ }
177
+ if (this.builder.Comment) {
178
+ _stmt.push(`COMMENT '${this.builder.Comment}'`);
179
+ }
180
+ if (this.builder.PrimaryKey) {
181
+ _stmt.push(`PRIMARY KEY`);
182
+ }
183
+ if (this.builder.AutoIncrement) {
184
+ _stmt.push(`AUTOINCREMENT`);
185
+ }
186
+ if (this.builder.Unique) {
187
+ _stmt.push('UNIQUE');
188
+ }
189
+ return {
190
+ bindings: [],
191
+ expression: _stmt.filter((x) => !_.isEmpty(x)).join(' '),
192
+ };
193
+ }
194
+ _defaultCompiler() {
195
+ let _stmt = '';
196
+ if (_.isNil(this.builder.Default) || (_.isString(this.builder.Default) && _.isEmpty(this.builder.Default.trim()))) {
197
+ return _stmt;
198
+ }
199
+ if (_.isString(this.builder.Default)) {
200
+ _stmt = `DEFAULT '${this.builder.Default.trim()}'`;
201
+ }
202
+ else if (_.isNumber(this.builder.Default)) {
203
+ _stmt = `DEFAULT ${this.builder.Default}`;
204
+ }
205
+ else if (this.builder.Default instanceof orm_1.RawQuery) {
206
+ _stmt = `DEFAULT ${this.builder.Default.Query}`;
207
+ }
208
+ return _stmt;
209
+ }
210
+ };
211
+ SqliteColumnCompiler = __decorate([
212
+ (0, di_1.NewInstance)()
213
+ ], SqliteColumnCompiler);
214
+ exports.SqliteColumnCompiler = SqliteColumnCompiler;
215
+ //# sourceMappingURL=compilers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compilers.js","sourceRoot":"","sources":["../../../src/compilers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { DatetimeValueConverter } from '@spinajs/orm';
2
+ import { DateTime } from 'luxon';
3
+ export declare class SqliteDatetimeValueConverter extends DatetimeValueConverter {
4
+ toDB(value: Date | DateTime): string;
5
+ fromDB(value: string): DateTime;
6
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SqliteDatetimeValueConverter = void 0;
4
+ /* eslint-disable prettier/prettier */
5
+ const orm_1 = require("@spinajs/orm");
6
+ const luxon_1 = require("luxon");
7
+ class SqliteDatetimeValueConverter extends orm_1.DatetimeValueConverter {
8
+ toDB(value) {
9
+ if (value instanceof Date) {
10
+ return value.toISOString();
11
+ }
12
+ if (value instanceof luxon_1.DateTime) {
13
+ return value.toISO();
14
+ }
15
+ return null;
16
+ }
17
+ fromDB(value) {
18
+ if (!value) {
19
+ return null;
20
+ }
21
+ return luxon_1.DateTime.fromISO(value);
22
+ }
23
+ }
24
+ exports.SqliteDatetimeValueConverter = SqliteDatetimeValueConverter;
25
+ //# sourceMappingURL=converters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"converters.js","sourceRoot":"","sources":["../../../src/converters.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AACtC,sCAAsD;AACtD,iCAAiC;AAEjC,MAAa,4BAA6B,SAAQ,4BAAsB;IAC/D,IAAI,CAAC,KAAsB;QAChC,IAAI,KAAK,YAAY,IAAI,EAAE;YACzB,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;SAC5B;QAED,IAAI,KAAK,YAAY,gBAAQ,EAAE;YAC7B,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC;SACtB;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,KAAa;QACzB,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,IAAI,CAAC;SACb;QAED,OAAO,gBAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;CACF;AApBD,oEAoBC"}
@@ -0,0 +1,22 @@
1
+ export * from './compilers';
2
+ import { IColumnDescriptor, QueryContext, OrmDriver, QueryBuilder, TransactionCallback } from '@spinajs/orm';
3
+ import { Database } from 'sqlite3';
4
+ import { SqlDriver } from '@spinajs/orm-sql';
5
+ export declare class SqliteOrmDriver extends SqlDriver {
6
+ protected executionId: number;
7
+ protected Db: Database;
8
+ execute(stmt: string, params: unknown[], queryContext: QueryContext): Promise<unknown>;
9
+ ping(): Promise<boolean>;
10
+ connect(): Promise<OrmDriver>;
11
+ disconnect(): Promise<OrmDriver>;
12
+ resolve(): void;
13
+ transaction(qrOrCallback: QueryBuilder[] | TransactionCallback): Promise<void>;
14
+ /**
15
+ *
16
+ * Retrieves information about specific DB table if exists. If table not exists returns null
17
+ *
18
+ * @param name - table name to retrieve info
19
+ * @param _schema - optional schema name
20
+ */
21
+ tableInfo(name: string, _schema?: string): Promise<IColumnDescriptor[]>;
22
+ }
@@ -0,0 +1,221 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
10
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
11
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
12
+ 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;
13
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
14
+ };
15
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.SqliteOrmDriver = void 0;
20
+ /* eslint-disable @typescript-eslint/no-explicit-any */
21
+ /* eslint-disable @typescript-eslint/no-unsafe-argument */
22
+ /* eslint-disable @typescript-eslint/no-unsafe-assignment */
23
+ /* eslint-disable @typescript-eslint/no-unsafe-call */
24
+ /* eslint-disable @typescript-eslint/no-unsafe-member-access */
25
+ /* eslint-disable @typescript-eslint/require-await */
26
+ const index_1 = require("./../../log-common/src/index");
27
+ /* eslint-disable prettier/prettier */
28
+ __exportStar(require("./compilers"), exports);
29
+ const orm_1 = require("@spinajs/orm");
30
+ const sqlite3_1 = require("sqlite3");
31
+ const orm_sql_1 = require("@spinajs/orm-sql");
32
+ const di_1 = require("@spinajs/di");
33
+ const compilers_1 = require("./compilers");
34
+ const statements_1 = require("./statements");
35
+ const converters_1 = require("./converters");
36
+ const exceptions_1 = require("@spinajs/exceptions");
37
+ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
38
+ constructor() {
39
+ super(...arguments);
40
+ this.executionId = 0;
41
+ }
42
+ execute(stmt, params, queryContext) {
43
+ const queryParams = params !== null && params !== void 0 ? params : [];
44
+ if (!this.Db) {
45
+ throw new Error('cannot execute sqlite statement, no db connection avaible');
46
+ }
47
+ const tName = `query-${this.executionId++}`;
48
+ this.Log.timeStart(`query-${tName}`);
49
+ return new Promise((resolve, reject) => {
50
+ switch (queryContext) {
51
+ case orm_1.QueryContext.Update:
52
+ case orm_1.QueryContext.Delete:
53
+ case orm_1.QueryContext.Schema:
54
+ case orm_1.QueryContext.Transaction:
55
+ this.Db.run(stmt, ...queryParams, (err, data) => {
56
+ if (err) {
57
+ reject(err);
58
+ return;
59
+ }
60
+ resolve(data);
61
+ });
62
+ break;
63
+ case orm_1.QueryContext.Select:
64
+ this.Db.all(stmt, ...queryParams, (err, rows) => {
65
+ if (err) {
66
+ reject(err);
67
+ return;
68
+ }
69
+ resolve(rows);
70
+ });
71
+ break;
72
+ case orm_1.QueryContext.Insert:
73
+ this.Db.run(stmt, ...queryParams, function (err) {
74
+ if (err) {
75
+ if (err.code === 'SQLITE_CONSTRAINT') {
76
+ reject(new exceptions_1.ResourceDuplicated(err));
77
+ }
78
+ else {
79
+ reject(err);
80
+ }
81
+ return;
82
+ }
83
+ resolve(this.lastID);
84
+ });
85
+ break;
86
+ }
87
+ })
88
+ .then((val) => {
89
+ const tDiff = this.Log.timeEnd(`query-${tName}`);
90
+ void this.Log.write({
91
+ Level: index_1.LogLevel.Trace,
92
+ Variables: {
93
+ error: null,
94
+ message: `Executed: ${stmt}, bindings: ${params ? params.join(',') : 'none'}`,
95
+ logger: this.Log.Name,
96
+ level: 'trace',
97
+ duration: tDiff,
98
+ },
99
+ });
100
+ return val;
101
+ })
102
+ .catch((err) => {
103
+ const tDiff = this.Log.timeEnd(`query-${tName}`);
104
+ void this.Log.write({
105
+ Level: index_1.LogLevel.Error,
106
+ Variables: {
107
+ error: err,
108
+ message: `Failed: ${stmt}, bindings: ${params ? params.join(',') : 'none'}`,
109
+ logger: this.Log.Name,
110
+ level: 'Error',
111
+ duration: tDiff,
112
+ },
113
+ });
114
+ throw err;
115
+ });
116
+ }
117
+ async ping() {
118
+ return this.Db !== null && this.Db !== undefined;
119
+ }
120
+ async connect() {
121
+ return new Promise((resolve, reject) => {
122
+ this.Db = new sqlite3_1.Database(this.Options.Filename, (err) => {
123
+ if (err) {
124
+ reject(err);
125
+ return;
126
+ }
127
+ resolve(this);
128
+ });
129
+ });
130
+ }
131
+ async disconnect() {
132
+ return new Promise((resolve, reject) => {
133
+ this.Db.close((err) => {
134
+ if (err) {
135
+ reject(err);
136
+ return;
137
+ }
138
+ this.Db = null;
139
+ resolve(this);
140
+ });
141
+ });
142
+ }
143
+ resolve() {
144
+ super.resolve();
145
+ this.Container.register(compilers_1.SqliteColumnCompiler).as(orm_1.ColumnQueryCompiler);
146
+ this.Container.register(compilers_1.SqliteTableQueryCompiler).as(orm_1.TableQueryCompiler);
147
+ this.Container.register(compilers_1.SqliteOrderByCompiler).as(orm_1.OrderByQueryCompiler);
148
+ this.Container.register(statements_1.SqlLiteJoinStatement).as(orm_1.JoinStatement);
149
+ this.Container.register(compilers_1.SqliteOnDuplicateQueryCompiler).as(orm_1.OnDuplicateQueryCompiler);
150
+ this.Container.register(compilers_1.SqliteInsertQueryCompiler).as(orm_1.InsertQueryCompiler);
151
+ this.Container.register(converters_1.SqliteDatetimeValueConverter).as(orm_1.DatetimeValueConverter);
152
+ }
153
+ async transaction(qrOrCallback) {
154
+ if (!qrOrCallback) {
155
+ return;
156
+ }
157
+ await this.execute('BEGIN TRANSACTION', null, orm_1.QueryContext.Transaction);
158
+ try {
159
+ if (Array.isArray(qrOrCallback)) {
160
+ for (const q of qrOrCallback) {
161
+ await q;
162
+ }
163
+ }
164
+ else {
165
+ await qrOrCallback(this);
166
+ }
167
+ await this.execute('COMMIT', null, orm_1.QueryContext.Transaction);
168
+ }
169
+ catch (ex) {
170
+ await this.execute('ROLLBACK', null, orm_1.QueryContext.Transaction);
171
+ throw ex;
172
+ }
173
+ }
174
+ /**
175
+ *
176
+ * Retrieves information about specific DB table if exists. If table not exists returns null
177
+ *
178
+ * @param name - table name to retrieve info
179
+ * @param _schema - optional schema name
180
+ */
181
+ async tableInfo(name, _schema) {
182
+ const tblInfo = (await this.execute(`PRAGMA table_info(${name});`, null, orm_1.QueryContext.Select));
183
+ const indexInfo = (await this.execute(`select type, name, tbl_name, sql FROM sqlite_master WHERE type='index' AND tbl_name='${name}'`, null, orm_1.QueryContext.Select));
184
+ if (!tblInfo || !indexInfo || !Array.isArray(tblInfo) || tblInfo.length === 0) {
185
+ return null;
186
+ }
187
+ const re = /\((.*?)\)/;
188
+ const indices = indexInfo.map((i) => {
189
+ var _a;
190
+ return {
191
+ table: i.tbl_name,
192
+ column_name: (_a = i.sql) === null || _a === void 0 ? void 0 : _a.match(re)[0],
193
+ };
194
+ });
195
+ return tblInfo.map((r) => {
196
+ return {
197
+ Type: r.type,
198
+ MaxLength: -1,
199
+ Comment: '',
200
+ DefaultValue: r.dflt_value,
201
+ NativeType: r.type,
202
+ Unsigned: false,
203
+ Nullable: r.notnull === 0,
204
+ PrimaryKey: r.pk === 1,
205
+ Uuid: false,
206
+ Ignore: false,
207
+ // simply assumpt that integer pkeys are autoincement / auto fill by default
208
+ AutoIncrement: r.pk === 1 && r.type === 'INTEGER',
209
+ Name: r.name,
210
+ Converter: null,
211
+ Schema: _schema ? _schema : this.Options.Database,
212
+ Unique: indices.find((i) => i.column_name && i.column_name.includes(r.name) && i.table === name) !== undefined,
213
+ };
214
+ });
215
+ }
216
+ };
217
+ SqliteOrmDriver = __decorate([
218
+ (0, di_1.Injectable)('orm-driver-sqlite')
219
+ ], SqliteOrmDriver);
220
+ exports.SqliteOrmDriver = SqliteOrmDriver;
221
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { RawQuery } from '@spinajs/orm';
2
+ import { SqlJoinStatement } from '@spinajs/orm-sql';
3
+ import { JoinMethod } from '@spinajs/orm/lib/enums';
4
+ export declare class SqlLiteJoinStatement extends SqlJoinStatement {
5
+ constructor(table: string | RawQuery, method: JoinMethod, foreignKey: string, primaryKey: string, alias: string, tableAlias: string);
6
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SqlLiteJoinStatement = void 0;
13
+ /* eslint-disable prettier/prettier */
14
+ const di_1 = require("@spinajs/di");
15
+ const orm_sql_1 = require("@spinajs/orm-sql");
16
+ const enums_1 = require("@spinajs/orm/lib/enums");
17
+ const exceptions_1 = require("@spinajs/exceptions");
18
+ let SqlLiteJoinStatement = class SqlLiteJoinStatement extends orm_sql_1.SqlJoinStatement {
19
+ constructor(table, method, foreignKey, primaryKey, alias, tableAlias) {
20
+ super(table, method, foreignKey, primaryKey, alias, tableAlias);
21
+ if (method === enums_1.JoinMethod.RIGHT || method === enums_1.JoinMethod.RIGHT_OUTER) {
22
+ throw new exceptions_1.NotSupported(`join method ${method} is not supported by sqlite driver`);
23
+ }
24
+ }
25
+ };
26
+ SqlLiteJoinStatement = __decorate([
27
+ (0, di_1.NewInstance)(),
28
+ __metadata("design:paramtypes", [Object, String, String, String, String, String])
29
+ ], SqlLiteJoinStatement);
30
+ exports.SqlLiteJoinStatement = SqlLiteJoinStatement;
31
+ //# sourceMappingURL=statements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statements.js","sourceRoot":"","sources":["../../../src/statements.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAAsC;AACtC,oCAA0C;AAE1C,8CAAoD;AACpD,kDAAoD;AACpD,oDAAmD;AAGnD,IAAa,oBAAoB,GAAjC,MAAa,oBAAqB,SAAQ,0BAAgB;IACxD,YAAY,KAAwB,EAAE,MAAkB,EAAE,UAAkB,EAAE,UAAkB,EAAE,KAAa,EAAE,UAAkB;QACjI,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAEhE,IAAI,MAAM,KAAK,kBAAU,CAAC,KAAK,IAAI,MAAM,KAAK,kBAAU,CAAC,WAAW,EAAE;YACpE,MAAM,IAAI,yBAAY,CAAC,eAAe,MAAM,oCAAoC,CAAC,CAAC;SACnF;IACH,CAAC;CACF,CAAA;AARY,oBAAoB;IADhC,IAAA,gBAAW,GAAE;;GACD,oBAAoB,CAQhC;AARY,oDAAoB"}
@@ -0,0 +1,13 @@
1
+ export interface IIndexInfo {
2
+ type: string;
3
+ name: string;
4
+ tbl_name: string;
5
+ sql: string;
6
+ }
7
+ export interface ITableInfo {
8
+ dflt_value: unknown;
9
+ type: string;
10
+ notnull: number;
11
+ pk: number;
12
+ name: string;
13
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ module.exports = ormSqlite;
4
+
5
+ function ormSqlite() {
6
+ // TODO
7
+ }
package/lib/statements.js CHANGED
@@ -10,6 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.SqlLiteJoinStatement = void 0;
13
+ /* eslint-disable prettier/prettier */
13
14
  const di_1 = require("@spinajs/di");
14
15
  const orm_sql_1 = require("@spinajs/orm-sql");
15
16
  const enums_1 = require("@spinajs/orm/lib/enums");
@@ -17,14 +18,13 @@ const exceptions_1 = require("@spinajs/exceptions");
17
18
  let SqlLiteJoinStatement = class SqlLiteJoinStatement extends orm_sql_1.SqlJoinStatement {
18
19
  constructor(table, method, foreignKey, primaryKey, alias, tableAlias) {
19
20
  super(table, method, foreignKey, primaryKey, alias, tableAlias);
20
- if (method === enums_1.JoinMethod.RIGHT ||
21
- method === enums_1.JoinMethod.RIGHT_OUTER) {
21
+ if (method === enums_1.JoinMethod.RIGHT || method === enums_1.JoinMethod.RIGHT_OUTER) {
22
22
  throw new exceptions_1.NotSupported(`join method ${method} is not supported by sqlite driver`);
23
23
  }
24
24
  }
25
25
  };
26
26
  SqlLiteJoinStatement = __decorate([
27
- di_1.NewInstance(),
27
+ (0, di_1.NewInstance)(),
28
28
  __metadata("design:paramtypes", [Object, String, String, String, String, String])
29
29
  ], SqlLiteJoinStatement);
30
30
  exports.SqlLiteJoinStatement = SqlLiteJoinStatement;
@@ -1 +1 @@
1
- {"version":3,"file":"statements.js","sourceRoot":"","sources":["../src/statements.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oCAA0C;AAE1C,8CAAoD;AACpD,kDAAoD;AACpD,oDAAmD;AAGnD,IAAa,oBAAoB,GAAjC,MAAa,oBAAqB,SAAQ,0BAAgB;IACxD,YACE,KAAwB,EACxB,MAAkB,EAClB,UAAkB,EAClB,UAAkB,EAClB,KAAa,EACb,UAAkB;QAElB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAEhE,IACE,MAAM,KAAK,kBAAU,CAAC,KAAK;YAC3B,MAAM,KAAK,kBAAU,CAAC,WAAW,EACjC;YACA,MAAM,IAAI,yBAAY,CAAC,eAAe,MAAM,oCAAoC,CAAC,CAAC;SACnF;IACH,CAAC;CACF,CAAA;AAlBY,oBAAoB;IADhC,gBAAW,EAAE;;GACD,oBAAoB,CAkBhC;AAlBY,oDAAoB"}
1
+ {"version":3,"file":"statements.js","sourceRoot":"","sources":["../src/statements.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAAsC;AACtC,oCAA0C;AAE1C,8CAAoD;AACpD,kDAAoD;AACpD,oDAAmD;AAGnD,IAAa,oBAAoB,GAAjC,MAAa,oBAAqB,SAAQ,0BAAgB;IACxD,YAAY,KAAwB,EAAE,MAAkB,EAAE,UAAkB,EAAE,UAAkB,EAAE,KAAa,EAAE,UAAkB;QACjI,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAEhE,IAAI,MAAM,KAAK,kBAAU,CAAC,KAAK,IAAI,MAAM,KAAK,kBAAU,CAAC,WAAW,EAAE;YACpE,MAAM,IAAI,yBAAY,CAAC,eAAe,MAAM,oCAAoC,CAAC,CAAC;SACnF;IACH,CAAC;CACF,CAAA;AARY,oBAAoB;IADhC,IAAA,gBAAW,GAAE;;GACD,oBAAoB,CAQhC;AARY,oDAAoB"}