@prisma/adapter-planetscale 6.5.0-dev.6 → 6.5.0-dev.60

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 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 { Query } from '@prisma/driver-adapter-utils';
5
- import type { Queryable } from '@prisma/driver-adapter-utils';
6
- import type { Result } from '@prisma/driver-adapter-utils';
7
- import type { ResultSet } from '@prisma/driver-adapter-utils';
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 Queryable {
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: Query): Promise<Result<ResultSet>>;
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: Query): Promise<Result<number>>;
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 DriverAdapter {
32
+ export declare class PrismaPlanetScale extends PlanetScaleQueryable<planetScale.Client> implements SqlConnection {
34
33
  constructor(client: planetScale.Client);
35
- getConnectionInfo(): Result<ConnectionInfo>;
36
- transactionContext(): Promise<Result<TransactionContext>>;
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 { Query } from '@prisma/driver-adapter-utils';
5
- import type { Queryable } from '@prisma/driver-adapter-utils';
6
- import type { Result } from '@prisma/driver-adapter-utils';
7
- import type { ResultSet } from '@prisma/driver-adapter-utils';
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 Queryable {
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: Query): Promise<Result<ResultSet>>;
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: Query): Promise<Result<number>>;
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 DriverAdapter {
32
+ export declare class PrismaPlanetScale extends PlanetScaleQueryable<planetScale.Client> implements SqlConnection {
34
33
  constructor(client: planetScale.Client);
35
- getConnectionInfo(): Result<ConnectionInfo>;
36
- transactionContext(): Promise<Result<TransactionContext>>;
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.provider = "mysql";
150
- this.adapterName = name;
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 ioResult = await this.performIO(query);
159
- return ioResult.map(({ fields, insertId: lastInsertId, rows }) => {
160
- const columns = fields.map((field) => field.name);
161
- return {
162
- columnNames: columns,
163
- columnTypes: fields.map((field) => fieldToColumnType(field.type)),
164
- rows,
165
- lastInsertId
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)).map(({ rowsAffected }) => rowsAffected);
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 (0, import_driver_adapter_utils2.ok)(result);
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
- return (0, import_driver_adapter_utils2.err)({
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 (0, import_driver_adapter_utils2.ok)(await this.txResultPromise);
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 (0, import_driver_adapter_utils2.ok)(await this.txResultPromise);
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((0, import_driver_adapter_utils2.ok)(txWrapper));
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 (0, import_driver_adapter_utils2.ok)({
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 (0, import_driver_adapter_utils2.ok)(ctx);
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, err, ok } from "@prisma/driver-adapter-utils";
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.provider = "mysql";
114
- this.adapterName = name;
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 ioResult = await this.performIO(query);
123
- return ioResult.map(({ fields, insertId: lastInsertId, rows }) => {
124
- const columns = fields.map((field) => field.name);
125
- return {
126
- columnNames: columns,
127
- columnTypes: fields.map((field) => fieldToColumnType(field.type)),
128
- rows,
129
- lastInsertId
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)).map(({ rowsAffected }) => rowsAffected);
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 ok(result);
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
- return err({
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 ok(await this.txResultPromise);
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 ok(await this.txResultPromise);
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(ok(txWrapper));
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 ok({
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 ok(ctx);
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.6",
3
+ "version": "6.5.0-dev.60",
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.6"
34
+ "@prisma/driver-adapter-utils": "6.5.0-dev.60"
35
35
  },
36
36
  "devDependencies": {
37
- "@planetscale/database": "1.18.0",
38
- "@swc/core": "1.10.11",
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.3.0"
42
+ "undici": "7.4.0"
43
43
  },
44
44
  "peerDependencies": {
45
45
  "@planetscale/database": "^1.15.0"