@spinajs/orm-sqlite 1.0.20 → 1.2.30

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/README.md ADDED
@@ -0,0 +1,11 @@
1
+ # `@spinajs/orm-sqlite`
2
+
3
+ > TODO: description
4
+
5
+ ## Usage
6
+
7
+ ```
8
+ const ormSqlite = require('@spinajs/orm-sqlite');
9
+
10
+ // TODO: DEMONSTRATE API
11
+ ```
@@ -1,5 +1,6 @@
1
- import { SqlColumnQueryCompiler, SqlTableQueryCompiler, SqlOnDuplicateQueryCompiler } from "@spinajs/orm-sql";
2
- import { ICompilerOutput, OrderByBuilder, OrderByQueryCompiler, OnDuplicateQueryBuilder } from "@spinajs/orm";
1
+ import { SqlColumnQueryCompiler, SqlTableQueryCompiler, SqlOnDuplicateQueryCompiler, SqlInsertQueryCompiler } from '@spinajs/orm-sql';
2
+ import { ICompilerOutput, OrderByBuilder, OrderByQueryCompiler, OnDuplicateQueryBuilder, InsertQueryBuilder } from '@spinajs/orm';
3
+ import { Container } from '@spinajs/di';
3
4
  export declare class SqliteOrderByCompiler extends OrderByQueryCompiler {
4
5
  protected _builder: OrderByBuilder;
5
6
  constructor(builder: OrderByBuilder);
@@ -16,6 +17,16 @@ export declare class SqliteOnDuplicateQueryCompiler extends SqlOnDuplicateQueryC
16
17
  export declare class SqliteTableQueryCompiler extends SqlTableQueryCompiler {
17
18
  compile(): ICompilerOutput;
18
19
  }
20
+ export declare class SqliteInsertQueryCompiler extends SqlInsertQueryCompiler {
21
+ protected _container: Container;
22
+ constructor(builder: InsertQueryBuilder);
23
+ compile(): {
24
+ bindings: any[];
25
+ expression: string;
26
+ };
27
+ protected into(): string;
28
+ }
19
29
  export declare class SqliteColumnCompiler extends SqlColumnQueryCompiler {
20
30
  compile(): ICompilerOutput;
31
+ protected _defaultCompiler(): string;
21
32
  }
package/lib/compilers.js CHANGED
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ /* eslint-disable prettier/prettier */
2
3
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
4
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
5
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -9,6 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
10
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
11
  };
11
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.SqliteColumnCompiler = exports.SqliteInsertQueryCompiler = exports.SqliteTableQueryCompiler = exports.SqliteOnDuplicateQueryCompiler = exports.SqliteOrderByCompiler = void 0;
12
14
  const orm_sql_1 = require("@spinajs/orm-sql");
13
15
  const orm_1 = require("@spinajs/orm");
14
16
  const di_1 = require("@spinajs/di");
@@ -26,7 +28,7 @@ let SqliteOrderByCompiler = class SqliteOrderByCompiler extends orm_1.OrderByQue
26
28
  let stmt = '';
27
29
  const bindings = [];
28
30
  if (sort) {
29
- stmt = ` ORDER BY ${sort.column} ${sort.order.toLowerCase() === "asc" ? "ASC" : "DESC"}`;
31
+ stmt = ` ORDER BY \`${sort.column}\` ${sort.order.toLowerCase() === 'asc' ? 'ASC' : 'DESC'}`;
30
32
  }
31
33
  return {
32
34
  bindings,
@@ -35,7 +37,7 @@ let SqliteOrderByCompiler = class SqliteOrderByCompiler extends orm_1.OrderByQue
35
37
  }
36
38
  };
37
39
  SqliteOrderByCompiler = __decorate([
38
- di_1.NewInstance(),
40
+ (0, di_1.NewInstance)(),
39
41
  __metadata("design:paramtypes", [orm_1.OrderByBuilder])
40
42
  ], SqliteOrderByCompiler);
41
43
  exports.SqliteOrderByCompiler = SqliteOrderByCompiler;
@@ -54,8 +56,11 @@ let SqliteOnDuplicateQueryCompiler = class SqliteOnDuplicateQueryCompiler extend
54
56
  });
