@prisma/client-engine-runtime 7.9.0-dev.2 → 7.9.0-dev.3

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.js CHANGED
@@ -276,20 +276,47 @@ function rethrowAsUserFacing(error) {
276
276
  }
277
277
  const code = getErrorCode(error);
278
278
  const message = renderErrorMessage(error);
279
- if (!code || !message) {
280
- throw error;
279
+ if (code !== void 0 && message !== void 0) {
280
+ throw new UserFacingError(message, code, { driverAdapterError: error });
281
+ }
282
+ if (isGenericDatabaseErrorKind(error.cause.kind)) {
283
+ throw buildUnmappedDatabaseUserFacingError(error);
281
284
  }
282
- throw new UserFacingError(message, code, { driverAdapterError: error });
285
+ throw error;
283
286
  }
284
287
  function rethrowAsUserFacingRawError(error) {
285
288
  if (!(0, import_driver_adapter_utils.isDriverAdapterError)(error)) {
286
289
  throw error;
287
290
  }
288
- throw new UserFacingError(
289
- `Raw query failed. Code: \`${error.cause.originalCode ?? "N/A"}\`. Message: \`${error.cause.originalMessage ?? renderErrorMessage(error)}\``,
290
- "P2010",
291
- { driverAdapterError: error }
292
- );
291
+ throw buildRawQueryUserFacingError(error);
292
+ }
293
+ function buildRawQueryUserFacingError(error) {
294
+ const code = error.cause.originalCode ?? "N/A";
295
+ const message = pickErrorMessage(error);
296
+ return new UserFacingError(`Raw query failed. Code: \`${code}\`. Message: \`${message}\``, "P2010", {
297
+ driverAdapterError: error
298
+ });
299
+ }
300
+ function buildUnmappedDatabaseUserFacingError(error) {
301
+ const code = error.cause.originalCode ?? "N/A";
302
+ const message = pickErrorMessage(error);
303
+ return new UserFacingError(`Database error. Code: \`${code}\`. Message: \`${message}\``, "P2039", {
304
+ driverAdapterError: error
305
+ });
306
+ }
307
+ function pickErrorMessage(error) {
308
+ return error.cause.originalMessage ?? renderErrorMessage(error) ?? error.message ?? "N/A";
309
+ }
310
+ function isGenericDatabaseErrorKind(kind) {
311
+ switch (kind) {
312
+ case "postgres":
313
+ case "mysql":
314
+ case "sqlite":
315
+ case "mssql":
316
+ return true;
317
+ default:
318
+ return false;
319
+ }
293
320
  }
294
321
  function getErrorCode(err) {
295
322
  switch (err.cause.kind) {
package/dist/index.mjs CHANGED
@@ -223,20 +223,47 @@ function rethrowAsUserFacing(error) {
223
223
  }
224
224
  const code = getErrorCode(error);
225
225
  const message = renderErrorMessage(error);
226
- if (!code || !message) {
227
- throw error;
226
+ if (code !== void 0 && message !== void 0) {
227
+ throw new UserFacingError(message, code, { driverAdapterError: error });
228
+ }
229
+ if (isGenericDatabaseErrorKind(error.cause.kind)) {
230
+ throw buildUnmappedDatabaseUserFacingError(error);
228
231
  }
229
- throw new UserFacingError(message, code, { driverAdapterError: error });
232
+ throw error;
230
233
  }
231
234
  function rethrowAsUserFacingRawError(error) {
232
235
  if (!isDriverAdapterError(error)) {
233
236
  throw error;
234
237
  }
235
- throw new UserFacingError(
236
- `Raw query failed. Code: \`${error.cause.originalCode ?? "N/A"}\`. Message: \`${error.cause.originalMessage ?? renderErrorMessage(error)}\``,
237
- "P2010",
238
- { driverAdapterError: error }
239
- );
238
+ throw buildRawQueryUserFacingError(error);
239
+ }
240
+ function buildRawQueryUserFacingError(error) {
241
+ const code = error.cause.originalCode ?? "N/A";
242
+ const message = pickErrorMessage(error);
243
+ return new UserFacingError(`Raw query failed. Code: \`${code}\`. Message: \`${message}\``, "P2010", {
244
+ driverAdapterError: error
245
+ });
246
+ }
247
+ function buildUnmappedDatabaseUserFacingError(error) {
248
+ const code = error.cause.originalCode ?? "N/A";
249
+ const message = pickErrorMessage(error);
250
+ return new UserFacingError(`Database error. Code: \`${code}\`. Message: \`${message}\``, "P2039", {
251
+ driverAdapterError: error
252
+ });
253
+ }
254
+ function pickErrorMessage(error) {
255
+ return error.cause.originalMessage ?? renderErrorMessage(error) ?? error.message ?? "N/A";
256
+ }
257
+ function isGenericDatabaseErrorKind(kind) {
258
+ switch (kind) {
259
+ case "postgres":
260
+ case "mysql":
261
+ case "sqlite":
262
+ case "mssql":
263
+ return true;
264
+ default:
265
+ return false;
266
+ }
240
267
  }
241
268
  function getErrorCode(err) {
242
269
  switch (err.cause.kind) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prisma/client-engine-runtime",
3
- "version": "7.9.0-dev.2",
3
+ "version": "7.9.0-dev.3",
4
4
  "description": "This package is intended for Prisma's internal use",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -31,20 +31,20 @@
31
31
  "nanoid": "5.1.5",
32
32
  "ulid": "3.0.0",
33
33
  "uuid": "14.0.0",
34
- "@prisma/client-runtime-utils": "7.9.0-dev.2",
35
- "@prisma/debug": "7.9.0-dev.2",
36
- "@prisma/driver-adapter-utils": "7.9.0-dev.2",
37
- "@prisma/param-graph": "7.9.0-dev.2",
38
- "@prisma/json-protocol": "7.9.0-dev.2",
39
- "@prisma/sqlcommenter": "7.9.0-dev.2"
34
+ "@prisma/client-runtime-utils": "7.9.0-dev.3",
35
+ "@prisma/debug": "7.9.0-dev.3",
36
+ "@prisma/driver-adapter-utils": "7.9.0-dev.3",
37
+ "@prisma/param-graph": "7.9.0-dev.3",
38
+ "@prisma/json-protocol": "7.9.0-dev.3",
39
+ "@prisma/sqlcommenter": "7.9.0-dev.3"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@codspeed/benchmark.js-plugin": "4.0.0",
43
43
  "@types/benchmark": "2.1.5",
44
44
  "@types/node": "~20.19.24",
45
45
  "benchmark": "2.1.4",
46
- "@prisma/get-dmmf": "7.9.0-dev.2",
47
- "@prisma/param-graph-builder": "7.9.0-dev.2"
46
+ "@prisma/get-dmmf": "7.9.0-dev.3",
47
+ "@prisma/param-graph-builder": "7.9.0-dev.3"
48
48
  },
49
49
  "files": [
50
50
  "dist"