@prisma/adapter-planetscale 6.5.0-dev.7 → 6.5.0-dev.70
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/dist/index.d.mts +12 -11
- package/dist/index.d.ts +12 -11
- package/dist/index.js +26 -21
- package/dist/index.mjs +29 -22
- package/package.json +5 -5
package/dist/index.d.mts
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import type { ConnectionInfo } from '@prisma/driver-adapter-utils';
|
|
2
|
-
import type { DriverAdapter } from '@prisma/driver-adapter-utils';
|
|
3
2
|
import * as planetScale from '@planetscale/database';
|
|
4
|
-
import type {
|
|
5
|
-
import type {
|
|
6
|
-
import type {
|
|
7
|
-
import type {
|
|
3
|
+
import type { SqlConnection } from '@prisma/driver-adapter-utils';
|
|
4
|
+
import type { SqlQuery } from '@prisma/driver-adapter-utils';
|
|
5
|
+
import type { SqlQueryable } from '@prisma/driver-adapter-utils';
|
|
6
|
+
import type { SqlResultSet } from '@prisma/driver-adapter-utils';
|
|
8
7
|
import type { TransactionContext } from '@prisma/driver-adapter-utils';
|
|
9
8
|
|
|
10
|
-
declare class PlanetScaleQueryable<ClientT extends planetScale.Client | planetScale.Transaction | planetScale.Connection> implements
|
|
9
|
+
declare class PlanetScaleQueryable<ClientT extends planetScale.Client | planetScale.Transaction | planetScale.Connection> implements SqlQueryable {
|
|
11
10
|
protected client: ClientT;
|
|
12
11
|
readonly provider = "mysql";
|
|
13
12
|
readonly adapterName: string;
|
|
@@ -15,13 +14,13 @@ declare class PlanetScaleQueryable<ClientT extends planetScale.Client | planetSc
|
|
|
15
14
|
/**
|
|
16
15
|
* Execute a query given as SQL, interpolating the given parameters.
|
|
17
16
|
*/
|
|
18
|
-
queryRaw(query:
|
|
17
|
+
queryRaw(query: SqlQuery): Promise<SqlResultSet>;
|
|
19
18
|
/**
|
|
20
19
|
* Execute a query given as SQL, interpolating the given parameters and
|
|
21
20
|
* returning the number of affected rows.
|
|
22
21
|
* Note: Queryable expects a u64, but napi.rs only supports u32.
|
|
23
22
|
*/
|
|
24
|
-
executeRaw(query:
|
|
23
|
+
executeRaw(query: SqlQuery): Promise<number>;
|
|
25
24
|
/**
|
|
26
25
|
* Run a query against the database, returning the result set.
|
|
27
26
|
* Should the query fail due to a connection error, the connection is
|
|
@@ -30,10 +29,12 @@ declare class PlanetScaleQueryable<ClientT extends planetScale.Client | planetSc
|
|
|
30
29
|
private performIO;
|
|
31
30
|
}
|
|
32
31
|
|
|
33
|
-
export declare class PrismaPlanetScale extends PlanetScaleQueryable<planetScale.Client> implements
|
|
32
|
+
export declare class PrismaPlanetScale extends PlanetScaleQueryable<planetScale.Client> implements SqlConnection {
|
|
34
33
|
constructor(client: planetScale.Client);
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
executeScript(_script: string): Promise<void>;
|
|
35
|
+
getConnectionInfo(): ConnectionInfo;
|
|
36
|
+
transactionContext(): Promise<TransactionContext>;
|
|
37
|
+
dispose(): Promise<void>;
|
|
37
38
|
}
|
|
38
39
|
|
|
39
40
|
export { }
|
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import type { ConnectionInfo } from '@prisma/driver-adapter-utils';
|
|
2
|
-
import type { DriverAdapter } from '@prisma/driver-adapter-utils';
|
|
3
2
|
import * as planetScale from '@planetscale/database';
|
|
4
|
-
import type {
|
|
5
|
-
import type {
|
|
6
|
-
import type {
|
|
7
|
-
import type {
|
|
3
|
+
import type { SqlConnection } from '@prisma/driver-adapter-utils';
|
|
4
|
+
import type { SqlQuery } from '@prisma/driver-adapter-utils';
|
|
5
|
+
import type { SqlQueryable } from '@prisma/driver-adapter-utils';
|
|
6
|
+
import type { SqlResultSet } from '@prisma/driver-adapter-utils';
|
|
8
7
|
import type { TransactionContext } from '@prisma/driver-adapter-utils';
|
|
9
8
|
|
|
10
|
-
declare class PlanetScaleQueryable<ClientT extends planetScale.Client | planetScale.Transaction | planetScale.Connection> implements
|
|
9
|
+
declare class PlanetScaleQueryable<ClientT extends planetScale.Client | planetScale.Transaction | planetScale.Connection> implements SqlQueryable {
|
|
11
10
|
protected client: ClientT;
|
|
12
11
|
readonly provider = "mysql";
|
|
13
12
|
readonly adapterName: string;
|
|
@@ -15,13 +14,13 @@ declare class PlanetScaleQueryable<ClientT extends planetScale.Client | planetSc
|
|
|
15
14
|
/**
|
|
16
15
|
* Execute a query given as SQL, interpolating the given parameters.
|
|
17
16
|
*/
|
|
18
|
-
queryRaw(query:
|
|
17
|
+
queryRaw(query: SqlQuery): Promise<SqlResultSet>;
|
|
19
18
|
/**
|
|
20
19
|
* Execute a query given as SQL, interpolating the given parameters and
|
|
21
20
|
* returning the number of affected rows.
|
|
22
21
|
* Note: Queryable expects a u64, but napi.rs only supports u32.
|
|
23
22
|
*/
|
|
24
|
-
executeRaw(query:
|
|
23
|
+
executeRaw(query: SqlQuery): Promise<number>;
|
|
25
24
|
/**
|
|
26
25
|
* Run a query against the database, returning the result set.
|
|
27
26
|
* Should the query fail due to a connection error, the connection is
|
|
@@ -30,10 +29,12 @@ declare class PlanetScaleQueryable<ClientT extends planetScale.Client | planetSc
|
|
|
30
29
|
private performIO;
|
|
31
30
|
}
|
|
32
31
|
|
|
33
|
-
export declare class PrismaPlanetScale extends PlanetScaleQueryable<planetScale.Client> implements
|
|
32
|
+
export declare class PrismaPlanetScale extends PlanetScaleQueryable<planetScale.Client> implements SqlConnection {
|
|
34
33
|
constructor(client: planetScale.Client);
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
executeScript(_script: string): Promise<void>;
|
|
35
|
+
getConnectionInfo(): ConnectionInfo;
|
|
36
|
+
transactionContext(): Promise<TransactionContext>;
|
|
37
|
+
dispose(): Promise<void>;
|
|
37
38
|
}
|
|
38
39
|
|
|
39
40
|
export { }
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,7 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __getProtoOf = Object.getPrototypeOf;
|
|
7
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
9
|
var __export = (target, all) => {
|
|
9
10
|
for (var name2 in all)
|
|
10
11
|
__defProp(target, name2, { get: all[name2], enumerable: true });
|
|
@@ -26,6 +27,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
26
27
|
mod
|
|
27
28
|
));
|
|
28
29
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
29
31
|
|
|
30
32
|
// src/index.ts
|
|
31
33
|
var index_exports = {};
|
|
@@ -146,8 +148,8 @@ var RollbackError = class _RollbackError extends Error {
|
|
|
146
148
|
var PlanetScaleQueryable = class {
|
|
147
149
|
constructor(client) {
|
|
148
150
|
this.client = client;
|
|
149
|
-
this
|
|
150
|
-
this
|
|
151
|
+
__publicField(this, "provider", "mysql");
|
|
152
|
+
__publicField(this, "adapterName", name);
|
|
151
153
|
}
|
|
152
154
|
/**
|
|
153
155
|
* Execute a query given as SQL, interpolating the given parameters.
|
|
@@ -155,16 +157,14 @@ var PlanetScaleQueryable = class {
|
|
|
155
157
|
async queryRaw(query) {
|
|
156
158
|
const tag = "[js::query_raw]";
|
|
157
159
|
debug(`${tag} %O`, query);
|
|
158
|
-
const
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
};
|
|
167
|
-
});
|
|
160
|
+
const { fields, insertId: lastInsertId, rows } = await this.performIO(query);
|
|
161
|
+
const columns = fields.map((field) => field.name);
|
|
162
|
+
return {
|
|
163
|
+
columnNames: columns,
|
|
164
|
+
columnTypes: fields.map((field) => fieldToColumnType(field.type)),
|
|
165
|
+
rows,
|
|
166
|
+
lastInsertId
|
|
167
|
+
};
|
|
168
168
|
}
|
|
169
169
|
/**
|
|
170
170
|
* Execute a query given as SQL, interpolating the given parameters and
|
|
@@ -174,7 +174,7 @@ var PlanetScaleQueryable = class {
|
|
|
174
174
|
async executeRaw(query) {
|
|
175
175
|
const tag = "[js::execute_raw]";
|
|
176
176
|
debug(`${tag} %O`, query);
|
|
177
|
-
return (await this.performIO(query)).
|
|
177
|
+
return (await this.performIO(query)).rowsAffected;
|
|
178
178
|
}
|
|
179
179
|
/**
|
|
180
180
|
* Run a query against the database, returning the result set.
|
|
@@ -188,13 +188,13 @@ var PlanetScaleQueryable = class {
|
|
|
188
188
|
as: "array",
|
|
189
189
|
cast
|
|
190
190
|
});
|
|
191
|
-
return
|
|
191
|
+
return result;
|
|
192
192
|
} catch (e) {
|
|
193
193
|
const error = e;
|
|
194
194
|
if (error.name === "DatabaseError") {
|
|
195
195
|
const parsed = parseErrorMessage(error.message);
|
|
196
196
|
if (parsed) {
|
|
197
|
-
|
|
197
|
+
throw new import_driver_adapter_utils2.DriverAdapterError({
|
|
198
198
|
kind: "mysql",
|
|
199
199
|
...parsed
|
|
200
200
|
});
|
|
@@ -230,12 +230,12 @@ var PlanetScaleTransaction = class extends PlanetScaleQueryable {
|
|
|
230
230
|
async commit() {
|
|
231
231
|
debug(`[js::commit]`);
|
|
232
232
|
this.txDeferred.resolve();
|
|
233
|
-
return
|
|
233
|
+
return await this.txResultPromise;
|
|
234
234
|
}
|
|
235
235
|
async rollback() {
|
|
236
236
|
debug(`[js::rollback]`);
|
|
237
237
|
this.txDeferred.reject(new RollbackError());
|
|
238
|
-
return
|
|
238
|
+
return await this.txResultPromise;
|
|
239
239
|
}
|
|
240
240
|
};
|
|
241
241
|
var PlanetScaleTransactionContext = class extends PlanetScaleQueryable {
|
|
@@ -253,7 +253,7 @@ var PlanetScaleTransactionContext = class extends PlanetScaleQueryable {
|
|
|
253
253
|
const txResultPromise = this.conn.transaction(async (tx) => {
|
|
254
254
|
const [txDeferred, deferredPromise] = createDeferred();
|
|
255
255
|
const txWrapper = new PlanetScaleTransaction(tx, options, txDeferred, txResultPromise);
|
|
256
|
-
resolve(
|
|
256
|
+
resolve(txWrapper);
|
|
257
257
|
return deferredPromise;
|
|
258
258
|
}).catch((error) => {
|
|
259
259
|
if (!(error instanceof RollbackError)) {
|
|
@@ -275,17 +275,22 @@ const adapter = new PrismaPlanetScale(client)
|
|
|
275
275
|
}
|
|
276
276
|
super(client);
|
|
277
277
|
}
|
|
278
|
+
executeScript(_script) {
|
|
279
|
+
throw new Error("Not implemented yet");
|
|
280
|
+
}
|
|
278
281
|
getConnectionInfo() {
|
|
279
282
|
const url = this.client.connection()["url"];
|
|
280
283
|
const dbName = new URL(url).pathname.slice(1);
|
|
281
|
-
return
|
|
284
|
+
return {
|
|
282
285
|
schemaName: dbName
|
|
283
|
-
}
|
|
286
|
+
};
|
|
284
287
|
}
|
|
285
288
|
async transactionContext() {
|
|
286
289
|
const conn = this.client.connection();
|
|
287
290
|
const ctx = new PlanetScaleTransactionContext(conn);
|
|
288
|
-
return
|
|
291
|
+
return ctx;
|
|
292
|
+
}
|
|
293
|
+
async dispose() {
|
|
289
294
|
}
|
|
290
295
|
};
|
|
291
296
|
// Annotate the CommonJS export names for ESM import in node:
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
4
|
+
|
|
1
5
|
// src/planetscale.ts
|
|
2
6
|
import * as planetScale from "@planetscale/database";
|
|
3
|
-
import { Debug,
|
|
7
|
+
import { Debug, DriverAdapterError } from "@prisma/driver-adapter-utils";
|
|
4
8
|
|
|
5
9
|
// package.json
|
|
6
10
|
var name = "@prisma/adapter-planetscale";
|
|
@@ -110,8 +114,8 @@ var RollbackError = class _RollbackError extends Error {
|
|
|
110
114
|
var PlanetScaleQueryable = class {
|
|
111
115
|
constructor(client) {
|
|
112
116
|
this.client = client;
|
|
113
|
-
this
|
|
114
|
-
this
|
|
117
|
+
__publicField(this, "provider", "mysql");
|
|
118
|
+
__publicField(this, "adapterName", name);
|
|
115
119
|
}
|
|
116
120
|
/**
|
|
117
121
|
* Execute a query given as SQL, interpolating the given parameters.
|
|
@@ -119,16 +123,14 @@ var PlanetScaleQueryable = class {
|
|
|
119
123
|
async queryRaw(query) {
|
|
120
124
|
const tag = "[js::query_raw]";
|
|
121
125
|
debug(`${tag} %O`, query);
|
|
122
|
-
const
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
};
|
|
131
|
-
});
|
|
126
|
+
const { fields, insertId: lastInsertId, rows } = await this.performIO(query);
|
|
127
|
+
const columns = fields.map((field) => field.name);
|
|
128
|
+
return {
|
|
129
|
+
columnNames: columns,
|
|
130
|
+
columnTypes: fields.map((field) => fieldToColumnType(field.type)),
|
|
131
|
+
rows,
|
|
132
|
+
lastInsertId
|
|
133
|
+
};
|
|
132
134
|
}
|
|
133
135
|
/**
|
|
134
136
|
* Execute a query given as SQL, interpolating the given parameters and
|
|
@@ -138,7 +140,7 @@ var PlanetScaleQueryable = class {
|
|
|
138
140
|
async executeRaw(query) {
|
|
139
141
|
const tag = "[js::execute_raw]";
|
|
140
142
|
debug(`${tag} %O`, query);
|
|
141
|
-
return (await this.performIO(query)).
|
|
143
|
+
return (await this.performIO(query)).rowsAffected;
|
|
142
144
|
}
|
|
143
145
|
/**
|
|
144
146
|
* Run a query against the database, returning the result set.
|
|
@@ -152,13 +154,13 @@ var PlanetScaleQueryable = class {
|
|
|
152
154
|
as: "array",
|
|
153
155
|
cast
|
|
154
156
|
});
|
|
155
|
-
return
|
|
157
|
+
return result;
|
|
156
158
|
} catch (e) {
|
|
157
159
|
const error = e;
|
|
158
160
|
if (error.name === "DatabaseError") {
|
|
159
161
|
const parsed = parseErrorMessage(error.message);
|
|
160
162
|
if (parsed) {
|
|
161
|
-
|
|
163
|
+
throw new DriverAdapterError({
|
|
162
164
|
kind: "mysql",
|
|
163
165
|
...parsed
|
|
164
166
|
});
|
|
@@ -194,12 +196,12 @@ var PlanetScaleTransaction = class extends PlanetScaleQueryable {
|
|
|
194
196
|
async commit() {
|
|
195
197
|
debug(`[js::commit]`);
|
|
196
198
|
this.txDeferred.resolve();
|
|
197
|
-
return
|
|
199
|
+
return await this.txResultPromise;
|
|
198
200
|
}
|
|
199
201
|
async rollback() {
|
|
200
202
|
debug(`[js::rollback]`);
|
|
201
203
|
this.txDeferred.reject(new RollbackError());
|
|
202
|
-
return
|
|
204
|
+
return await this.txResultPromise;
|
|
203
205
|
}
|
|
204
206
|
};
|
|
205
207
|
var PlanetScaleTransactionContext = class extends PlanetScaleQueryable {
|
|
@@ -217,7 +219,7 @@ var PlanetScaleTransactionContext = class extends PlanetScaleQueryable {
|
|
|
217
219
|
const txResultPromise = this.conn.transaction(async (tx) => {
|
|
218
220
|
const [txDeferred, deferredPromise] = createDeferred();
|
|
219
221
|
const txWrapper = new PlanetScaleTransaction(tx, options, txDeferred, txResultPromise);
|
|
220
|
-
resolve(
|
|
222
|
+
resolve(txWrapper);
|
|
221
223
|
return deferredPromise;
|
|
222
224
|
}).catch((error) => {
|
|
223
225
|
if (!(error instanceof RollbackError)) {
|
|
@@ -239,17 +241,22 @@ const adapter = new PrismaPlanetScale(client)
|
|
|
239
241
|
}
|
|
240
242
|
super(client);
|
|
241
243
|
}
|
|
244
|
+
executeScript(_script) {
|
|
245
|
+
throw new Error("Not implemented yet");
|
|
246
|
+
}
|
|
242
247
|
getConnectionInfo() {
|
|
243
248
|
const url = this.client.connection()["url"];
|
|
244
249
|
const dbName = new URL(url).pathname.slice(1);
|
|
245
|
-
return
|
|
250
|
+
return {
|
|
246
251
|
schemaName: dbName
|
|
247
|
-
}
|
|
252
|
+
};
|
|
248
253
|
}
|
|
249
254
|
async transactionContext() {
|
|
250
255
|
const conn = this.client.connection();
|
|
251
256
|
const ctx = new PlanetScaleTransactionContext(conn);
|
|
252
|
-
return
|
|
257
|
+
return ctx;
|
|
258
|
+
}
|
|
259
|
+
async dispose() {
|
|
253
260
|
}
|
|
254
261
|
};
|
|
255
262
|
export {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prisma/adapter-planetscale",
|
|
3
|
-
"version": "6.5.0-dev.
|
|
3
|
+
"version": "6.5.0-dev.70",
|
|
4
4
|
"description": "Prisma's driver adapter for \"@planetscale/database\"",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -31,15 +31,15 @@
|
|
|
31
31
|
"license": "Apache-2.0",
|
|
32
32
|
"sideEffects": false,
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@prisma/driver-adapter-utils": "6.5.0-dev.
|
|
34
|
+
"@prisma/driver-adapter-utils": "6.5.0-dev.70"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@planetscale/database": "1.
|
|
38
|
-
"@swc/core": "1.
|
|
37
|
+
"@planetscale/database": "1.19.0",
|
|
38
|
+
"@swc/core": "1.11.5",
|
|
39
39
|
"@swc/jest": "0.2.37",
|
|
40
40
|
"jest": "29.7.0",
|
|
41
41
|
"jest-junit": "16.0.0",
|
|
42
|
-
"undici": "7.
|
|
42
|
+
"undici": "7.4.0"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"@planetscale/database": "^1.15.0"
|