55
57
  const bindings = _.flatMap(this._builder.getColumnsToUpdate(), (c) => {
56
58
  if (_.isString(c)) {
57
- const cIndex = this._builder.getParent().getColumns().findIndex((col) => (_.isString(col.Column) ? col.Column === c : null));
58
- return this._builder.getParent().Values[0][cIndex];
59
+ const cIndex = this._builder
60
+ .getParent()
61
+ .getColumns()
62
+ .findIndex((col) => (_.isString(col.Column) ? col.Column === c : null));
63
+ return this._builder.getParent().Values[0][`${cIndex}`];
59
64
  }
60
65
  else {
61
66
  return c.Bindings;
@@ -63,12 +68,12 @@ let SqliteOnDuplicateQueryCompiler = class SqliteOnDuplicateQueryCompiler extend
63
68
  });
64
69
  return {
65
70
  bindings,
66
- expression: `ON CONFLICT(${this._builder.getColumn().join(",")}) DO UPDATE SET ${columns}`
71
+ expression: `ON CONFLICT(${this._builder.getColumn().join(',')}) DO UPDATE SET ${columns.join(',')}`,
67
72
  };
68
73
  }
69
74
  };
70
75
  SqliteOnDuplicateQueryCompiler = __decorate([
71
- di_1.NewInstance(),
76
+ (0, di_1.NewInstance)(),
72
77
  __metadata("design:paramtypes", [orm_1.OnDuplicateQueryBuilder])
73
78
  ], SqliteOnDuplicateQueryCompiler);
74
79
  exports.SqliteOnDuplicateQueryCompiler = SqliteOnDuplicateQueryCompiler;
@@ -76,50 +81,85 @@ let SqliteTableQueryCompiler = class SqliteTableQueryCompiler extends orm_sql_1.
76
81
  compile() {
77
82
  const _table = this._table();
78
83
  const _columns = this._columns();
84
+ const _foreignKeys = this._foreignKeys();
79
85
  return {
80
86
  bindings: [],
81
- expression: `${_table} (${_columns})`
87
+ expression: `${_table} (${_columns} ${_foreignKeys ? ',' + _foreignKeys : ''})`,
82
88
  };
83
89
  }
84
90
  };
85
91
  SqliteTableQueryCompiler = __decorate([
86
- di_1.NewInstance(),
87
- di_1.Inject(di_1.Container)
92
+ (0, di_1.NewInstance)(),
93
+ (0, di_1.Inject)(di_1.Container)
88
94
  ], SqliteTableQueryCompiler);
89
95
  exports.SqliteTableQueryCompiler = SqliteTableQueryCompiler;
