@prisma/adapter-pg 6.14.0-dev.4 → 6.14.0-dev.40

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
@@ -29,7 +29,7 @@ declare class PgQueryable<ClientT extends StdClient | TransactionClient> impleme
29
29
  * marked as unhealthy.
30
30
  */
31
31
  private performIO;
32
- protected onError(error: any): never;
32
+ protected onError(error: unknown): never;
33
33
  }
34
34
 
35
35
  export declare class PrismaPg implements SqlMigrationAwareDriverAdapterFactory {
package/dist/index.d.ts CHANGED
@@ -29,7 +29,7 @@ declare class PgQueryable<ClientT extends StdClient | TransactionClient> impleme
29
29
  * marked as unhealthy.
30
30
  */
31
31
  private performIO;
32
- protected onError(error: any): never;
32
+ protected onError(error: unknown): never;
33
33
  }
34
34
 
35
35
  export declare class PrismaPg implements SqlMigrationAwareDriverAdapterFactory {
package/dist/index.js CHANGED
@@ -349,7 +349,9 @@ var customParsers = {
349
349
  [ScalarColumnType.MONEY]: normalize_money,
350
350
  [ArrayColumnType.MONEY_ARRAY]: normalize_array(normalize_money),
351
351
  [ScalarColumnType.JSON]: toJson,
352
+ [ArrayColumnType.JSON_ARRAY]: normalize_array(toJson),
352
353
  [ScalarColumnType.JSONB]: toJson,
354
+ [ArrayColumnType.JSONB_ARRAY]: normalize_array(toJson),
353
355
  [ScalarColumnType.BYTEA]: convertBytes,
354
356
  [ArrayColumnType.BYTEA_ARRAY]: normalizeByteaArray,
355
357
  [ArrayColumnType.BIT_ARRAY]: normalize_array(normalizeBit),
@@ -406,23 +408,7 @@ var TLS_ERRORS = /* @__PURE__ */ new Set([
406
408
  var SOCKET_ERRORS = /* @__PURE__ */ new Set(["ENOTFOUND", "ECONNREFUSED", "ECONNRESET", "ETIMEDOUT"]);
407
409
  function convertDriverError(error) {
408
410
  if (isSocketError(error)) {
409
- switch (error.code) {
410
- case "ENOTFOUND":
411
- case "ECONNREFUSED":
412
- return {
413
- kind: "DatabaseNotReachable",
414
- host: error.address ?? error.hostname,
415
- port: error.port
416
- };
417
- case "ECONNRESET":
418
- return {
419
- kind: "ConnectionClosed"
420
- };
421
- case "ETIMEDOUT":
422
- return {
423
- kind: "SocketTimeout"
424
- };
425
- }
411
+ return mapSocketError(error);
426
412
  }
427
413
  if (isTlsError(error)) {
428
414
  return {
@@ -430,9 +416,16 @@ function convertDriverError(error) {
430
416
  reason: error.message
431
417
  };
432
418
  }
433
- if (!isDbError(error)) {
434
- throw error;
419
+ if (isDriverError(error)) {
420
+ return {
421
+ originalCode: error.code,
422
+ originalMessage: error.message,
423
+ ...mapDriverError(error)
424
+ };
435
425
  }
426
+ throw error;
427
+ }
428
+ function mapDriverError(error) {
436
429
  switch (error.code) {
437
430
  case "22001":
438
431
  return {
@@ -521,9 +514,28 @@ function convertDriverError(error) {
521
514
  };
522
515
  }
523
516
  }
524
- function isDbError(error) {
517
+ function isDriverError(error) {
525
518
  return typeof error.code === "string" && typeof error.message === "string" && typeof error.severity === "string" && (typeof error.detail === "string" || error.detail === void 0) && (typeof error.column === "string" || error.column === void 0) && (typeof error.hint === "string" || error.hint === void 0);
526
519
  }
520
+ function mapSocketError(error) {
521
+ switch (error.code) {
522
+ case "ENOTFOUND":
523
+ case "ECONNREFUSED":
524
+ return {
525
+ kind: "DatabaseNotReachable",
526
+ host: error.address ?? error.hostname,
527
+ port: error.port
528
+ };
529
+ case "ECONNRESET":
530
+ return {
531
+ kind: "ConnectionClosed"
532
+ };
533
+ case "ETIMEDOUT":
534
+ return {
535
+ kind: "SocketTimeout"
536
+ };
537
+ }
538
+ }
527
539
  function isSocketError(error) {
528
540
  return typeof error.code === "string" && typeof error.syscall === "string" && typeof error.errno === "number" && SOCKET_ERRORS.has(error.code);
529
541
  }
package/dist/index.mjs CHANGED
@@ -313,7 +313,9 @@ var customParsers = {
313
313
  [ScalarColumnType.MONEY]: normalize_money,
314
314
  [ArrayColumnType.MONEY_ARRAY]: normalize_array(normalize_money),
315
315
  [ScalarColumnType.JSON]: toJson,
316
+ [ArrayColumnType.JSON_ARRAY]: normalize_array(toJson),
316
317
  [ScalarColumnType.JSONB]: toJson,
318
+ [ArrayColumnType.JSONB_ARRAY]: normalize_array(toJson),
317
319
  [ScalarColumnType.BYTEA]: convertBytes,
318
320
  [ArrayColumnType.BYTEA_ARRAY]: normalizeByteaArray,
319
321
  [ArrayColumnType.BIT_ARRAY]: normalize_array(normalizeBit),
@@ -370,23 +372,7 @@ var TLS_ERRORS = /* @__PURE__ */ new Set([
370
372
  var SOCKET_ERRORS = /* @__PURE__ */ new Set(["ENOTFOUND", "ECONNREFUSED", "ECONNRESET", "ETIMEDOUT"]);
371
373
  function convertDriverError(error) {
372
374
  if (isSocketError(error)) {
373
- switch (error.code) {
374
- case "ENOTFOUND":
375
- case "ECONNREFUSED":
376
- return {
377
- kind: "DatabaseNotReachable",
378
- host: error.address ?? error.hostname,
379
- port: error.port
380
- };
381
- case "ECONNRESET":
382
- return {
383
- kind: "ConnectionClosed"
384
- };
385
- case "ETIMEDOUT":
386
- return {
387
- kind: "SocketTimeout"
388
- };
389
- }
375
+ return mapSocketError(error);
390
376
  }
391
377
  if (isTlsError(error)) {
392
378
  return {
@@ -394,9 +380,16 @@ function convertDriverError(error) {
394
380
  reason: error.message
395
381
  };
396
382
  }
397
- if (!isDbError(error)) {
398
- throw error;
383
+ if (isDriverError(error)) {
384
+ return {
385
+ originalCode: error.code,
386
+ originalMessage: error.message,
387
+ ...mapDriverError(error)
388
+ };
399
389
  }
390
+ throw error;
391
+ }
392
+ function mapDriverError(error) {
400
393
  switch (error.code) {
401
394
  case "22001":
402
395
  return {
@@ -485,9 +478,28 @@ function convertDriverError(error) {
485
478
  };
486
479
  }
487
480
  }
488
- function isDbError(error) {
481
+ function isDriverError(error) {
489
482
  return typeof error.code === "string" && typeof error.message === "string" && typeof error.severity === "string" && (typeof error.detail === "string" || error.detail === void 0) && (typeof error.column === "string" || error.column === void 0) && (typeof error.hint === "string" || error.hint === void 0);
490
483
  }
484
+ function mapSocketError(error) {
485
+ switch (error.code) {
486
+ case "ENOTFOUND":
487
+ case "ECONNREFUSED":
488
+ return {
489
+ kind: "DatabaseNotReachable",
490
+ host: error.address ?? error.hostname,
491
+ port: error.port
492
+ };
493
+ case "ECONNRESET":
494
+ return {
495
+ kind: "ConnectionClosed"
496
+ };
497
+ case "ETIMEDOUT":
498
+ return {
499
+ kind: "SocketTimeout"
500
+ };
501
+ }
502
+ }
491
503
  function isSocketError(error) {
492
504
  return typeof error.code === "string" && typeof error.syscall === "string" && typeof error.errno === "number" && SOCKET_ERRORS.has(error.code);
493
505
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prisma/adapter-pg",
3
- "version": "6.14.0-dev.4",
3
+ "version": "6.14.0-dev.40",
4
4
  "description": "Prisma's driver adapter for \"pg\"",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -33,7 +33,7 @@
33
33
  "dependencies": {
34
34
  "postgres-array": "3.0.4",
35
35
  "pg": "^8.11.3",
36
- "@prisma/driver-adapter-utils": "6.14.0-dev.4"
36
+ "@prisma/driver-adapter-utils": "6.14.0-dev.40"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@swc/core": "1.11.5",