REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 25.37 KB
Close
/proc/thread-self/root/home/byroehnu/.trash/node_modules11/@prisma/adapter-pg/dist/index.js
Text
Base64
"use strict"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name2 in all) __defProp(target, name2, { get: all[name2], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/index.ts var index_exports = {}; __export(index_exports, { PrismaPg: () => PrismaPgAdapterFactory }); module.exports = __toCommonJS(index_exports); // src/pg.ts var import_driver_adapter_utils2 = require("@prisma/driver-adapter-utils"); var import_pg2 = __toESM(require("pg")); // package.json var name = "@prisma/adapter-pg"; // src/constants.ts var FIRST_NORMAL_OBJECT_ID = 16384; // src/conversion.ts var import_driver_adapter_utils = require("@prisma/driver-adapter-utils"); var import_pg = __toESM(require("pg")); var import_postgres_array = require("postgres-array"); var { types } = import_pg.default; var { builtins: ScalarColumnType, getTypeParser } = types; var AdditionalScalarColumnType = { NAME: 19 }; var ArrayColumnType = { BIT_ARRAY: 1561, BOOL_ARRAY: 1e3, BYTEA_ARRAY: 1001, BPCHAR_ARRAY: 1014, CHAR_ARRAY: 1002, CIDR_ARRAY: 651, DATE_ARRAY: 1182, FLOAT4_ARRAY: 1021, FLOAT8_ARRAY: 1022, INET_ARRAY: 1041, INT2_ARRAY: 1005, INT4_ARRAY: 1007, INT8_ARRAY: 1016, JSONB_ARRAY: 3807, JSON_ARRAY: 199, MONEY_ARRAY: 791, NUMERIC_ARRAY: 1231, OID_ARRAY: 1028, TEXT_ARRAY: 1009, TIMESTAMP_ARRAY: 1115, TIMESTAMPTZ_ARRAY: 1185, TIME_ARRAY: 1183, UUID_ARRAY: 2951, VARBIT_ARRAY: 1563, VARCHAR_ARRAY: 1015, XML_ARRAY: 143 }; var UnsupportedNativeDataType = class _UnsupportedNativeDataType extends Error { // map of type codes to type names static typeNames = { 16: "bool", 17: "bytea", 18: "char", 19: "name", 20: "int8", 21: "int2", 22: "int2vector", 23: "int4", 24: "regproc", 25: "text", 26: "oid", 27: "tid", 28: "xid", 29: "cid", 30: "oidvector", 32: "pg_ddl_command", 71: "pg_type", 75: "pg_attribute", 81: "pg_proc", 83: "pg_class", 114: "json", 142: "xml", 194: "pg_node_tree", 269: "table_am_handler", 325: "index_am_handler", 600: "point", 601: "lseg", 602: "path", 603: "box", 604: "polygon", 628: "line", 650: "cidr", 700: "float4", 701: "float8", 705: "unknown", 718: "circle", 774: "macaddr8", 790: "money", 829: "macaddr", 869: "inet", 1033: "aclitem", 1042: "bpchar", 1043: "varchar", 1082: "date", 1083: "time", 1114: "timestamp", 1184: "timestamptz", 1186: "interval", 1266: "timetz", 1560: "bit", 1562: "varbit", 1700: "numeric", 1790: "refcursor", 2202: "regprocedure", 2203: "regoper", 2204: "regoperator", 2205: "regclass", 2206: "regtype", 2249: "record", 2275: "cstring", 2276: "any", 2277: "anyarray", 2278: "void", 2279: "trigger", 2280: "language_handler", 2281: "internal", 2283: "anyelement", 2287: "_record", 2776: "anynonarray", 2950: "uuid", 2970: "txid_snapshot", 3115: "fdw_handler", 3220: "pg_lsn", 3310: "tsm_handler", 3361: "pg_ndistinct", 3402: "pg_dependencies", 3500: "anyenum", 3614: "tsvector", 3615: "tsquery", 3642: "gtsvector", 3734: "regconfig", 3769: "regdictionary", 3802: "jsonb", 3831: "anyrange", 3838: "event_trigger", 3904: "int4range", 3906: "numrange", 3908: "tsrange", 3910: "tstzrange", 3912: "daterange", 3926: "int8range", 4072: "jsonpath", 4089: "regnamespace", 4096: "regrole", 4191: "regcollation", 4451: "int4multirange", 4532: "nummultirange", 4533: "tsmultirange", 4534: "tstzmultirange", 4535: "datemultirange", 4536: "int8multirange", 4537: "anymultirange", 4538: "anycompatiblemultirange", 4600: "pg_brin_bloom_summary", 4601: "pg_brin_minmax_multi_summary", 5017: "pg_mcv_list", 5038: "pg_snapshot", 5069: "xid8", 5077: "anycompatible", 5078: "anycompatiblearray", 5079: "anycompatiblenonarray", 5080: "anycompatiblerange" }; type; constructor(code) { super(); this.type = _UnsupportedNativeDataType.typeNames[code] || "Unknown"; this.message = `Unsupported column type ${this.type}`; } }; function fieldToColumnType(fieldTypeId) { switch (fieldTypeId) { case ScalarColumnType.INT2: case ScalarColumnType.INT4: return import_driver_adapter_utils.ColumnTypeEnum.Int32; case ScalarColumnType.INT8: return import_driver_adapter_utils.ColumnTypeEnum.Int64; case ScalarColumnType.FLOAT4: return import_driver_adapter_utils.ColumnTypeEnum.Float; case ScalarColumnType.FLOAT8: return import_driver_adapter_utils.ColumnTypeEnum.Double; case ScalarColumnType.BOOL: return import_driver_adapter_utils.ColumnTypeEnum.Boolean; case ScalarColumnType.DATE: return import_driver_adapter_utils.ColumnTypeEnum.Date; case ScalarColumnType.TIME: case ScalarColumnType.TIMETZ: return import_driver_adapter_utils.ColumnTypeEnum.Time; case ScalarColumnType.TIMESTAMP: case ScalarColumnType.TIMESTAMPTZ: return import_driver_adapter_utils.ColumnTypeEnum.DateTime; case ScalarColumnType.NUMERIC: case ScalarColumnType.MONEY: return import_driver_adapter_utils.ColumnTypeEnum.Numeric; case ScalarColumnType.JSON: case ScalarColumnType.JSONB: return import_driver_adapter_utils.ColumnTypeEnum.Json; case ScalarColumnType.UUID: return import_driver_adapter_utils.ColumnTypeEnum.Uuid; case ScalarColumnType.OID: return import_driver_adapter_utils.ColumnTypeEnum.Int64; case ScalarColumnType.BPCHAR: case ScalarColumnType.TEXT: case ScalarColumnType.VARCHAR: case ScalarColumnType.BIT: case ScalarColumnType.VARBIT: case ScalarColumnType.INET: case ScalarColumnType.CIDR: case ScalarColumnType.XML: case AdditionalScalarColumnType.NAME: return import_driver_adapter_utils.ColumnTypeEnum.Text; case ScalarColumnType.BYTEA: return import_driver_adapter_utils.ColumnTypeEnum.Bytes; case ArrayColumnType.INT2_ARRAY: case ArrayColumnType.INT4_ARRAY: return import_driver_adapter_utils.ColumnTypeEnum.Int32Array; case ArrayColumnType.FLOAT4_ARRAY: return import_driver_adapter_utils.ColumnTypeEnum.FloatArray; case ArrayColumnType.FLOAT8_ARRAY: return import_driver_adapter_utils.ColumnTypeEnum.DoubleArray; case ArrayColumnType.NUMERIC_ARRAY: case ArrayColumnType.MONEY_ARRAY: return import_driver_adapter_utils.ColumnTypeEnum.NumericArray; case ArrayColumnType.BOOL_ARRAY: return import_driver_adapter_utils.ColumnTypeEnum.BooleanArray; case ArrayColumnType.CHAR_ARRAY: return import_driver_adapter_utils.ColumnTypeEnum.CharacterArray; case ArrayColumnType.BPCHAR_ARRAY: case ArrayColumnType.TEXT_ARRAY: case ArrayColumnType.VARCHAR_ARRAY: case ArrayColumnType.VARBIT_ARRAY: case ArrayColumnType.BIT_ARRAY: case ArrayColumnType.INET_ARRAY: case ArrayColumnType.CIDR_ARRAY: case ArrayColumnType.XML_ARRAY: return import_driver_adapter_utils.ColumnTypeEnum.TextArray; case ArrayColumnType.DATE_ARRAY: return import_driver_adapter_utils.ColumnTypeEnum.DateArray; case ArrayColumnType.TIME_ARRAY: return import_driver_adapter_utils.ColumnTypeEnum.TimeArray; case ArrayColumnType.TIMESTAMP_ARRAY: return import_driver_adapter_utils.ColumnTypeEnum.DateTimeArray; case ArrayColumnType.TIMESTAMPTZ_ARRAY: return import_driver_adapter_utils.ColumnTypeEnum.DateTimeArray; case ArrayColumnType.JSON_ARRAY: case ArrayColumnType.JSONB_ARRAY: return import_driver_adapter_utils.ColumnTypeEnum.JsonArray; case ArrayColumnType.BYTEA_ARRAY: return import_driver_adapter_utils.ColumnTypeEnum.BytesArray; case ArrayColumnType.UUID_ARRAY: return import_driver_adapter_utils.ColumnTypeEnum.UuidArray; case ArrayColumnType.INT8_ARRAY: case ArrayColumnType.OID_ARRAY: return import_driver_adapter_utils.ColumnTypeEnum.Int64Array; default: if (fieldTypeId >= FIRST_NORMAL_OBJECT_ID) { return import_driver_adapter_utils.ColumnTypeEnum.Text; } throw new UnsupportedNativeDataType(fieldTypeId); } } function normalize_array(element_normalizer) { return (str) => (0, import_postgres_array.parse)(str, element_normalizer); } function normalize_numeric(numeric) { return numeric; } function normalize_date(date) { return date; } function normalize_timestamp(time) { return `${time.replace(" ", "T")}+00:00`; } function normalize_timestamptz(time) { return time.replace(" ", "T").replace(/[+-]\d{2}(:\d{2})?$/, "+00:00"); } function normalize_time(time) { return time; } function normalize_timez(time) { return time.replace(/[+-]\d{2}(:\d{2})?$/, ""); } function normalize_money(money) { return money.slice(1); } function normalize_xml(xml) { return xml; } function toJson(json) { return json; } var parsePgBytes = getTypeParser(ScalarColumnType.BYTEA); var normalizeByteaArray = getTypeParser(ArrayColumnType.BYTEA_ARRAY); function convertBytes(serializedBytes) { return parsePgBytes(serializedBytes); } function normalizeBit(bit) { return bit; } var customParsers = { [ScalarColumnType.NUMERIC]: normalize_numeric, [ArrayColumnType.NUMERIC_ARRAY]: normalize_array(normalize_numeric), [ScalarColumnType.TIME]: normalize_time, [ArrayColumnType.TIME_ARRAY]: normalize_array(normalize_time), [ScalarColumnType.TIMETZ]: normalize_timez, [ScalarColumnType.DATE]: normalize_date, [ArrayColumnType.DATE_ARRAY]: normalize_array(normalize_date), [ScalarColumnType.TIMESTAMP]: normalize_timestamp, [ArrayColumnType.TIMESTAMP_ARRAY]: normalize_array(normalize_timestamp), [ScalarColumnType.TIMESTAMPTZ]: normalize_timestamptz, [ArrayColumnType.TIMESTAMPTZ_ARRAY]: normalize_array(normalize_timestamptz), [ScalarColumnType.MONEY]: normalize_money, [ArrayColumnType.MONEY_ARRAY]: normalize_array(normalize_money), [ScalarColumnType.JSON]: toJson, [ArrayColumnType.JSON_ARRAY]: normalize_array(toJson), [ScalarColumnType.JSONB]: toJson, [ArrayColumnType.JSONB_ARRAY]: normalize_array(toJson), [ScalarColumnType.BYTEA]: convertBytes, [ArrayColumnType.BYTEA_ARRAY]: normalizeByteaArray, [ArrayColumnType.BIT_ARRAY]: normalize_array(normalizeBit), [ArrayColumnType.VARBIT_ARRAY]: normalize_array(normalizeBit), [ArrayColumnType.XML_ARRAY]: normalize_array(normalize_xml) }; function mapArg(arg, argType) { if (arg === null) { return null; } if (Array.isArray(arg) && argType.arity === "list") { return arg.map((value) => mapArg(value, argType)); } if (typeof arg === "string" && argType.scalarType === "datetime") { arg = new Date(arg); } if (arg instanceof Date) { switch (argType.dbType) { case "TIME": case "TIMETZ": return formatTime(arg); case "DATE": return formatDate(arg); default: return formatDateTime(arg); } } if (typeof arg === "string" && argType.scalarType === "bytes") { return Buffer.from(arg, "base64"); } if (ArrayBuffer.isView(arg)) { return new Uint8Array(arg.buffer, arg.byteOffset, arg.byteLength); } return arg; } function formatDateTime(date) { const pad = (n, z = 2) => String(n).padStart(z, "0"); const ms = date.getUTCMilliseconds(); return pad(date.getUTCFullYear(), 4) + "-" + pad(date.getUTCMonth() + 1) + "-" + pad(date.getUTCDate()) + " " + pad(date.getUTCHours()) + ":" + pad(date.getUTCMinutes()) + ":" + pad(date.getUTCSeconds()) + (ms ? "." + String(ms).padStart(3, "0") : ""); } function formatDate(date) { const pad = (n, z = 2) => String(n).padStart(z, "0"); return pad(date.getUTCFullYear(), 4) + "-" + pad(date.getUTCMonth() + 1) + "-" + pad(date.getUTCDate()); } function formatTime(date) { const pad = (n, z = 2) => String(n).padStart(z, "0"); const ms = date.getUTCMilliseconds(); return pad(date.getUTCHours()) + ":" + pad(date.getUTCMinutes()) + ":" + pad(date.getUTCSeconds()) + (ms ? "." + String(ms).padStart(3, "0") : ""); } // src/errors.ts var TLS_ERRORS = /* @__PURE__ */ new Set([ "UNABLE_TO_GET_ISSUER_CERT", "UNABLE_TO_GET_CRL", "UNABLE_TO_DECRYPT_CERT_SIGNATURE", "UNABLE_TO_DECRYPT_CRL_SIGNATURE", "UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY", "CERT_SIGNATURE_FAILURE", "CRL_SIGNATURE_FAILURE", "CERT_NOT_YET_VALID", "CERT_HAS_EXPIRED", "CRL_NOT_YET_VALID", "CRL_HAS_EXPIRED", "ERROR_IN_CERT_NOT_BEFORE_FIELD", "ERROR_IN_CERT_NOT_AFTER_FIELD", "ERROR_IN_CRL_LAST_UPDATE_FIELD", "ERROR_IN_CRL_NEXT_UPDATE_FIELD", "DEPTH_ZERO_SELF_SIGNED_CERT", "SELF_SIGNED_CERT_IN_CHAIN", "UNABLE_TO_GET_ISSUER_CERT_LOCALLY", "UNABLE_TO_VERIFY_LEAF_SIGNATURE", "CERT_CHAIN_TOO_LONG", "CERT_REVOKED", "INVALID_CA", "INVALID_PURPOSE", "CERT_UNTRUSTED", "CERT_REJECTED", "HOSTNAME_MISMATCH", "ERR_TLS_CERT_ALTNAME_FORMAT", "ERR_TLS_CERT_ALTNAME_INVALID" ]); var SOCKET_ERRORS = /* @__PURE__ */ new Set(["ENOTFOUND", "ECONNREFUSED", "ECONNRESET", "ETIMEDOUT"]); function convertDriverError(error) { if (isSocketError(error)) { return mapSocketError(error); } if (isTlsError(error)) { return { kind: "TlsConnectionError", reason: error.message }; } if (isDriverError(error)) { return { originalCode: error.code, originalMessage: error.message, ...mapDriverError(error) }; } throw error; } function mapDriverError(error) { switch (error.code) { case "22001": return { kind: "LengthMismatch", column: error.column }; case "22003": return { kind: "ValueOutOfRange", cause: error.message }; case "22P02": return { kind: "InvalidInputValue", message: error.message }; case "23505": { const fields = error.detail?.match(/Key \(([^)]+)\)/)?.at(1)?.split(", "); return { kind: "UniqueConstraintViolation", constraint: fields !== void 0 ? { fields } : void 0 }; } case "23502": { const fields = error.detail?.match(/Key \(([^)]+)\)/)?.at(1)?.split(", "); return { kind: "NullConstraintViolation", constraint: fields !== void 0 ? { fields } : void 0 }; } case "23503": { let constraint; if (error.column) { constraint = { fields: [error.column] }; } else if (error.constraint) { constraint = { index: error.constraint }; } return { kind: "ForeignKeyConstraintViolation", constraint }; } case "3D000": return { kind: "DatabaseDoesNotExist", db: error.message.split(" ").at(1)?.split('"').at(1) }; case "28000": return { kind: "DatabaseAccessDenied", db: error.message.split(",").find((s) => s.startsWith(" database"))?.split('"').at(1) }; case "28P01": return { kind: "AuthenticationFailed", user: error.message.split(" ").pop()?.split('"').at(1) }; case "40001": return { kind: "TransactionWriteConflict" }; case "42P01": return { kind: "TableDoesNotExist", table: error.message.split(" ").at(1)?.split('"').at(1) }; case "42703": return { kind: "ColumnNotFound", column: error.message.split(" ").at(1)?.split('"').at(1) }; case "42P04": return { kind: "DatabaseAlreadyExists", db: error.message.split(" ").at(1)?.split('"').at(1) }; case "53300": return { kind: "TooManyConnections", cause: error.message }; default: return { kind: "postgres", code: error.code ?? "N/A", severity: error.severity ?? "N/A", message: error.message, detail: error.detail, column: error.column, hint: error.hint }; } } function isDriverError(error) { 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); } function mapSocketError(error) { switch (error.code) { case "ENOTFOUND": case "ECONNREFUSED": return { kind: "DatabaseNotReachable", host: error.address ?? error.hostname, port: error.port }; case "ECONNRESET": return { kind: "ConnectionClosed" }; case "ETIMEDOUT": return { kind: "SocketTimeout" }; } } function isSocketError(error) { return typeof error.code === "string" && typeof error.syscall === "string" && typeof error.errno === "number" && SOCKET_ERRORS.has(error.code); } function isTlsError(error) { if (typeof error.code === "string") { return TLS_ERRORS.has(error.code); } switch (error.message) { case "The server does not support SSL connections": case "There was an error establishing an SSL connection": return true; } return false; } // src/pg.ts var types2 = import_pg2.default.types; var debug = (0, import_driver_adapter_utils2.Debug)("prisma:driver-adapter:pg"); var PgQueryable = class { constructor(client, pgOptions) { this.client = client; this.pgOptions = pgOptions; } provider = "postgres"; adapterName = name; /** * Execute a query given as SQL, interpolating the given parameters. */ async queryRaw(query) { const tag = "[js::query_raw]"; debug(`${tag} %O`, query); const { fields, rows } = await this.performIO(query); const columnNames = fields.map((field) => field.name); let columnTypes = []; try { columnTypes = fields.map((field) => fieldToColumnType(field.dataTypeID)); } catch (e) { if (e instanceof UnsupportedNativeDataType) { throw new import_driver_adapter_utils2.DriverAdapterError({ kind: "UnsupportedNativeDataType", type: e.type }); } throw e; } const udtParser = this.pgOptions?.userDefinedTypeParser; if (udtParser) { for (let i = 0; i < fields.length; i++) { const field = fields[i]; if (field.dataTypeID >= FIRST_NORMAL_OBJECT_ID && !Object.hasOwn(customParsers, field.dataTypeID)) { for (let j = 0; j < rows.length; j++) { rows[j][i] = await udtParser(field.dataTypeID, rows[j][i], this); } } } } return { columnNames, columnTypes, rows }; } /** * Execute a query given as SQL, interpolating the given parameters and * returning the number of affected rows. * Note: Queryable expects a u64, but napi.rs only supports u32. */ async executeRaw(query) { const tag = "[js::execute_raw]"; debug(`${tag} %O`, query); return (await this.performIO(query)).rowCount ?? 0; } /** * Run a query against the database, returning the result set. * Should the query fail due to a connection error, the connection is * marked as unhealthy. */ async performIO(query) { const { sql, args } = query; const values = args.map((arg, i) => mapArg(arg, query.argTypes[i])); try { const result = await this.client.query( { text: sql, values, rowMode: "array", types: { // This is the error expected: // No overload matches this call. // The last overload gave the following error. // Type '(oid: number, format?: any) => (json: string) => unknown' is not assignable to type '{ <T>(oid: number): TypeParser<string, string | T>; <T>(oid: number, format: "text"): TypeParser<string, string | T>; <T>(oid: number, format: "binary"): TypeParser<...>; }'. // Type '(json: string) => unknown' is not assignable to type 'TypeParser<Buffer, any>'. // Types of parameters 'json' and 'value' are incompatible. // Type 'Buffer' is not assignable to type 'string'.ts(2769) // // Because pg-types types expect us to handle both binary and text protocol versions, // where as far we can see, pg will ever pass only text version. // // @ts-expect-error getTypeParser: (oid, format) => { if (format === "text" && customParsers[oid]) { return customParsers[oid]; } return types2.getTypeParser(oid, format); } } }, values ); return result; } catch (e) { this.onError(e); } } onError(error) { debug("Error in performIO: %O", error); throw new import_driver_adapter_utils2.DriverAdapterError(convertDriverError(error)); } }; var PgTransaction = class extends PgQueryable { constructor(client, options, pgOptions, cleanup) { super(client, pgOptions); this.options = options; this.pgOptions = pgOptions; this.cleanup = cleanup; } async commit() { debug(`[js::commit]`); this.cleanup?.(); this.client.release(); } async rollback() { debug(`[js::rollback]`); this.cleanup?.(); this.client.release(); } }; var PrismaPgAdapter = class extends PgQueryable { constructor(client, pgOptions, release) { super(client); this.pgOptions = pgOptions; this.release = release; } async startTransaction(isolationLevel) { const options = { usePhantomQuery: false }; const tag = "[js::startTransaction]"; debug("%s options: %O", tag, options); const conn = await this.client.connect().catch((error) => this.onError(error)); const onError = (err) => { debug(`Error from pool connection: ${err.message} %O`, err); this.pgOptions?.onConnectionError?.(err); }; conn.on("error", onError); const cleanup = () => { conn.removeListener("error", onError); }; try { const tx = new PgTransaction(conn, options, this.pgOptions, cleanup); await tx.executeRaw({ sql: "BEGIN", args: [], argTypes: [] }); if (isolationLevel) { await tx.executeRaw({ sql: `SET TRANSACTION ISOLATION LEVEL ${isolationLevel}`, args: [], argTypes: [] }); } return tx; } catch (error) { cleanup(); conn.release(error); this.onError(error); } } async executeScript(script) { const statements = script.split(";").map((stmt) => stmt.trim()).filter((stmt) => stmt.length > 0); for (const stmt of statements) { try { await this.client.query(stmt); } catch (error) { this.onError(error); } } } getConnectionInfo() { return { schemaName: this.pgOptions?.schema, supportsRelationJoins: true }; } async dispose() { return this.release?.(); } underlyingDriver() { return this.client; } }; var PrismaPgAdapterFactory = class { constructor(poolOrConfig, options) { this.options = options; if (poolOrConfig instanceof import_pg2.default.Pool) { this.externalPool = poolOrConfig; this.config = poolOrConfig.options; } else { this.externalPool = null; this.config = poolOrConfig; } } provider = "postgres"; adapterName = name; config; externalPool; async connect() { const client = this.externalPool ?? new import_pg2.default.Pool(this.config); const onIdleClientError = (err) => { debug(`Error from idle pool client: ${err.message} %O`, err); this.options?.onPoolError?.(err); }; client.on("error", onIdleClientError); return new PrismaPgAdapter(client, this.options, async () => { if (this.externalPool) { if (this.options?.disposeExternalPool) { await this.externalPool.end(); this.externalPool = null; } else { this.externalPool.removeListener("error", onIdleClientError); } } else { await client.end(); } }); } async connectToShadowDb() { const conn = await this.connect(); const database = `prisma_migrate_shadow_db_${globalThis.crypto.randomUUID()}`; await conn.executeScript(`CREATE DATABASE "${database}"`); const client = new import_pg2.default.Pool({ ...this.config, database }); return new PrismaPgAdapter(client, void 0, async () => { await conn.executeScript(`DROP DATABASE "${database}"`); await client.end(); }); } }; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { PrismaPg });
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 4
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
index.d.mts
2.99 KB
lrw-r--r--
2026-02-03 16:30:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
index.d.ts
2.99 KB
lrw-r--r--
2026-02-03 16:30:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
index.js
25.37 KB
lrw-r--r--
2026-02-03 16:30:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
index.mjs
22.74 KB
lrw-r--r--
2026-02-03 16:30:02
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).