96
+ let SqliteInsertQueryCompiler = class SqliteInsertQueryCompiler extends orm_sql_1.SqlInsertQueryCompiler {
97
+ constructor(builder) {
98
+ super(builder);
99
+ }
100
+ compile() {
101
+ const into = this.into();
102
+ const columns = this.columns();
103
+ const values = this.values();
104
+ const onDuplicate = this.onDuplicate();
105
+ return {
106
+ bindings: values.bindings.concat(onDuplicate.bindings),
107
+ expression: `${into} ${columns} ${values.data} ${onDuplicate.expression}`.trim(),
108
+ };
109
+ }
110
+ into() {
111
+ return `INSERT${this._builder.Ignore ? ' OR IGNORE' : ''} INTO \`${this._builder.Table}\``;
112
+ }
113
+ };
114
+ __decorate([
115
+ (0, di_1.Autoinject)(),
116
+ __metadata("design:type", di_1.Container)
117
+ ], SqliteInsertQueryCompiler.prototype, "_container", void 0);
118
+ SqliteInsertQueryCompiler = __decorate([
119
+ (0, di_1.NewInstance)(),
120
+ __metadata("design:paramtypes", [orm_1.InsertQueryBuilder])
121
+ ], SqliteInsertQueryCompiler);
122
+ exports.SqliteInsertQueryCompiler = SqliteInsertQueryCompiler;
90
123
  let SqliteColumnCompiler = class SqliteColumnCompiler extends orm_sql_1.SqlColumnQueryCompiler {
91
124
  compile() {
92
125
  const _stmt = [];
93
126
  _stmt.push(`\`${this.builder.Name}\``);
94
127
  switch (this.builder.Type) {
95
- case "string":
96
- case "text":
97
- case "mediumtext":
98
- case "tinytext":
99
- case "longtext":
100
- case "date":
101
- case "dateTime":
102
- case "time":
128
+ case 'binary':
129
+ case 'tinyblob':
130
+ case 'mediumblob':
131
+ case 'longblob':
132
+ _stmt.push('BLOB');
133
+ break;
134
+ case 'string':
135
+ case 'text':
136
+ case 'mediumtext':
137
+ case 'tinytext':
138
+ case 'longtext':
139
+ case 'date':
140
+ case 'dateTime':
141
+ case 'time':
142
+ case 'set':
103
143
  _stmt.push(`TEXT`);
104
144
  break;
105
- case "float":
106
- case "double":
145
+ case 'float':
146
+ case 'double':
107
147
  _stmt.push(`REAL`);
108
148
  break;
109
- case "decimal":
149
+ case 'decimal':
110
150
  _stmt.push(`DECIMAL`);
111
151
  break;
112
- case "int":
113
- case "tinyint":
114
- case "smallint":
115
- case "mediumint":
116
- case "bigint":
117
- case "boolean":
118
- _stmt.push("INTEGER");
152
+ case 'int':
153
+ case 'tinyint':
154
+ case 'smallint':
155
+ case 'mediumint':
156
+ case 'bigint':
157
+ case 'boolean':
158
+ _stmt.push('INTEGER');
119
159
  break;
120
160
  }
121
161
  if (this.builder.Unsigned) {
122
- _stmt.push("UNSIGNED");
162
+ _stmt.push('UNSIGNED');
123
163
  }
124
164
  if (this.builder.Charset) {
125
165
  _stmt.push(`CHARACTER SET '${this.builder.Charset}'`);
@@ -128,7 +168,7 @@ let SqliteColumnCompiler = class SqliteColumnCompiler extends orm_sql_1.SqlColum
128
168
  _stmt.push(`COLLATE '${this.builder.Collation}'`);
129
169
  }
130
170
  if (this.builder.NotNull) {
131
- _stmt.push("NOT NULL");
171
+ _stmt.push('NOT NULL');
132
172
  }
133
173
  if (this.builder.Default) {
134
174
  _stmt.push(this._defaultCompiler());
@@ -139,21 +179,36 @@ let SqliteColumnCompiler = class SqliteColumnCompiler extends orm_sql_1.SqlColum
139
179
  if (this.builder.PrimaryKey) {
140
180
  _stmt.push(`PRIMARY KEY`);
141
181
  }
142
- ;
143
182
  if (this.builder.AutoIncrement) {
144
183
  _stmt.push(`AUTOINCREMENT`);
145
184
  }
146
185
  if (this.builder.Unique) {
147
- _stmt.push("UNIQUE");
186
+ _stmt.push('UNIQUE');
148
187
  }
149
188
  return {
150
189
  bindings: [],
151
- expression: _stmt.filter(x => !_.isEmpty(x)).join(" "),
190
+ expression: _stmt.filter((x) => !_.isEmpty(x)).join(' '),
152
191
  };
153
192
  }
193
+ _defaultCompiler() {
194
+ let _stmt = '';
195
+ if (_.isNil(this.builder.Default) || (_.isString(this.builder.Default) && _.isEmpty(this.builder.Default.trim()))) {
196
+ return _stmt;
197
+ }
198
+ if (_.isString(this.builder.Default)) {
199
+ _stmt = `DEFAULT '${this.builder.Default.trim()}'`;
200
+ }
201
+ else if (_.isNumber(this.builder.Default)) {
202
+ _stmt = `DEFAULT ${this.builder.Default}`;
203
+ }
204
+ else if (this.builder.Default instanceof orm_1.RawQuery) {
205
+ _stmt = `DEFAULT ${(this.builder.Default).Query}`;
206
+ }
207
+ return _stmt;
208
+ }
154
209
  };
155
210
  SqliteColumnCompiler = __decorate([
156
- di_1.NewInstance()
211
+ (0, di_1.NewInstance)()
157
212
  ], SqliteColumnCompiler);
158
213
  exports.SqliteColumnCompiler = SqliteColumnCompiler;
159
214
  //# sourceMappingURL=compilers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compilers.js","sourceRoot":"","sources":["../src/compilers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compilers.js","sourceRoot":"","sources":["../src/compilers.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import { IValueConverter } from "@spinajs/orm";
2
- export declare class DateTimeConverter implements IValueConverter {
3
- toDB(value: Date): string;
4
- fromDB(value: string): Date;
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;
5
6
  }
package/lib/converters.js CHANGED
@@ -1,12 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- class DateTimeConverter {
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 {
4
8
  toDB(value) {
5
- return value.toISOString();
9
+ if (value instanceof Date) {
10
+ return value.toISOString();
11
+ }
12
+ if (value instanceof luxon_1.DateTime) {
13
+ value.toISO();
14
+ }
15
+ return null;
6
16
  }
7
17
  fromDB(value) {
8
- return new Date(value);
18
+ if (!value) {
19
+ return null;
20
+ }
21
+ return luxon_1.DateTime.fromISO(value);
9
22
  }
10
23
  }
11
- exports.DateTimeConverter = DateTimeConverter;
24
+ exports.SqliteDatetimeValueConverter = SqliteDatetimeValueConverter;
12
25
  //# sourceMappingURL=converters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"converters.js","sourceRoot":"","sources":["../src/converters.ts"],"names":[],"mappings":";;AAEA,MAAa,iBAAiB;IACnB,IAAI,CAAC,KAAW;QACnB,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC;IAEM,MAAM,CAAC,KAAa;QACvB,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;CAGJ;AAVD,8CAUC"}
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,KAAK,CAAC,KAAK,EAAE,CAAC;SACf;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"}
package/lib/index.d.ts CHANGED
@@ -1,10 +1,8 @@
1
- export * from "./compilers";
2
- export * from "./converters";
3
- export * from "./decorators";
4
- import { IColumnDescriptor, QueryContext, OrmDriver, QueryBuilder, TransactionCallback } from "@spinajs/orm";
5
- import { Database } from "sqlite3";
6
- import { SqlDriver } from "@spinajs/orm-sql";
7
- import { Container } from "@spinajs/di";
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
+ import { Container } from '@spinajs/di';
8
6
  export declare class SqliteOrmDriver extends SqlDriver {
9
7
  protected Db: Database;
10
8
  execute(stmt: string, params: any[], queryContext: QueryContext): Promise<any>;
package/lib/index.js CHANGED
@@ -1,31 +1,40 @@
1
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
+ }));
2
9
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
10
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
11
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
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;
6
13
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
14
  };
