@mikro-orm/better-sqlite 5.7.13-dev.16 → 5.7.13-dev.18
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,8 +1,6 @@
|
|
|
1
1
|
import type { Knex } from '@mikro-orm/knex';
|
|
2
2
|
import { AbstractSqlConnection } from '@mikro-orm/knex';
|
|
3
3
|
export declare class BetterSqliteConnection extends AbstractSqlConnection {
|
|
4
|
-
static readonly RUN_QUERY_RE: RegExp;
|
|
5
|
-
static readonly RUN_QUERY_RETURNING: RegExp;
|
|
6
4
|
connect(): Promise<void>;
|
|
7
5
|
getDefaultClientUrl(): string;
|
|
8
6
|
getClientUrl(): string;
|
|
@@ -13,5 +11,6 @@ export declare class BetterSqliteConnection extends AbstractSqlConnection {
|
|
|
13
11
|
* monkey patch knex' BetterSqlite Dialect so it returns inserted id when doing raw insert query
|
|
14
12
|
*/
|
|
15
13
|
private getPatchedDialect;
|
|
14
|
+
private isRunQuery;
|
|
16
15
|
private getCallMethod;
|
|
17
16
|
}
|
|
@@ -64,7 +64,7 @@ class BetterSqliteConnection extends knex_1.AbstractSqlConnection {
|
|
|
64
64
|
const processResponse = Sqlite3Dialect.prototype.processResponse;
|
|
65
65
|
Sqlite3Dialect.prototype.__patched = true;
|
|
66
66
|
Sqlite3Dialect.prototype.processResponse = (obj, runner) => {
|
|
67
|
-
if (obj.method === 'raw' && obj.sql
|
|
67
|
+
if (obj.method === 'raw' && this.isRunQuery(obj.sql)) {
|
|
68
68
|
return obj.response ?? obj.context;
|
|
69
69
|
}
|
|
70
70
|
return processResponse(obj, runner);
|
|
@@ -126,12 +126,25 @@ class BetterSqliteConnection extends knex_1.AbstractSqlConnection {
|
|
|
126
126
|
};
|
|
127
127
|
return Sqlite3Dialect;
|
|
128
128
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
129
|
+
isRunQuery(query) {
|
|
130
|
+
query = query.trim().toLowerCase();
|
|
131
|
+
if (query.startsWith('insert into') && query.includes(' returning ')) {
|
|
132
|
+
return false;
|
|
132
133
|
}
|
|
133
|
-
|
|
134
|
-
|
|
134
|
+
return query.startsWith('insert into') ||
|
|
135
|
+
query.startsWith('update') ||
|
|
136
|
+
query.startsWith('delete') ||
|
|
137
|
+
query.startsWith('truncate');
|
|
138
|
+
}
|
|
139
|
+
getCallMethod(obj) {
|
|
140
|
+
if (obj.method === 'raw') {
|
|
141
|
+
const query = obj.sql.trim().toLowerCase();
|
|
142
|
+
if (query.startsWith('insert into') && query.includes(' returning ')) {
|
|
143
|
+
return 'all';
|
|
144
|
+
}
|
|
145
|
+
if (this.isRunQuery(query)) {
|
|
146
|
+
return 'run';
|
|
147
|
+
}
|
|
135
148
|
}
|
|
136
149
|
/* istanbul ignore next */
|
|
137
150
|
switch (obj.method) {
|
|
@@ -147,5 +160,3 @@ class BetterSqliteConnection extends knex_1.AbstractSqlConnection {
|
|
|
147
160
|
}
|
|
148
161
|
}
|
|
149
162
|
exports.BetterSqliteConnection = BetterSqliteConnection;
|
|
150
|
-
BetterSqliteConnection.RUN_QUERY_RE = /^insert into|^update|^delete|^truncate/;
|
|
151
|
-
BetterSqliteConnection.RUN_QUERY_RETURNING = /^insert into ([\s\S])* returning .*/;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mikro-orm/better-sqlite",
|
|
3
|
-
"version": "5.7.13-dev.
|
|
3
|
+
"version": "5.7.13-dev.18",
|
|
4
4
|
"description": "TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, PostgreSQL and SQLite databases as well as usage with vanilla JavaScript.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"module": "index.mjs",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"access": "public"
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
|
-
"@mikro-orm/knex": "~5.7.13-dev.
|
|
61
|
+
"@mikro-orm/knex": "~5.7.13-dev.18",
|
|
62
62
|
"better-sqlite3": "8.4.0",
|
|
63
63
|
"fs-extra": "11.1.1",
|
|
64
64
|
"sqlstring-sqlite": "0.1.1"
|
|
@@ -67,10 +67,10 @@
|
|
|
67
67
|
"@mikro-orm/core": "^5.7.12"
|
|
68
68
|
},
|
|
69
69
|
"peerDependencies": {
|
|
70
|
-
"@mikro-orm/core": "~5.7.13-dev.
|
|
71
|
-
"@mikro-orm/entity-generator": "~5.7.13-dev.
|
|
72
|
-
"@mikro-orm/migrations": "~5.7.13-dev.
|
|
73
|
-
"@mikro-orm/seeder": "~5.7.13-dev.
|
|
70
|
+
"@mikro-orm/core": "~5.7.13-dev.18",
|
|
71
|
+
"@mikro-orm/entity-generator": "~5.7.13-dev.18",
|
|
72
|
+
"@mikro-orm/migrations": "~5.7.13-dev.18",
|
|
73
|
+
"@mikro-orm/seeder": "~5.7.13-dev.18"
|
|
74
74
|
},
|
|
75
75
|
"peerDependenciesMeta": {
|
|
76
76
|
"@mikro-orm/entity-generator": {
|