8
- function __export(m) {
9
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
10
- }
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
+ };
11
18
  Object.defineProperty(exports, "__esModule", { value: true });
12
- __export(require("./compilers"));
13
- __export(require("./converters"));
14
- __export(require("./decorators"));
19
+ exports.SqliteOrmDriver = void 0;
20
+ /* eslint-disable prettier/prettier */
21
+ __exportStar(require("./compilers"), exports);
15
22
  const orm_1 = require("@spinajs/orm");
16
23
  const sqlite3_1 = require("sqlite3");
17
24
  const orm_sql_1 = require("@spinajs/orm-sql");
18
25
  const di_1 = require("@spinajs/di");
19
26
  const compilers_1 = require("./compilers");
20
27
  const statements_1 = require("./statements");
28
+ const converters_1 = require("./converters");
29
+ const exceptions_1 = require("@spinajs/exceptions");
21
30
  let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
22
31
  execute(stmt, params, queryContext) {
23
- const queryParams = (params !== null && params !== void 0 ? params : []);
32
+ const queryParams = params !== null && params !== void 0 ? params : [];
24
33
  if (!this.Db) {
25
- throw new Error("cannot execute sqlite statement, no db connection avaible");
34
+ throw new Error('cannot execute sqlite statement, no db connection avaible');
26
35
  }
27
36
  super.execute(stmt, queryParams, queryContext);
28
- return new Promise((res, rej) => {
37
+ return new Promise((resolve, reject) => {
29
38
  switch (queryContext) {
30
39
  case orm_1.QueryContext.Update:
31
40
  case orm_1.QueryContext.Delete:
@@ -33,28 +42,33 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
33
42
  case orm_1.QueryContext.Transaction:
34
43
  this.Db.run(stmt, ...queryParams, (err, data) => {
35
44
  if (err) {
36
- rej(err);
45
+ reject(err);
37
46
  return;
38
47
  }
39
- res(data);
48
+ resolve(data);
40
49
  });
41
50
  break;
42
51
  case orm_1.QueryContext.Select:
43
52
  this.Db.all(stmt, ...queryParams, (err, rows) => {
44
53
  if (err) {
45
- rej(err);
54
+ reject(err);
46
55
  return;
47
56
  }
48
- res(rows);
57
+ resolve(rows);
49
58
  });
50
59
  break;
51
60
  case orm_1.QueryContext.Insert:
52
61
  this.Db.run(stmt, ...queryParams, function (err) {
53
62
  if (err) {
54
- rej(err);
63
+ if (err.code === 'SQLITE_CONSTRAINT') {
64
+ reject(new exceptions_1.ResourceDuplicated(err));
65
+ }
66
+ else {
67
+ reject(err);
68
+ }
55
69
  return;
56
70
  }
57
- res(this.lastID);
71
+ resolve(this.lastID);
58
72
  });
59
73
  break;
60
74
  }
@@ -88,18 +102,19 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
88
102
  }
89
103
  async resolve(container) {
90
104
  super.resolve(container);
91
- this.Container = this.Container.child();
92
105
  this.Container.register(compilers_1.SqliteColumnCompiler).as(orm_1.ColumnQueryCompiler);
93
106
  this.Container.register(compilers_1.SqliteTableQueryCompiler).as(orm_1.TableQueryCompiler);
94
107
  this.Container.register(compilers_1.SqliteOrderByCompiler).as(orm_1.OrderByQueryCompiler);
95
108
  this.Container.register(statements_1.SqlLiteJoinStatement).as(orm_1.JoinStatement);
96
109
  this.Container.register(compilers_1.SqliteOnDuplicateQueryCompiler).as(orm_1.OnDuplicateQueryCompiler);
110
+ this.Container.register(compilers_1.SqliteInsertQueryCompiler).as(orm_1.InsertQueryCompiler);
111
+ this.Container.register(converters_1.SqliteDatetimeValueConverter).as(orm_1.DatetimeValueConverter);
97
112
  }
98
113
  async transaction(qrOrCallback) {
99
114
  if (!qrOrCallback) {
100
115
  return;
101
116
  }
102
- await this.execute("BEGIN TRANSACTION", null, orm_1.QueryContext.Transaction);
117
+ await this.execute('BEGIN TRANSACTION', null, orm_1.QueryContext.Transaction);
103
118
  try {
104
119
  if (Array.isArray(qrOrCallback)) {
105
120
  for (const q of qrOrCallback) {
@@ -109,10 +124,10 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
109
124
  else {
110
125
  await qrOrCallback(this);
111
126
  }
112
- await this.execute("COMMIT", null, orm_1.QueryContext.Transaction);
127
+ await this.execute('COMMIT', null, orm_1.QueryContext.Transaction);
113
128
  }
114
129
  catch (ex) {
115
- await this.execute("ROLLBACK", null, orm_1.QueryContext.Transaction);
130
+ await this.execute('ROLLBACK', null, orm_1.QueryContext.Transaction);
116
131
  throw ex;
117
132
  }
118
133
  }
@@ -125,14 +140,14 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
125
140
  * @returns {[] | null}
126
141
  */
127
142
  async tableInfo(name, _schema) {
128
- const tblInfo = await this.execute(`PRAGMA table_info(${name});`, null, orm_1.QueryContext.Select);
129
- const indexInfo = await this.execute("select type, name, tbl_name, sql FROM sqlite_master WHERE type='index'", null, orm_1.QueryContext.Select);
143
+ const tblInfo = (await this.execute(`PRAGMA table_info(${name});`, null, orm_1.QueryContext.Select));
144
+ 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));
130
145
  const re = /\((.*?)\)/;
131
146
  const indices = indexInfo.map((i) => {
132
147
  var _a;
133
148
  return {
134
149
  table: i.tbl_name,
135
- column_name: (_a = i.sql) === null || _a === void 0 ? void 0 : _a.match(re)[0]
150
+ column_name: (_a = i.sql) === null || _a === void 0 ? void 0 : _a.match(re)[0],
136
151
  };
137
152
  });
138
153
  if (!Array.isArray(tblInfo) || tblInfo.length === 0) {
@@ -142,23 +157,26 @@ let SqliteOrmDriver = class SqliteOrmDriver extends orm_sql_1.SqlDriver {
142
157
  return {
143
158
  Type: r.type,
144
159
  MaxLength: -1,
145
- Comment: "",
160
+ Comment: '',
146
161
  DefaultValue: r.dflt_value,
147
162
  NativeType: r.type,
148
163
  Unsigned: false,
149
- Nullable: r.notnull === 1,
164
+ Nullable: r.notnull === 0,
150
165
  PrimaryKey: r.pk === 1,
151
- AutoIncrement: false,
166
+ Uuid: false,
167
+ Ignore: false,
168
+ // simply assumpt that integer pkeys are autoincement / auto fill by default
169
+ AutoIncrement: r.pk === 1 && r.type === 'INTEGER',
152
170
  Name: r.name,
153
171
  Converter: null,
154
172
  Schema: _schema ? _schema : this.Options.Database,
155
- Unique: indices.find(i => i.column_name === r.name && i.table === name) !== undefined
173
+ Unique: indices.find((i) => i.column_name && i.column_name.includes(r.name) && i.table === name) !== undefined,
156
174
  };
157
175
  });
158
176
  }
159
177
  };
160
178
  SqliteOrmDriver = __decorate([
161
- di_1.Injectable("orm-driver-sqlite")
179
+ (0, di_1.Injectable)('orm-driver-sqlite')
162
180
  ], SqliteOrmDriver);
163
181
  exports.SqliteOrmDriver = SqliteOrmDriver;
164
182
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}