@prisma/orm-target-postgres 8.0.0-rc.14-dev.8 → 8.0.0-rc.14-dev.10

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.
Files changed (63) hide show
  1. package/dist/{adapter-Bb_FFDea-O-uPaHCy.mjs → adapter-Bb_FFDea-Bnp9ew_B.mjs} +4 -4
  2. package/dist/{adapter-Bb_FFDea-O-uPaHCy.mjs.map → adapter-Bb_FFDea-Bnp9ew_B.mjs.map} +1 -1
  3. package/dist/adapter.mjs +4 -4
  4. package/dist/adapter__adapter.mjs +1 -1
  5. package/dist/adapter__control.mjs +5 -5
  6. package/dist/adapter__runtime.mjs +4 -4
  7. package/dist/adapter__sql-renderer.mjs +1 -1
  8. package/dist/{authoring-DKN1ccEX-DgmJWx1r.mjs → authoring-2oKPEpBv-DfCFpeuD.mjs} +4 -4
  9. package/dist/{authoring-DKN1ccEX-DgmJWx1r.mjs.map → authoring-2oKPEpBv-DfCFpeuD.mjs.map} +1 -1
  10. package/dist/{codecs-Cytq8Ymj.mjs → codecs-DMPbfU3s.mjs} +2 -2
  11. package/dist/{codecs-Cytq8Ymj.mjs.map → codecs-DMPbfU3s.mjs.map} +1 -1
  12. package/dist/{codecs-BHNqtI1J-BSS9sL3H.mjs → codecs-IImhTd4L-CtRRX7y6.mjs} +4 -3
  13. package/dist/{codecs-BHNqtI1J-BSS9sL3H.mjs.map → codecs-IImhTd4L-CtRRX7y6.mjs.map} +1 -1
  14. package/dist/{control-CYQReJto.mjs → control-D5Vb1l8F.mjs} +9 -9
  15. package/dist/{control-CYQReJto.mjs.map → control-D5Vb1l8F.mjs.map} +1 -1
  16. package/dist/{control-adapter-C6kz--Q4-3C9-f7Uv.mjs → control-adapter-C6kz--Q4-CAryb7mj.mjs} +4 -4
  17. package/dist/{control-adapter-C6kz--Q4-3C9-f7Uv.mjs.map → control-adapter-C6kz--Q4-CAryb7mj.mjs.map} +1 -1
  18. package/dist/{control-policy-voGArjr--BeHlQRg0.mjs → control-policy-API5I4jr-ivEvCf_e.mjs} +4 -4
  19. package/dist/{control-policy-voGArjr--BeHlQRg0.mjs.map → control-policy-API5I4jr-ivEvCf_e.mjs.map} +1 -1
  20. package/dist/{descriptor-meta-DF0hODA0-DnO80XvH.mjs → descriptor-meta-B1rbY3IE-I1ec-I6j.mjs} +4 -4
  21. package/dist/{descriptor-meta-DF0hODA0-DnO80XvH.mjs.map → descriptor-meta-B1rbY3IE-I1ec-I6j.mjs.map} +1 -1
  22. package/dist/{descriptor-meta-BEigA5Gj-By_dcUjB.mjs → descriptor-meta-BEigA5Gj-BJLRWRFj.mjs} +4 -4
  23. package/dist/{descriptor-meta-BEigA5Gj-By_dcUjB.mjs.map → descriptor-meta-BEigA5Gj-BJLRWRFj.mjs.map} +1 -1
  24. package/dist/{diff-database-schema-MYPfxeRf-DdgnOIIl.mjs → diff-database-schema-MymRFpdQ-CyY82tmS.mjs} +3 -3
  25. package/dist/{diff-database-schema-MYPfxeRf-DdgnOIIl.mjs.map → diff-database-schema-MymRFpdQ-CyY82tmS.mjs.map} +1 -1
  26. package/dist/{full-text-index-expression-BM_vGygX-BOuja7X4.mjs → full-text-index-expression-l0hAieif-BU7rr9GS.mjs} +3 -3
  27. package/dist/{full-text-index-expression-BM_vGygX-BOuja7X4.mjs.map → full-text-index-expression-l0hAieif-BU7rr9GS.mjs.map} +1 -1
  28. package/dist/{infer-psl-contract-D7XJnfJv-Cd_Mf0UH.mjs → infer-psl-contract-CsDvYcvN-CMQR2WNf.mjs} +3 -3
  29. package/dist/{infer-psl-contract-D7XJnfJv-Cd_Mf0UH.mjs.map → infer-psl-contract-CsDvYcvN-CMQR2WNf.mjs.map} +1 -1
  30. package/dist/migration-PTHAY9Cv.mjs.map +1 -1
  31. package/dist/{op-factory-call-y5YADY2E-CnhkIujC.mjs → op-factory-call-uRJcYmJG-Bpyq2pCt.mjs} +18 -3
  32. package/dist/op-factory-call-uRJcYmJG-Bpyq2pCt.mjs.map +1 -0
  33. package/dist/{planner-DMVaXRSK-DCAGfALs.mjs → planner-Bp89yaJS-4TV82o0Y.mjs} +6 -6
  34. package/dist/{planner-DMVaXRSK-DCAGfALs.mjs.map → planner-Bp89yaJS-4TV82o0Y.mjs.map} +1 -1
  35. package/dist/{planner-ddl-builders-iE35pyxA-g7b_clbn.mjs → planner-ddl-builders-DSpQVbIm-Y4SbsU-O.mjs} +3 -3
  36. package/dist/{planner-ddl-builders-iE35pyxA-g7b_clbn.mjs.map → planner-ddl-builders-DSpQVbIm-Y4SbsU-O.mjs.map} +1 -1
  37. package/dist/{planner-produced-postgres-migration-C8TUIl2Z-DHjubKQ-.mjs → planner-produced-postgres-migration-D7vODJo4-BoaNLGvs.mjs} +3 -3
  38. package/dist/{planner-produced-postgres-migration-C8TUIl2Z-DHjubKQ-.mjs.map → planner-produced-postgres-migration-D7vODJo4-BoaNLGvs.mjs.map} +1 -1
  39. package/dist/{postgres-contract-view-BBMpf_qi-8V4vTm9U.mjs → postgres-contract-view-CUWYe586-CHykrpRs.mjs} +3 -3
  40. package/dist/{postgres-contract-view-BBMpf_qi-8V4vTm9U.mjs.map → postgres-contract-view-CUWYe586-CHykrpRs.mjs.map} +1 -1
  41. package/dist/{postgres-migration-UzDaU7Or-Dvc0Cdv5.mjs → postgres-migration-DMTY4p1--KjAAFSJ_.mjs} +4 -4
  42. package/dist/{postgres-migration-UzDaU7Or-Dvc0Cdv5.mjs.map → postgres-migration-DMTY4p1--KjAAFSJ_.mjs.map} +1 -1
  43. package/dist/{prisma7-binding-D_Q6ou4j.mjs → prisma7-binding-D8_eGy5l.mjs} +4 -4
  44. package/dist/{prisma7-binding-D_Q6ou4j.mjs.map → prisma7-binding-D8_eGy5l.mjs.map} +1 -1
  45. package/dist/{sql-renderer-CgUgFbU4-DqTf31OD.mjs → sql-renderer-CgUgFbU4-CujcTVwf.mjs} +2 -2
  46. package/dist/{sql-renderer-CgUgFbU4-DqTf31OD.mjs.map → sql-renderer-CgUgFbU4-CujcTVwf.mjs.map} +1 -1
  47. package/dist/target.mjs +14 -14
  48. package/dist/target__codecs.mjs +2 -2
  49. package/dist/target__control.mjs +2 -2
  50. package/dist/target__diff-database-schema.mjs +1 -1
  51. package/dist/target__issue-planner.mjs +1 -1
  52. package/dist/target__migration.mjs +2 -2
  53. package/dist/target__op-factory-call.mjs +1 -1
  54. package/dist/target__pack.mjs +1 -1
  55. package/dist/target__planner-ddl-builders.mjs +1 -1
  56. package/dist/target__planner-produced-postgres-migration.mjs +1 -1
  57. package/dist/target__planner.mjs +2 -2
  58. package/dist/target__prisma7-binding.mjs +1 -1
  59. package/dist/target__runtime.mjs +2 -2
  60. package/dist/target__runtime.mjs.map +1 -1
  61. package/dist/target__sql-utils.mjs +1 -1
  62. package/package.json +9 -9
  63. package/dist/op-factory-call-y5YADY2E-CnhkIujC.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"codecs-BHNqtI1J-BSS9sL3H.mjs","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/codecs-BHNqtI1J.mjs"],"sourcesContent":["import { A as PG_TIME_TEMPORAL_CODEC_ID, C as PG_TIMESTAMPTZ_DATE_CODEC_ID, D as PG_TIMESTAMP_TEMPORAL_CODEC_ID, E as PG_TIMESTAMP_STRING_CODEC_ID, F as PG_VARCHAR_CODEC_ID, M as PG_UNBOUNDED_INT_CODEC_ID, N as PG_UUID_CODEC_ID, O as PG_TIMETZ_CODEC_ID, P as PG_VARBIT_CODEC_ID, S as PG_TEXT_CODEC_ID, T as PG_TIMESTAMPTZ_TEMPORAL_CODEC_ID, _ as PG_INT_CODEC_ID, a as PG_DATE_STRING_CODEC_ID, b as PG_NUMERIC_CODEC_ID, c as PG_FLOAT4_CODEC_ID, d as PG_INET_CODEC_ID, f as PG_INT2_CODEC_ID, g as PG_INTERVAL_CODEC_ID, h as PG_INT8_NUMBER_CODEC_ID, i as PG_CHAR_CODEC_ID, j as PG_TSQUERY_CODEC_ID, k as PG_TIME_STRING_CODEC_ID, l as PG_FLOAT8_CODEC_ID, m as PG_INT8_CODEC_ID, n as PG_BOOL_CODEC_ID, o as PG_DATE_TEMPORAL_CODEC_ID, p as PG_INT4_CODEC_ID, r as PG_BYTEA_CODEC_ID, s as PG_ENUM_CODEC_ID, t as PG_BIT_CODEC_ID, u as PG_FLOAT_CODEC_ID, v as PG_JSONB_CODEC_ID, w as PG_TIMESTAMPTZ_STRING_CODEC_ID, x as PG_TEXT_ARRAY_CODEC_ID, y as PG_JSON_CODEC_ID } from \"./codec-ids-Cb0yO-IS.mjs\";\nimport { a as errorTemporalUnrepresentable, i as errorTemporalUnavailableForDefault, n as errorTemporalNonIsoCalendar, o as errorTemporalWrongType, r as errorTemporalUnavailable, s as postgresError } from \"./errors-DYyzTYzE.mjs\";\nimport { A as pgUnboundedIntDecode, C as pgIntervalToIso, D as pgJsonbEncode, E as pgJsonbDecode, M as renderLength, N as renderPrecision, O as pgNumericDecode, S as pgIntervalEncodeJson, T as pgJsonEncode, _ as pgInt8NumberEncode, a as decimalTextNumberLiteral, b as pgIntervalDecode, c as pgBigintEncode, d as pgByteaDecodeWire, f as pgByteaEncodeJson, g as pgInt8NumberDecodeJson, h as pgInt8NumberDecode, i as decimalTextBigintLiteral, j as precisionParamsSchema, k as pgNumericRenderOutputType, l as pgBigintEncodeJson, m as pgInt8Decode, n as FLOAT4_MAX, o as fitsCharacterLength, p as pgFloatEncode, r as canonicalUuid, s as fitsFloat4, t as CANONICAL_UUID, u as pgByteaDecodeJson, v as pgInt8NumberEncodeJson, w as pgJsonDecode, x as pgIntervalDecodeJson } from \"./codec-helpers-D83-1eDB.mjs\";\nimport { A as pgVarbit, C as pgTimestampCanonical, D as pgTimetzCanonical, E as pgTimetz, O as pgTsquery, S as pgTimestamp, T as pgTimestamptzCanonical, _ as pgNumeric, a as pgDate, b as pgTime, c as pgFloat4, d as pgInt2, f as pgInt4, g as pgJsonb, h as pgJson, i as pgChar, j as pgVarchar, k as pgUuid, l as pgFloat8, m as pgInterval, n as pgBool, o as pgDateCanonical, p as pgInt8, r as pgBytea, s as pgEnum, t as pgBit, u as pgInet, v as pgText, w as pgTimestamptz, x as pgTimeCanonical, y as pgTextArray } from \"./data-types-BqeC7aZP.mjs\";\nimport { a as postgresCodec, r as definePostgresCodecs, t as PostgresCodecDescriptor } from \"./codec-descriptor-B61d-k4C.mjs\";\nimport \"./namespace-ids-xtp_ZY86.mjs\";\nimport { t as PostgresNativeEnum } from \"./postgres-native-enum-CdP3b_-R.mjs\";\nimport { BinaryExpr, CaseExpr, CastExpr, FunctionCallExpr, LiteralExpr, NullCheckExpr, OrExpr, SqlCharCodec, SqlFloatCodec, SqlIntCodec, SqlVarcharCodec, canonicalDateTime, sqlCharDescriptor, sqlFloatDescriptor, sqlIntDescriptor, sqlTextDescriptor, sqlVarcharDescriptor } from \"@internal/sql-relational-core/ast\";\nimport { isStructuredError } from \"@internal/utils/structured-error\";\nimport { CodecImpl, INT32_RANGE, INT64_RANGE, column, decodeJsonBoolean, decodeJsonFloat, decodeJsonInteger, decodeJsonIntegerText, decodeJsonMatching, decodeJsonString, encodeJsonFloat, refuseJsonValue, renderTsLiteral } from \"@internal/framework-components/codec\";\nimport { counted, withoutTrailing } from \"@internal/utils/text\";\nimport { type } from \"arktype\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { UNBOUND_NAMESPACE_ID } from \"@internal/framework-components/ir\";\n//#region src/core/require-temporal.ts\nlet fallback;\n/**\n* Sets the implementation `requireTemporal` returns when the runtime has no global `Temporal`.\n* The value is held once per process. Only the control entry calls this.\n*/\nfunction setFallbackTemporal(implementation) {\n\tfallback = implementation;\n}\n/**\n* The `Temporal` to use: the runtime's own when it has one, else the fallback. Throws\n* `RUNTIME.TEMPORAL_UNAVAILABLE` when there is neither.\n*/\nfunction requireTemporal(meta) {\n\tif (typeof Temporal !== \"undefined\") return Temporal;\n\tif (fallback !== void 0) return fallback;\n\tthrow \"generatorId\" in meta ? errorTemporalUnavailableForDefault(meta.generatorId) : errorTemporalUnavailable(meta.codecId, meta.operation);\n}\n//#endregion\n//#region src/core/temporal-codec-helpers.ts\nconst PG_DATE_NATIVE_TYPE = \"date\";\nconst PG_TIMESTAMP_NATIVE_TYPE = \"timestamp without time zone\";\nconst PG_TIMESTAMPTZ_NATIVE_TYPE = \"timestamp with time zone\";\nconst PG_TIME_NATIVE_TYPE = \"time\";\nconst POSTGRES_TEMPORAL_SENTINELS = /* @__PURE__ */ new Set([\"infinity\", \"-infinity\"]);\nconst EXPANDED_YEAR_DIGITS = 6;\nconst ORDINARY_YEAR_DIGITS = 4;\nconst BC_SUFFIX = \" BC\";\nfunction adaptPostgresEra(text) {\n\tconst isBc = text.endsWith(BC_SUFFIX);\n\tconst body = isBc ? text.slice(0, -3) : text;\n\tconst yearEnd = body.indexOf(\"-\");\n\tif (yearEnd <= 0) return text;\n\tconst yearText = body.slice(0, yearEnd);\n\tif (!isBc && yearText.length <= ORDINARY_YEAR_DIGITS) return text;\n\tconst year = Number(yearText);\n\tif (!Number.isInteger(year)) return text;\n\tconst proleptic = isBc ? 1 - year : year;\n\treturn `${proleptic < 0 ? \"-\" : \"+\"}${String(Math.abs(proleptic)).padStart(EXPANDED_YEAR_DIGITS, \"0\")}${body.slice(yearEnd)}`;\n}\nfunction decodeTemporalText(identity, wire, parse, adapt) {\n\tconst temporal = requireTemporal({\n\t\tcodecId: identity.codecId,\n\t\toperation: \"decode\"\n\t});\n\tif (POSTGRES_TEMPORAL_SENTINELS.has(wire)) throw errorTemporalUnrepresentable({\n\t\t...identity,\n\t\toperation: \"decode\",\n\t\tvalue: wire,\n\t\tdetail: `PostgreSQL's ${wire} is a sentinel with no position on the timeline, so no Temporal value denotes it`\n\t});\n\ttry {\n\t\treturn parse(temporal, adapt(wire));\n\t} catch (cause) {\n\t\tthrow errorTemporalUnrepresentable({\n\t\t\t...identity,\n\t\t\toperation: \"decode\",\n\t\t\tvalue: wire,\n\t\t\tdetail: cause instanceof Error ? cause.message : String(cause),\n\t\t\tcause\n\t\t});\n\t}\n}\nfunction encodeTemporalValue(identity, value) {\n\tconst tag = typeof value === \"object\" && value !== null ? Reflect.get(value, Symbol.toStringTag) : void 0;\n\tif (tag !== identity.temporalTag) throw errorTemporalWrongType(identity.codecId, identity.temporalTag, identity.stringType, describeEncodeInput(value, tag));\n\tif (value.calendarId !== void 0 && value.calendarId !== \"iso8601\") throw errorTemporalNonIsoCalendar(identity.codecId, value.calendarId);\n\treturn value.toString();\n}\nfunction describeEncodeInput(value, tag) {\n\tif (typeof tag === \"string\") return `a ${tag}`;\n\tif (value instanceof Date) return \"a Date\";\n\tif (value === null) return \"null\";\n\treturn `a ${typeof value}`;\n}\nconst DATE_TEMPORAL = {\n\tcodecId: PG_DATE_TEMPORAL_CODEC_ID,\n\tstringType: \"DateString\",\n\ttemporalTag: \"Temporal.PlainDate\"\n};\nconst TIMESTAMP_TEMPORAL = {\n\tcodecId: PG_TIMESTAMP_TEMPORAL_CODEC_ID,\n\tstringType: \"TimestampString(p)\",\n\ttemporalTag: \"Temporal.PlainDateTime\"\n};\nconst TIMESTAMPTZ_TEMPORAL = {\n\tcodecId: PG_TIMESTAMPTZ_TEMPORAL_CODEC_ID,\n\tstringType: \"TimestamptzString(p)\",\n\ttemporalTag: \"Temporal.Instant\"\n};\nconst TIME_TEMPORAL = {\n\tcodecId: PG_TIME_TEMPORAL_CODEC_ID,\n\tstringType: \"TimeString(p)\",\n\ttemporalTag: \"Temporal.PlainTime\"\n};\nconst unadapted = (text) => text;\nconst pgDateTemporalDecode = (wire) => decodeTemporalText(DATE_TEMPORAL, wire, (temporal, text) => temporal.PlainDate.from(text), adaptPostgresEra);\nconst pgDateTemporalEncode = (value) => encodeTemporalValue(DATE_TEMPORAL, value);\nconst pgTimestampTemporalDecode = (wire) => decodeTemporalText(TIMESTAMP_TEMPORAL, wire, (temporal, text) => temporal.PlainDateTime.from(text), adaptPostgresEra);\nconst pgTimestampTemporalEncode = (value) => encodeTemporalValue(TIMESTAMP_TEMPORAL, value);\nconst pgTimestamptzTemporalDecode = (wire) => decodeTemporalText(TIMESTAMPTZ_TEMPORAL, wire, (temporal, text) => temporal.Instant.from(text), adaptPostgresEra);\nconst pgTimestamptzTemporalEncode = (value) => encodeTemporalValue(TIMESTAMPTZ_TEMPORAL, value);\nconst pgTimeTemporalDecode = (wire) => decodeTemporalText(TIME_TEMPORAL, wire, (temporal, text) => temporal.PlainTime.from(text), unadapted);\nconst pgTimeTemporalEncode = (value) => encodeTemporalValue(TIME_TEMPORAL, value);\n//#endregion\n//#region src/core/date-codecs.ts\nconst TIMESTAMPTZ_TEXT = /^([+-]\\d{6}|\\d{4,6})-(\\d{2})-(\\d{2})[ T](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d{1,6}))?(?:Z|([+-])(\\d{2})(?::?(\\d{2}))?(?::?(\\d{2}))?)( BC)?$/;\nconst MIN_TIMESTAMPTZ_MILLISECONDS = (/* @__PURE__ */ new Date(\"-004713-11-24T00:00:00.000Z\")).getTime();\nfunction invalidDate() {\n\treturn /* @__PURE__ */ new RangeError(`${PG_TIMESTAMPTZ_DATE_CODEC_ID} requires a valid Date or a representable ISO PostgreSQL timestamp with time zone; use TimestamptzString for unsupported values`);\n}\nfunction isRepresentable(value) {\n\treturn value instanceof Date && Number.isFinite(value.getTime()) && value.getTime() >= MIN_TIMESTAMPTZ_MILLISECONDS;\n}\nfunction validateDate(value) {\n\tif (!isRepresentable(value)) throw invalidDate();\n\treturn value;\n}\nfunction decodeDate(wire) {\n\tconst date = typeof wire === \"string\" ? parseDate(wire) : void 0;\n\tif (date === void 0) throw invalidDate();\n\treturn date;\n}\n/** The instant a timestamp with time zone as PostgreSQL writes it names, or `undefined` when the text is not one. */\nfunction parseDate(text) {\n\tconst match = TIMESTAMPTZ_TEXT.exec(text);\n\tif (!match) return void 0;\n\tconst [, yearText = \"\", monthText, dayText, hourText, minuteText, secondText, fraction = \"\", sign, offsetHour = \"0\", offsetMinute = \"0\", offsetSecond = \"0\", era] = match;\n\tconst year = era ? 1 - Number(yearText) : Number(yearText);\n\tconst month = Number(monthText) - 1;\n\tconst day = Number(dayText);\n\tconst hour = Number(hourText);\n\tconst minute = Number(minuteText);\n\tconst second = Number(secondText);\n\tconst milliseconds = Number(fraction.slice(0, 3).padEnd(3, \"0\"));\n\tconst cycles = Math.floor((year - 2e3) / 400);\n\tconst safeYear = year - cycles * 400;\n\tconst local = /* @__PURE__ */ new Date(0);\n\tlocal.setUTCFullYear(safeYear, month, day);\n\tlocal.setUTCHours(hour, minute, second, milliseconds);\n\tif (era !== void 0 && (Number(yearText) === 0 || /^[+-]/.test(yearText)) || local.getUTCFullYear() !== safeYear || local.getUTCMonth() !== month || local.getUTCDate() !== day || local.getUTCHours() !== hour || local.getUTCMinutes() !== minute || local.getUTCSeconds() !== second || Number(offsetHour) > 15 || Number(offsetMinute) > 59 || Number(offsetSecond) > 59) return void 0;\n\tconst offset = (Number(offsetHour) * 3600 + Number(offsetMinute) * 60 + Number(offsetSecond)) * (sign === \"-\" ? -1 : 1);\n\tconst value = /* @__PURE__ */ new Date(local.getTime() - offset * 1e3 + cycles * 146097 * 864e5);\n\treturn isRepresentable(value) ? value : void 0;\n}\nfunction encodeDate(value) {\n\tvalidateDate(value);\n\tconst iso = value.toISOString();\n\tconst year = value.getUTCFullYear();\n\tif (year > 0 && year < 1e4) return iso;\n\tconst dateAndTime = iso.slice(year === 0 ? 4 : 7);\n\treturn `${String(year <= 0 ? 1 - year : year).padStart(4, \"0\")}${dateAndTime}${year <= 0 ? \" BC\" : \"\"}`;\n}\nvar PgTimestamptzDateCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn encodeDate(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn decodeDate(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimestamptzCanonical(validateDate(value).toISOString());\n\t}\n\tdecodeJson(json) {\n\t\treturn parseDate(decodeJsonString(\"pg/timestamptz-date@1\", json)) ?? refuseJsonValue(\"pg/timestamptz-date@1\", \"a timestamp with time zone as PostgreSQL writes it\", json);\n\t}\n};\nvar PgTimestamptzDateDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIMESTAMPTZ_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTimestamptz.id;\n\tcodecId = PG_TIMESTAMPTZ_DATE_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [];\n\tparamsSchema = precisionParamsSchema;\n\trenderOutputType(_params) {\n\t\treturn \"Date\";\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgTimestamptzDateCodec(this);\n\t}\n};\nconst pgTimestamptzDateDescriptor = new PgTimestamptzDateDescriptor();\nconst pgTimestamptzDateColumn = (params = {}) => column(pgTimestamptzDateDescriptor.factory(params), pgTimestamptzDateDescriptor.codecId, params, \"timestamptz\");\n//#endregion\n//#region src/core/date-time-stored-text.ts\nconst YEAR = String.raw`(?:[+-]\\d{6}|\\d{4,7})`;\nconst DATE = String.raw`${YEAR}-\\d{2}-\\d{2}`;\nconst TIME = String.raw`\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?`;\nconst OFFSET = String.raw`(?:Z|[+-]\\d{2}(?::\\d{2}(?::\\d{2})?)?)`;\nconst INFINITY = \"infinity|-infinity|\";\nconst BC = \"(?: BC)?\";\nconst FORMS = {\n\tdate: `${DATE}${BC}`,\n\ttime: TIME,\n\ttimeWithOffset: `${TIME}${OFFSET}`,\n\tdateTime: `${DATE}[ T]${TIME}${BC}`,\n\tinstant: `${DATE}[ T]${TIME}${OFFSET}${BC}`\n};\nconst DATED = /^([+-]?)(\\d{4,7})(-.*?)( BC)?$/;\nconst END_OF_DAY = /^24:00:00(?:\\.0+)?(?![.\\d])/;\n/** PostgreSQL's largest UTC offset, which it writes for no type past 15:59:59. */\nconst MAX_OFFSET_HOURS = 15;\nfunction storedText(options) {\n\treturn {\n\t\tdataTypeId: options.dataTypeId,\n\t\tshape: options.shape,\n\t\tpattern: new RegExp(`^(?:${options.infinity ? INFINITY : \"\"}${FORMS[options.shape]})$`),\n\t\tdescription: `${options.description} in ISO 8601 or as PostgreSQL writes it`,\n\t\tendOfDay: options.endOfDay\n\t};\n}\nconst pgDateStoredText = storedText({\n\tdataTypeId: pgDate.id,\n\tshape: \"date\",\n\tdescription: \"a date\",\n\tinfinity: true,\n\tendOfDay: false\n});\nconst pgTimeStoredText = storedText({\n\tdataTypeId: pgTime.id,\n\tshape: \"time\",\n\tdescription: \"a time of day\",\n\tinfinity: false,\n\tendOfDay: true\n});\nconst pgTimetzStoredText = storedText({\n\tdataTypeId: pgTimetz.id,\n\tshape: \"timeWithOffset\",\n\tdescription: \"a time of day with a UTC offset\",\n\tinfinity: false,\n\tendOfDay: true\n});\nconst pgTimestampStoredText = storedText({\n\tdataTypeId: pgTimestamp.id,\n\tshape: \"dateTime\",\n\tdescription: \"a date and time of day\",\n\tinfinity: true,\n\tendOfDay: false\n});\nconst pgTimestamptzStoredText = storedText({\n\tdataTypeId: pgTimestamptz.id,\n\tshape: \"instant\",\n\tdescription: \"a date and time of day with a UTC offset\",\n\tinfinity: true,\n\tendOfDay: false\n});\n/** The text with its year moved into the 400-year cycle from 2000, or `undefined` for a year no calendar has. */\nfunction inGregorianCycle(text) {\n\tconst match = DATED.exec(text);\n\tif (match === null) return text;\n\tconst [, sign = \"\", digits = \"\", rest = \"\", bc] = match;\n\tconst year = Number(digits);\n\tif (bc !== void 0 && (sign !== \"\" || year === 0) || sign === \"-\" && year === 0) return;\n\treturn `${2e3 + ((bc !== void 0 ? 1 - year : sign === \"-\" ? -year : year) % 400 + 400) % 400}${rest}`;\n}\nfunction holdsValue(stored, text) {\n\tif (text === \"infinity\" || text === \"-infinity\") return true;\n\tconst cycled = inGregorianCycle(text);\n\tif (cycled === void 0) return false;\n\tconst read = stored.endOfDay ? cycled.replace(END_OF_DAY, \"00:00:00\") : cycled;\n\ttry {\n\t\tcanonicalDateTime(read, {\n\t\t\tshape: stored.shape,\n\t\t\tdataTypeId: stored.dataTypeId,\n\t\t\tmaxOffsetHours: MAX_OFFSET_HOURS\n\t\t});\n\t\treturn true;\n\t} catch (error) {\n\t\tif (isStructuredError(error) && error.code === \"CONTRACT.CAST_REFUSED\") return false;\n\t\tthrow error;\n\t}\n}\n/** Reads a stored date or time text, refusing text in another form or naming no real date and time. */\nfunction decodeJsonDateTimeText(codecId, json, stored) {\n\tconst text = decodeJsonMatching(codecId, json, stored.pattern, stored.description);\n\treturn holdsValue(stored, text) ? text : refuseJsonValue(codecId, stored.description, json);\n}\n//#endregion\n//#region src/core/numeric-limits.ts\n/** The precision a `numeric` column takes. */\nconst NUMERIC_PRECISION_RANGE = {\n\tmin: 1,\n\tmax: 1e3\n};\n/** The scale a `numeric` column takes in PostgreSQL 15 and later, including a negative one and one above the precision. */\nconst NUMERIC_SCALE_RANGE = {\n\tmin: -1e3,\n\tmax: 1e3\n};\n//#endregion\n//#region src/core/temporal-codecs.ts\nvar PgDateTemporalCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgDateTemporalEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgDateTemporalDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgDateCanonical(pgDateTemporalEncode(value));\n\t}\n\tdecodeJson(json) {\n\t\treturn pgDateTemporalDecode(decodeJsonString(PG_DATE_TEMPORAL_CODEC_ID, json));\n\t}\n};\nvar PgDateTemporalDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_DATE_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgDate.id;\n\tcodecId = PG_DATE_TEMPORAL_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"date\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgDateTemporalCodec(this);\n\t}\n};\nconst pgDateTemporalDescriptor = new PgDateTemporalDescriptor();\nvar PgTimestampTemporalCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgTimestampTemporalEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgTimestampTemporalDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimestampCanonical(pgTimestampTemporalEncode(value));\n\t}\n\tdecodeJson(json) {\n\t\treturn pgTimestampTemporalDecode(decodeJsonString(PG_TIMESTAMP_TEMPORAL_CODEC_ID, json));\n\t}\n};\nvar PgTimestampTemporalDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIMESTAMP_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTimestamp.id;\n\tcodecId = PG_TIMESTAMP_TEMPORAL_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"timestamp\"];\n\tparamsSchema = precisionParamsSchema;\n\tfactory(_params) {\n\t\treturn () => new PgTimestampTemporalCodec(this);\n\t}\n};\nconst pgTimestampTemporalDescriptor = new PgTimestampTemporalDescriptor();\nvar PgTimestamptzTemporalCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgTimestamptzTemporalEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgTimestamptzTemporalDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimestamptzCanonical(pgTimestamptzTemporalEncode(value));\n\t}\n\tdecodeJson(json) {\n\t\treturn pgTimestamptzTemporalDecode(decodeJsonString(PG_TIMESTAMPTZ_TEMPORAL_CODEC_ID, json));\n\t}\n};\nvar PgTimestamptzTemporalDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIMESTAMPTZ_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTimestamptz.id;\n\tcodecId = PG_TIMESTAMPTZ_TEMPORAL_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"timestamptz\"];\n\tparamsSchema = precisionParamsSchema;\n\tfactory(_params) {\n\t\treturn () => new PgTimestamptzTemporalCodec(this);\n\t}\n};\nconst pgTimestamptzTemporalDescriptor = new PgTimestamptzTemporalDescriptor();\nvar PgTimeTemporalCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgTimeTemporalEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgTimeTemporalDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimeCanonical(pgTimeTemporalEncode(value));\n\t}\n\tdecodeJson(json) {\n\t\treturn pgTimeTemporalDecode(decodeJsonString(PG_TIME_TEMPORAL_CODEC_ID, json));\n\t}\n};\nvar PgTimeTemporalDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIME_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTime.id;\n\tcodecId = PG_TIME_TEMPORAL_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"time\"];\n\tparamsSchema = precisionParamsSchema;\n\tfactory(_params) {\n\t\treturn () => new PgTimeTemporalCodec(this);\n\t}\n};\nconst pgTimeTemporalDescriptor = new PgTimeTemporalDescriptor();\n//#endregion\n//#region src/core/temporal-string-codecs.ts\nvar PgDateStringCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn pgDateCanonical(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonDateTimeText(PG_DATE_STRING_CODEC_ID, json, pgDateStoredText);\n\t}\n};\nvar PgDateStringDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_DATE_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgDate.id;\n\tcodecId = PG_DATE_STRING_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgDateStringCodec(this);\n\t}\n};\nconst pgDateStringDescriptor = new PgDateStringDescriptor();\nvar PgTimestampStringCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimestampCanonical(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonDateTimeText(PG_TIMESTAMP_STRING_CODEC_ID, json, pgTimestampStoredText);\n\t}\n};\nvar PgTimestampStringDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIMESTAMP_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTimestamp.id;\n\tcodecId = PG_TIMESTAMP_STRING_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [];\n\tparamsSchema = precisionParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderPrecision(\"TimestampString\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgTimestampStringCodec(this);\n\t}\n};\nconst pgTimestampStringDescriptor = new PgTimestampStringDescriptor();\nvar PgTimestamptzStringCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimestamptzCanonical(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonDateTimeText(PG_TIMESTAMPTZ_STRING_CODEC_ID, json, pgTimestamptzStoredText);\n\t}\n};\nvar PgTimestamptzStringDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIMESTAMPTZ_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTimestamptz.id;\n\tcodecId = PG_TIMESTAMPTZ_STRING_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [];\n\tparamsSchema = precisionParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderPrecision(\"TimestamptzString\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgTimestamptzStringCodec(this);\n\t}\n};\nconst pgTimestamptzStringDescriptor = new PgTimestamptzStringDescriptor();\nvar PgTimeStringCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimeCanonical(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonDateTimeText(PG_TIME_STRING_CODEC_ID, json, pgTimeStoredText);\n\t}\n};\nvar PgTimeStringDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIME_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTime.id;\n\tcodecId = PG_TIME_STRING_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [];\n\tparamsSchema = precisionParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderPrecision(\"TimeString\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgTimeStringCodec(this);\n\t}\n};\nconst pgTimeStringDescriptor = new PgTimeStringDescriptor();\n//#endregion\n//#region src/core/codecs.ts\nconst lengthParamsSchema = type({ \"length?\": \"number.integer > 0\" });\nconst numericParamsSchema = type({\n\t\"precision?\": type(\"number.integer\").atLeast(NUMERIC_PRECISION_RANGE.min).atMost(NUMERIC_PRECISION_RANGE.max),\n\t\"scale?\": type(\"number.integer\").atLeast(NUMERIC_SCALE_RANGE.min).atMost(NUMERIC_SCALE_RANGE.max)\n});\nconst PG_TEXT_NATIVE_TYPE = \"text\";\nconst PG_TEXT_ARRAY_NATIVE_TYPE = \"text[]\";\nconst PG_INT4_NATIVE_TYPE = \"integer\";\nconst PG_INT2_NATIVE_TYPE = \"smallint\";\nconst PG_INT8_NATIVE_TYPE = \"bigint\";\nconst PG_FLOAT4_NATIVE_TYPE = \"real\";\nconst PG_FLOAT8_NATIVE_TYPE = \"double precision\";\nconst PG_NUMERIC_NATIVE_TYPE = \"numeric\";\nconst PG_TIMETZ_NATIVE_TYPE = \"timetz\";\nconst PG_BOOL_NATIVE_TYPE = \"boolean\";\nconst PG_BIT_NATIVE_TYPE = \"bit\";\nconst PG_VARBIT_NATIVE_TYPE = \"bit varying\";\nconst PG_BYTEA_NATIVE_TYPE = \"bytea\";\nconst PG_INTERVAL_NATIVE_TYPE = \"interval\";\nconst PG_JSON_NATIVE_TYPE = \"json\";\nconst PG_JSONB_NATIVE_TYPE = \"jsonb\";\n/**\n* Projects the expression unchanged, for codecs whose canonical JSON is what\n* PostgreSQL's own JSON conversion already produces.\n*\n* Identity here is a claim about the target's behaviour, not an absence of one:\n* the codec's conformance cases are what test it, including at the boundaries\n* of the representation — escaping, sign, and range — where a native conversion\n* would be most likely to diverge.\n*/\n/**\n* Whether a string is numeric text in the form PostgreSQL *prints*, which is\n* narrower than the form it accepts.\n*\n* `numeric` reads `+123`, `.5`, `1.`, `1e5`, `0x1f`, `1_000` and whitespace-padded\n* input, but prints every one of them in a single normalised form — `123`,\n* `0.5`, `1`, `100000`, `31`, `1000`, `12`. The projection reads the column back\n* through that printing, so accepting an input spelling here would produce an\n* application value the projection can never return: `encodeJson('1e5')` would\n* claim `1e5` where the database yields `100000`.\n*\n* `NaN`, `Infinity` and `-Infinity` are genuine `numeric` values, not error\n* states, and PostgreSQL emits them into JSON as strings — so they belong to the\n* canonical form and round-trip like any other value.\n*/\nconst CANONICAL_NUMERIC_TEXT = /^(?:-?\\d+(?:\\.\\d+)?|NaN|-?Infinity)$/;\nconst isCanonicalNumericText = (value) => CANONICAL_NUMERIC_TEXT.test(value);\n/**\n* Whether canonical numeric text is a value `numeric(precision, scale)` stores without rounding: a whole number of units of 10^-scale, and at most `precision` digits once counted in those units. A negative scale rounds to tens, hundreds and so on, and a scale above the precision allows only values below 1. NaN fits; an infinity does not.\n*/\nfunction fitsNumeric(text, precision, scale) {\n\tif (text === \"NaN\") return true;\n\tif (text.endsWith(\"Infinity\")) return false;\n\tconst [whole = \"\", fraction = \"\"] = text.replace(/^-/, \"\").split(\".\");\n\tconst significantFraction = withoutTrailing(fraction, \"0\");\n\tconst digits = `${whole}${significantFraction}`.replace(/^0+/, \"\");\n\tif (digits === \"\") return true;\n\tconst shift = scale - significantFraction.length;\n\tif (shift >= 0) return digits.length + shift <= precision;\n\tconst units = withoutTrailing(digits, \"0\");\n\tif (digits.length - units.length < -shift) return false;\n\treturn digits.length + shift <= precision;\n}\nconst identityJsonProjection = (expression) => expression;\n/**\n* Projects a `character` value as text, which drops the trailing spaces that pad it to its length and nothing else, so an include reads the value a flat read's `decode` returns.\n*/\nconst unpaddedCharJsonProjection = (expression) => CastExpr.as(expression, \"text\");\nconst BIT_STRING = /^[01]*$/;\nconst decodePostgresNumberWire = (wire) => typeof wire === \"string\" ? Number(wire) : wire;\nconst decodePostgresBooleanWire = (wire) => {\n\tif (typeof wire === \"boolean\") return wire;\n\tif (wire === \"t\" || wire === \"true\") return true;\n\tif (wire === \"f\" || wire === \"false\") return false;\n\tthrow postgresError(\"RUNTIME.DECODE_FAILED\", \"pg/bool@1 wire value must be boolean text\", { meta: {\n\t\tcodecId: PG_BOOL_CODEC_ID,\n\t\treceived: wire\n\t} });\n};\n/**\n* Projects a numeric-valued expression as decimal text.\n*\n* The cast is part of the projected expression, which is what makes it correct:\n* whatever `jsonProjection` returns is the argument the JSON constructor\n* receives, so casting here happens *before* PostgreSQL builds the JSON value.\n* Handed a `numeric` or `int8` directly, the constructor emits a JSON **number**,\n* and every digit past IEEE-754's 53 bits of significand is gone by the time the\n* driver has parsed it — before any codec can intervene. A cast applied to the\n* constructor's result instead of its argument would be too late to matter.\n*/\nconst decimalTextJsonProjection = (expression) => CastExpr.as(expression, \"text\");\n/**\n* Projects a `bytea` as base64 text.\n*\n* Like the decimal-text cast, the encoding is part of the projected expression:\n* PostgreSQL's own JSON conversion of a `bytea` emits its `\\x`-prefixed hex\n* output form, so the base64 encoding has to replace that conversion rather\n* than post-process it.\n*\n* `encode` emits RFC 2045 base64, which carries a line break every 76\n* characters — so any value over 56 bytes arrives wrapped. The breaks are\n* removed here, because the canonical form is unwrapped base64 and\n* `decodeJson` rejects anything else. `chr(10)` rather than a newline literal\n* keeps the rendered SQL on one line.\n*/\nconst base64JsonProjection = (expression) => FunctionCallExpr.of(\"translate\", [\n\tFunctionCallExpr.of(\"encode\", [expression, LiteralExpr.of(\"base64\")]),\n\tFunctionCallExpr.of(\"chr\", [LiteralExpr.of(10)]),\n\tLiteralExpr.of(\"\")\n]);\nconst datePart = (field, expression) => FunctionCallExpr.of(\"date_part\", [LiteralExpr.of(field), expression]);\nconst whenNonZero = (value, rendered) => CaseExpr.of([{\n\tcondition: BinaryExpr.neq(value, LiteralExpr.of(0)),\n\tvalue: rendered\n}], LiteralExpr.of(null));\n/**\n* Projects an `interval` as an ISO-8601 duration.\n*\n* An interval carries months, days and microseconds independently — `P1M` and\n* `P30D` are different intervals — so the projection reads each field with\n* `date_part` and assembles them rather than reducing the value to an epoch,\n* which would have to choose a length for a month. `IntervalStyle` decides how\n* PostgreSQL spells an interval and cannot be bound per expression, so the\n* spelling is constructed here instead of inherited.\n*\n* `concat` drops NULL arguments, so a zero component is omitted by rendering as\n* NULL; the seconds field is taken through `numeric` because a `double\n* precision` microsecond renders in scientific notation.\n*\n* That same NULL-dropping is why the whole assembly sits under an explicit NULL\n* check: for a NULL interval every field is NULL, `concat` yields `'P'`, and the\n* zero-duration fallback below would report an absent value as a zero one.\n*/\nconst isoDurationJsonProjection = (expression) => {\n\tconst field = (name) => datePart(name, expression);\n\tconst seconds = CastExpr.as(field(\"second\"), \"numeric\");\n\tconst assembled = FunctionCallExpr.of(\"concat\", [\n\t\tLiteralExpr.of(\"P\"),\n\t\twhenNonZero(field(\"year\"), FunctionCallExpr.of(\"concat\", [field(\"year\"), LiteralExpr.of(\"Y\")])),\n\t\twhenNonZero(field(\"month\"), FunctionCallExpr.of(\"concat\", [field(\"month\"), LiteralExpr.of(\"M\")])),\n\t\twhenNonZero(field(\"day\"), FunctionCallExpr.of(\"concat\", [field(\"day\"), LiteralExpr.of(\"D\")])),\n\t\tCaseExpr.of([{\n\t\t\tcondition: OrExpr.of([\n\t\t\t\tBinaryExpr.neq(field(\"hour\"), LiteralExpr.of(0)),\n\t\t\t\tBinaryExpr.neq(field(\"minute\"), LiteralExpr.of(0)),\n\t\t\t\tBinaryExpr.neq(field(\"second\"), LiteralExpr.of(0))\n\t\t\t]),\n\t\t\tvalue: LiteralExpr.of(\"T\")\n\t\t}], LiteralExpr.of(null)),\n\t\twhenNonZero(field(\"hour\"), FunctionCallExpr.of(\"concat\", [field(\"hour\"), LiteralExpr.of(\"H\")])),\n\t\twhenNonZero(field(\"minute\"), FunctionCallExpr.of(\"concat\", [field(\"minute\"), LiteralExpr.of(\"M\")])),\n\t\twhenNonZero(field(\"second\"), FunctionCallExpr.of(\"concat\", [seconds, LiteralExpr.of(\"S\")]))\n\t]);\n\treturn CaseExpr.of([{\n\t\tcondition: NullCheckExpr.isNull(expression),\n\t\tvalue: LiteralExpr.of(null)\n\t}], FunctionCallExpr.of(\"coalesce\", [FunctionCallExpr.of(\"nullif\", [assembled, LiteralExpr.of(\"P\")]), LiteralExpr.of(\"PT0S\")]));\n};\nconst postgresSqlCharDescriptor = postgresCodec(sqlCharDescriptor, {\n\tdataType: pgChar.id,\n\tnativeType: () => \"character\",\n\tjsonProjection: unpaddedCharJsonProjection,\n\tfactory: (descriptor, params) => () => new PgCharCodec(descriptor, params.length)\n});\nconst postgresSqlVarcharDescriptor = postgresCodec(sqlVarcharDescriptor, {\n\tdataType: pgVarchar.id,\n\tnativeType: () => \"character varying\",\n\tjsonProjection: identityJsonProjection,\n\tfactory: (descriptor, params) => () => new PgVarcharCodec(descriptor, params.length)\n});\nconst postgresSqlIntDescriptor = postgresCodec(sqlIntDescriptor, {\n\tdataType: pgInt4.id,\n\tnativeType: () => \"int4\",\n\tjsonProjection: identityJsonProjection,\n\tfactory: (descriptor) => () => new PgIntCodec(descriptor)\n});\nconst postgresSqlFloatDescriptor = postgresCodec(sqlFloatDescriptor, {\n\tdataType: pgFloat8.id,\n\tnativeType: () => \"float8\",\n\tjsonProjection: identityJsonProjection\n});\nconst postgresSqlTextDescriptor = postgresCodec(sqlTextDescriptor, {\n\tdataType: pgText.id,\n\tnativeType: () => \"text\",\n\tjsonProjection: identityJsonProjection\n});\nvar PgTextCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonString(PG_TEXT_CODEC_ID, json);\n\t}\n};\nvar PgTextDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TEXT_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgText.id;\n\tcodecId = PG_TEXT_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"textual\"\n\t];\n\ttargetTypes = [\"text\"];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgTextCodec(this);\n\t}\n};\nconst pgTextDescriptor = new PgTextDescriptor();\nconst pgTextColumn = () => column(pgTextDescriptor.factory(), pgTextDescriptor.codecId, void 0, \"text\");\n/**\n* Codec for a `pg.enum(Ref)` column bound to a native Postgres enum type.\n* Text passthrough, identical to `pg/text@1` — encode/decode do not carry the\n* enum's member values; membership is enforced by the native type itself, not\n* by this codec. `renderValueLiteral` renders a member value as its TS\n* literal, which is what drives the column's typed value-union (via\n* `renderValueSetType` reading the column's `valueSet` ref) — the codec\n* itself carries no params of its own; typing comes entirely from the\n* column's value-set, not from `pg/enum@1`.\n*\n* A distinct codec id (rather than reusing `pg/text@1` on a plain text\n* column) keeps native-enum columns independently identifiable — from a\n* column's `codecId` alone, without also inspecting `nativeType` — which\n* the managed (DDL) phase needs to target `CREATE TYPE`/`ALTER TYPE`\n* operations at exactly the columns that use one.\n*\n* Not `textual`, although its values are strings: Postgres has no `LIKE`,\n* `ILIKE` or `to_tsvector` over an enum type.\n*/\nvar PgEnumCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonString(PG_ENUM_CODEC_ID, json);\n\t}\n};\n/**\n* Narrows codec `typeParams` to {@link PgEnumParams} — the shape that binds a\n* column to a named database type (a native enum's `CREATE TYPE` name).\n*/\nfunction isPgEnumParams(value) {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value) && \"typeName\" in value && typeof value.typeName === \"string\";\n}\nconst pgEnumParamsSchema = type({ typeName: \"string\" });\nvar PgEnumDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType(params) {\n\t\treturn params.typeName;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgEnum.id;\n\tcodecId = PG_ENUM_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"text\"];\n\tparamsSchema = pgEnumParamsSchema;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgEnumCodec(this);\n\t}\n\t/**\n\t* Authoring-time hook a `pg.enum(<ref>)` type constructor calls once it has\n\t* resolved its ref argument to the referenced `native_enum` entity:\n\t* produces this codec's per-column `typeParams` and native type from the\n\t* entity's bare type name. Schema-qualification (`auth.aal_level` for a\n\t* named non-default schema) is not this hook's concern — the field's\n\t* namespace isn't known at this call site for every authoring path (the TS\n\t* builder resolves a column before it knows its model's namespace), so it is\n\t* applied later, at contract construction, by {@link qualifyNativeType} via\n\t* the target's `authoring.qualifyColumnType` hook. `nativeType` mirrors\n\t* `typeParams.typeName` — the same value `nativeTypeFor` derives at render\n\t* time — so the column's declared native type and the render-time cast\n\t* agree. Returns `undefined` if `entity` is not a `PostgresNativeEnum` (a\n\t* contributor bug, not a user-schema error — the caller decides how to\n\t* report it).\n\t*/\n\tcolumnFromEntity(entity) {\n\t\tif (!PostgresNativeEnum.is(entity)) return void 0;\n\t\treturn {\n\t\t\ttypeParams: { typeName: entity.typeName },\n\t\t\tnativeType: entity.typeName\n\t\t};\n\t}\n\t/**\n\t* Schema-qualifies this native enum type's name for the namespace the\n\t* consuming column lives in: `${namespaceId}.${typeName}` for a named\n\t* non-default schema, bare for the target's default schema (`public`) or\n\t* the late-bound unbound sentinel (whose schema `search_path` resolves at\n\t* runtime). Postgres's `format_type()` reports the bare name for a\n\t* public-schema type, so a public column's declared native type must stay\n\t* bare to match. Owned here because the codec owns its native type.\n\t*/\n\tqualifyNativeType(typeName, namespaceId) {\n\t\treturn namespaceId === \"public\" || namespaceId === UNBOUND_NAMESPACE_ID ? typeName : `${namespaceId}.${typeName}`;\n\t}\n};\nconst pgEnumDescriptor = new PgEnumDescriptor();\n/**\n* Contract-construction-time column-type qualifier the Postgres target\n* contributes through `authoring.qualifyColumnType`.\n* `buildSqlContractFromDefinition` calls this for every column as it is\n* constructed, passing the column's bare type info and its owning\n* `namespaceId`; a native-enum column (`pg/enum@1`) gets its type name\n* schema-qualified for that namespace (via\n* {@link PgEnumDescriptor.qualifyNativeType}), keeping `nativeType` and\n* `typeParams.typeName` in sync. Every other codec passes through unchanged.\n* Both the PSL `pg.enum(Ref)` path and the TS `pg.enum(handle)` path route\n* through here — the dispatch keys off the codec id, not authoring surface.\n*/\nfunction postgresQualifyColumnType(input, namespaceId) {\n\tif (input.codecId !== \"pg/enum@1\") return input;\n\tconst bareTypeName = input.typeParams?.[\"typeName\"];\n\tif (typeof bareTypeName !== \"string\") return input;\n\tconst qualified = pgEnumDescriptor.qualifyNativeType(bareTypeName, namespaceId);\n\treturn {\n\t\tnativeType: qualified,\n\t\ttypeParams: {\n\t\t\t...input.typeParams,\n\t\t\ttypeName: qualified\n\t\t}\n\t};\n}\n/**\n* Postgres `text[]` control codec. Encode is an identity pass-through: the pg\n* wire driver serialises a JS `string[]` to a Postgres array literal under the\n* `$N::text[]` cast emitted from this codec's native type. Control-plane reads\n* that need semantic arrays parse raw array text before shared validation rather\n* than decoding this whole array value. Not a user-facing scalar — it is not\n* part of the authorable `CodecTypes` surface, only the runtime codec registry.\n*/\nvar PgTextArrayCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn [...value];\n\t}\n\t/** A `text[]` may hold NULL elements, which PostgreSQL writes as JSON `null`. */\n\tdecodeJson(json) {\n\t\tconst expected = \"an array of strings and nulls\";\n\t\tif (!Array.isArray(json)) return refuseJsonValue(PG_TEXT_ARRAY_CODEC_ID, expected, json);\n\t\tconst elements = [];\n\t\tfor (const entry of json) {\n\t\t\tif (entry !== null && typeof entry !== \"string\") return refuseJsonValue(PG_TEXT_ARRAY_CODEC_ID, expected, entry);\n\t\t\telements.push(entry);\n\t\t}\n\t\treturn elements;\n\t}\n};\nvar PgTextArrayDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TEXT_ARRAY_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgTextArray.id;\n\tcodecId = PG_TEXT_ARRAY_CODEC_ID;\n\ttraits = [\"equality\"];\n\ttargetTypes = [\"text[]\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgTextArrayCodec(this);\n\t}\n};\nconst pgTextArrayDescriptor = new PgTextArrayDescriptor();\nvar PgInt4Codec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresNumberWire(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonInteger(PG_INT4_CODEC_ID, json, INT32_RANGE);\n\t}\n};\nvar PgInt4Descriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INT4_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgInt4.id;\n\tcodecId = PG_INT4_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"int4\"];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgInt4Codec(this);\n\t}\n};\nconst pgInt4Descriptor = new PgInt4Descriptor();\nconst pgInt4Column = () => column(pgInt4Descriptor.factory(), pgInt4Descriptor.codecId, void 0, \"int4\");\nvar PgInt2Codec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresNumberWire(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonInteger(PG_INT2_CODEC_ID, json, {\n\t\t\tmin: -32768,\n\t\t\tmax: 32767\n\t\t});\n\t}\n};\nvar PgInt2Descriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INT2_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgInt2.id;\n\tcodecId = PG_INT2_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"int2\"];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgInt2Codec(this);\n\t}\n};\nconst pgInt2Descriptor = new PgInt2Descriptor();\nconst pgInt2Column = () => column(pgInt2Descriptor.factory(), pgInt2Descriptor.codecId, void 0, \"int2\");\n/**\n* A Postgres `int8` spans the full signed 64-bit range, which a JS `number`\n* cannot hold past 2^53. Application values are `bigint` and the canonical JSON\n* is decimal text; the wire form is the decimal string `pg` reads and writes for\n* this type.\n*/\nvar PgInt8Codec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgBigintEncode(PG_INT8_CODEC_ID, value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgInt8Decode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgBigintEncodeJson(PG_INT8_CODEC_ID, value);\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonIntegerText(PG_INT8_CODEC_ID, json, INT64_RANGE);\n\t}\n};\nvar PgInt8Descriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INT8_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn decimalTextJsonProjection(expression);\n\t}\n\tdataType = pgInt8.id;\n\tcodecId = PG_INT8_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"int8\"];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn decimalTextBigintLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgInt8Codec(this);\n\t}\n};\nconst pgInt8Descriptor = new PgInt8Descriptor();\nconst pgInt8Column = () => column(pgInt8Descriptor.factory(), pgInt8Descriptor.codecId, void 0, \"int8\");\n/**\n* A Postgres `int8` decoded as a JS `number`, for columns whose values stay\n* within the safe integer range ±(2^53 − 1). Both directions guard rather than\n* round: decode (wire and JSON) and encode throw a structured error on\n* out-of-range or non-integral input. The canonical JSON is the decimal text\n* `pg/int8` carries, which every codec of that data type shares. The descriptor\n* claims no target type, so `int8` in type position stays `pg/int8@1`.\n*/\nvar PgInt8NumberCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgInt8NumberEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgInt8NumberDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgInt8NumberEncodeJson(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn pgInt8NumberDecodeJson(json);\n\t}\n};\nvar PgInt8NumberDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INT8_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn decimalTextJsonProjection(expression);\n\t}\n\tdataType = pgInt8.id;\n\tcodecId = PG_INT8_NUMBER_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn decimalTextNumberLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgInt8NumberCodec(this);\n\t}\n};\nconst pgInt8NumberDescriptor = new PgInt8NumberDescriptor();\nconst pgInt8NumberColumn = () => column(pgInt8NumberDescriptor.factory(), pgInt8NumberDescriptor.codecId, void 0, \"int8\");\nvar PgFloat4Codec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgFloatEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresNumberWire(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn encodeJsonFloat(value);\n\t}\n\tdecodeJson(json) {\n\t\tconst value = decodeJsonFloat(PG_FLOAT4_CODEC_ID, json);\n\t\tif (Number.isFinite(value) && !fitsFloat4(value)) return refuseJsonValue(PG_FLOAT4_CODEC_ID, `a number float4 holds, at most ${FLOAT4_MAX} in magnitude and not so small that it becomes 0, or the text NaN, Infinity or -Infinity`, json);\n\t\treturn value;\n\t}\n};\nvar PgFloat4Descriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_FLOAT4_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgFloat4.id;\n\tcodecId = PG_FLOAT4_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"float4\"];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgFloat4Codec(this);\n\t}\n};\nconst pgFloat4Descriptor = new PgFloat4Descriptor();\nconst pgFloat4Column = () => column(pgFloat4Descriptor.factory(), pgFloat4Descriptor.codecId, void 0, \"float4\");\nvar PgFloat8Codec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgFloatEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresNumberWire(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn encodeJsonFloat(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonFloat(PG_FLOAT8_CODEC_ID, json);\n\t}\n};\nvar PgFloat8Descriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_FLOAT8_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgFloat8.id;\n\tcodecId = PG_FLOAT8_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"float8\"];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgFloat8Codec(this);\n\t}\n};\nconst pgFloat8Descriptor = new PgFloat8Descriptor();\nconst pgFloat8Column = () => column(pgFloat8Descriptor.factory(), pgFloat8Descriptor.codecId, void 0, \"float8\");\nvar PgBoolCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresBooleanWire(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonBoolean(PG_BOOL_CODEC_ID, json);\n\t}\n};\nvar PgBoolDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_BOOL_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgBool.id;\n\tcodecId = PG_BOOL_CODEC_ID;\n\ttraits = [\"equality\", \"boolean\"];\n\ttargetTypes = [\"bool\"];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgBoolCodec(this);\n\t}\n};\nconst pgBoolDescriptor = new PgBoolDescriptor();\nconst pgBoolColumn = () => column(pgBoolDescriptor.factory(), pgBoolDescriptor.codecId, void 0, \"bool\");\nvar PgNumericCodec = class extends CodecImpl {\n\tparams;\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgNumericDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\tif (!isCanonicalNumericText(value)) throw postgresError(\"RUNTIME.ENCODE_FAILED\", \"pg/numeric@1 application value must be canonical numeric text: an optionally negated decimal numeral, or NaN, Infinity or -Infinity\", { meta: {\n\t\t\tcodecId: PG_NUMERIC_CODEC_ID,\n\t\t\treceived: value\n\t\t} });\n\t\treturn value;\n\t}\n\tconstructor(descriptor, params) {\n\t\tsuper(descriptor);\n\t\tthis.params = params;\n\t}\n\tdecodeJson(json) {\n\t\tconst text = decodeJsonMatching(PG_NUMERIC_CODEC_ID, json, CANONICAL_NUMERIC_TEXT, \"a decimal string\");\n\t\tconst { precision } = this.params;\n\t\tif (precision === void 0) return text;\n\t\tconst scale = this.params.scale ?? 0;\n\t\tif (!fitsNumeric(text, precision, scale)) return refuseJsonValue(PG_NUMERIC_CODEC_ID, `a decimal string that numeric(${precision}, ${scale}) stores without rounding`, json);\n\t\treturn text;\n\t}\n};\nvar PgNumericDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_NUMERIC_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn decimalTextJsonProjection(expression);\n\t}\n\tdataType = pgNumeric.id;\n\tcodecId = PG_NUMERIC_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"numeric\", \"decimal\"];\n\tparamsSchema = numericParamsSchema;\n\trenderOutputType(params) {\n\t\treturn pgNumericRenderOutputType(params);\n\t}\n\tfactory(params) {\n\t\treturn () => new PgNumericCodec(this, params ?? {});\n\t}\n};\nconst pgNumericDescriptor = new PgNumericDescriptor();\nconst pgNumericColumn = (params = {}) => column(pgNumericDescriptor.factory(params), pgNumericDescriptor.codecId, params, \"numeric\");\n/**\n* A genuinely unbounded integer over unconstrained Postgres `numeric` storage.\n* Application values are `bigint` and the canonical JSON is decimal text, like\n* `pg/int8@1`; decode rejects non-integral values. The descriptor claims no\n* target type, so `numeric` and `decimal` in type position stay `pg/numeric@1`.\n*/\nvar PgUnboundedIntCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgBigintEncode(PG_UNBOUNDED_INT_CODEC_ID, value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgUnboundedIntDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgBigintEncodeJson(PG_UNBOUNDED_INT_CODEC_ID, value);\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonIntegerText(PG_UNBOUNDED_INT_CODEC_ID, json);\n\t}\n};\nvar PgUnboundedIntDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_NUMERIC_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn decimalTextJsonProjection(expression);\n\t}\n\tdataType = pgNumeric.id;\n\tcodecId = PG_UNBOUNDED_INT_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn decimalTextBigintLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgUnboundedIntCodec(this);\n\t}\n};\nconst pgUnboundedIntDescriptor = new PgUnboundedIntDescriptor();\nconst pgUnboundedIntColumn = () => column(pgUnboundedIntDescriptor.factory(), pgUnboundedIntDescriptor.codecId, void 0, \"numeric\");\nvar PgTimetzCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimetzCanonical(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonDateTimeText(PG_TIMETZ_CODEC_ID, json, pgTimetzStoredText);\n\t}\n};\nvar PgTimetzDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIMETZ_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgTimetz.id;\n\tcodecId = PG_TIMETZ_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"timetz\"];\n\tparamsSchema = precisionParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderPrecision(\"Timetz\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgTimetzCodec(this);\n\t}\n};\nconst pgTimetzDescriptor = new PgTimetzDescriptor();\nconst pgTimetzColumn = (params = {}) => column(pgTimetzDescriptor.factory(params), pgTimetzDescriptor.codecId, params, \"timetz\");\nvar PgBitCodec = class extends CodecImpl {\n\tlength;\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tconstructor(descriptor, length) {\n\t\tsuper(descriptor);\n\t\tthis.length = length;\n\t}\n\tdecodeJson(json) {\n\t\tconst bits = decodeJsonMatching(PG_BIT_CODEC_ID, json, BIT_STRING, \"a string of 0 and 1 digits\");\n\t\tif (bits.length !== this.length) return refuseJsonValue(PG_BIT_CODEC_ID, `a string of exactly ${counted(this.length, \"bit\")}`, json);\n\t\treturn bits;\n\t}\n};\nvar PgBitDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_BIT_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgBit.id;\n\tcodecId = PG_BIT_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"bit\"];\n\tparamsSchema = lengthParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderLength(\"Bit\", params);\n\t}\n\tfactory(params) {\n\t\treturn () => new PgBitCodec(this, params?.length ?? 1);\n\t}\n};\nconst pgBitDescriptor = new PgBitDescriptor();\nconst pgBitColumn = (params = {}) => column(pgBitDescriptor.factory(params), pgBitDescriptor.codecId, params, \"bit\");\nvar PgVarbitCodec = class extends CodecImpl {\n\tlength;\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tconstructor(descriptor, length) {\n\t\tsuper(descriptor);\n\t\tthis.length = length;\n\t}\n\tdecodeJson(json) {\n\t\tconst bits = decodeJsonMatching(PG_VARBIT_CODEC_ID, json, BIT_STRING, \"a string of 0 and 1 digits\");\n\t\tif (this.length !== void 0 && bits.length > this.length) return refuseJsonValue(PG_VARBIT_CODEC_ID, `a string of at most ${counted(this.length, \"bit\")}`, json);\n\t\treturn bits;\n\t}\n};\nvar PgVarbitDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_VARBIT_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgVarbit.id;\n\tcodecId = PG_VARBIT_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"bit varying\"];\n\tparamsSchema = lengthParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderLength(\"VarBit\", params);\n\t}\n\tfactory(params) {\n\t\treturn () => new PgVarbitCodec(this, params?.length);\n\t}\n};\nconst pgVarbitDescriptor = new PgVarbitDescriptor();\nconst pgVarbitColumn = (params = {}) => column(pgVarbitDescriptor.factory(params), pgVarbitDescriptor.codecId, params, \"bit varying\");\nvar PgByteaCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgByteaDecodeWire(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgByteaEncodeJson(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn pgByteaDecodeJson(json);\n\t}\n};\nvar PgByteaDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_BYTEA_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn base64JsonProjection(expression);\n\t}\n\tdataType = pgBytea.id;\n\tcodecId = PG_BYTEA_CODEC_ID;\n\ttraits = [\"equality\"];\n\ttargetTypes = [\"bytea\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgByteaCodec(this);\n\t}\n};\nconst pgByteaDescriptor = new PgByteaDescriptor();\nconst PG_UUID_NATIVE_TYPE = \"uuid\";\nvar PgUuidCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn canonicalUuid(value) ?? value;\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonMatching(PG_UUID_CODEC_ID, json, CANONICAL_UUID, \"a UUID as PostgreSQL writes it, in lower case and hyphenated 8-4-4-4-12\");\n\t}\n};\nvar PgUuidDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_UUID_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgUuid.id;\n\tcodecId = PG_UUID_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"uuid\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgUuidCodec(this);\n\t}\n};\nconst pgUuidDescriptor = new PgUuidDescriptor();\nconst pgUuidColumn = () => column(pgUuidDescriptor.factory(), pgUuidDescriptor.codecId, void 0, \"uuid\");\nconst PG_INET_NATIVE_TYPE = \"inet\";\nvar PgInetCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonString(PG_INET_CODEC_ID, json);\n\t}\n};\nvar PgInetDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INET_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgInet.id;\n\tcodecId = PG_INET_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"inet\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgInetCodec(this);\n\t}\n};\nconst pgInetDescriptor = new PgInetDescriptor();\nconst pgInetColumn = () => column(pgInetDescriptor.factory(), pgInetDescriptor.codecId, void 0, \"inet\");\nconst PG_TSQUERY_NATIVE_TYPE = \"tsquery\";\nvar PgTsqueryCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn blindCast(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn blindCast(decodeJsonString(PG_TSQUERY_CODEC_ID, json));\n\t}\n};\n/**\n* The type of a full-text query: what the parsers and the tag in `full-text` return, and what a\n* `tsquery` value read back from a query binds as when passed to `fullTextMatches`, `fullTextRank`\n* or `fullTextHeadline`. It has no column helper, because a contract cannot author a `tsquery`\n* column, and no traits, because comparing or ordering queries means nothing to an application.\n*/\nvar PgTsqueryDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TSQUERY_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgTsquery.id;\n\tcodecId = PG_TSQUERY_CODEC_ID;\n\ttraits = [];\n\ttargetTypes = [\"tsquery\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgTsqueryCodec(this);\n\t}\n};\nconst pgTsqueryDescriptor = new PgTsqueryDescriptor();\n/**\n* An application value is a {@link PgInterval} — the three fields PostgreSQL\n* actually stores, `{ months, days, micros }` — and its canonical JSON is the\n* ISO-8601 duration string PostgreSQL spells under\n* `IntervalStyle = 'iso_8601'`: `P1M`, `P30D`, `P1Y2M3DT4H5M6S`, `PT0S` for\n* zero, each component carrying its own sign.\n*\n* Value and representation are independent here, as they are for `pg/bytea@1`\n* (`Uint8Array` carried as base64) and `pg/int8@1` (`bigint` carried as decimal\n* text). Reading an interval hands back numbers to compute with rather than a\n* string to parse; writing one takes the same numbers.\n*\n* The fields stay independent because a month has no fixed length: `{months: 1}`\n* and `{days: 30}` are different values and neither converts to the other. The\n* ISO rendering normalises only in its own spelling — twelve months render as a\n* year — so `{months: 13}` renders `P1Y1M` and reads back as `{months: 13}`.\n*/\nvar PgIntervalCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgIntervalToIso(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgIntervalDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgIntervalEncodeJson(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn pgIntervalDecodeJson(json);\n\t}\n};\nvar PgIntervalDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INTERVAL_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn isoDurationJsonProjection(expression);\n\t}\n\tdataType = pgInterval.id;\n\tcodecId = PG_INTERVAL_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"interval\"];\n\tparamsSchema = precisionParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderPrecision(\"Interval\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgIntervalCodec(this);\n\t}\n};\nconst pgIntervalDescriptor = new PgIntervalDescriptor();\nconst pgIntervalColumn = (params = {}) => column(pgIntervalDescriptor.factory(params), pgIntervalDescriptor.codecId, params, \"interval\");\nvar PgJsonCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgJsonEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgJsonDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar PgJsonDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_JSON_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgJson.id;\n\tcodecId = PG_JSON_CODEC_ID;\n\ttraits = [];\n\ttargetTypes = [\"json\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgJsonCodec(this);\n\t}\n};\nconst pgJsonDescriptor = new PgJsonDescriptor();\nconst pgJsonColumn = () => column(pgJsonDescriptor.factory(), pgJsonDescriptor.codecId, void 0, \"json\");\nvar PgJsonbCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgJsonbEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgJsonbDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar PgJsonbDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_JSONB_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgJsonb.id;\n\tcodecId = PG_JSONB_CODEC_ID;\n\ttraits = [\"equality\"];\n\ttargetTypes = [\"jsonb\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgJsonbCodec(this);\n\t}\n};\nconst pgJsonbDescriptor = new PgJsonbDescriptor();\nconst pgJsonbColumn = () => column(pgJsonbDescriptor.factory(), pgJsonbDescriptor.codecId, void 0, \"jsonb\");\nconst PG_CHAR_NATIVE_TYPE = \"character\";\nconst PG_VARCHAR_NATIVE_TYPE = \"character varying\";\nconst PG_INT_NATIVE_TYPE = \"integer\";\nconst PG_FLOAT_NATIVE_TYPE = \"double precision\";\nvar PgIntCodec = class extends SqlIntCodec {\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresNumberWire(wire);\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonInteger(this.id, json, INT32_RANGE);\n\t}\n};\n/**\n* `sql/char@1` as PostgreSQL stores it: a `character` column holds its length in characters, and one with no length is `character(1)`.\n*/\nvar PgCharCodec = class extends SqlCharCodec {\n\tlength;\n\tconstructor(descriptor, length) {\n\t\tsuper(descriptor);\n\t\tthis.length = length ?? 1;\n\t}\n\tdecodeJson(json) {\n\t\tif (!fitsCharacterLength(decodeJsonString(this.id, json), this.length, true)) return refuseJsonValue(this.id, `a string of at most ${counted(this.length, \"character\")} before any trailing spaces`, json);\n\t\treturn super.decodeJson(json);\n\t}\n};\n/** `sql/varchar@1` as PostgreSQL stores it: a `character varying` column with a length holds at most that many characters. */\nvar PgVarcharCodec = class extends SqlVarcharCodec {\n\tlength;\n\tconstructor(descriptor, length) {\n\t\tsuper(descriptor);\n\t\tthis.length = length;\n\t}\n\tdecodeJson(json) {\n\t\tconst text = super.decodeJson(json);\n\t\tif (this.length !== void 0 && !fitsCharacterLength(text, this.length, false)) return refuseJsonValue(this.id, `a string of at most ${counted(this.length, \"character\")}`, json);\n\t\treturn text;\n\t}\n};\nvar PgFloatCodec = class extends SqlFloatCodec {\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresNumberWire(wire);\n\t}\n};\nvar PgCharDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_CHAR_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn unpaddedCharJsonProjection(expression);\n\t}\n\tdataType = pgChar.id;\n\tcodecId = PG_CHAR_CODEC_ID;\n\ttargetTypes = [\"character\"];\n\ttraits = sqlCharDescriptor.traits;\n\tparamsSchema = sqlCharDescriptor.paramsSchema;\n\trenderOutputType(params) {\n\t\treturn sqlCharDescriptor.renderOutputType(params);\n\t}\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory(params) {\n\t\treturn () => new PgCharCodec(this, params?.length);\n\t}\n};\nconst pgCharDescriptor = new PgCharDescriptor();\nconst pgCharColumn = (params = {}) => column(pgCharDescriptor.factory(params), pgCharDescriptor.codecId, params, \"character\");\nvar PgVarcharDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_VARCHAR_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgVarchar.id;\n\tcodecId = PG_VARCHAR_CODEC_ID;\n\ttargetTypes = [\"character varying\"];\n\ttraits = sqlVarcharDescriptor.traits;\n\tparamsSchema = sqlVarcharDescriptor.paramsSchema;\n\trenderOutputType(params) {\n\t\treturn sqlVarcharDescriptor.renderOutputType(params);\n\t}\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory(params) {\n\t\treturn () => new PgVarcharCodec(this, params?.length);\n\t}\n};\nconst pgVarcharDescriptor = new PgVarcharDescriptor();\nconst pgVarcharColumn = (params = {}) => column(pgVarcharDescriptor.factory(params), pgVarcharDescriptor.codecId, params, \"character varying\");\nvar PgIntDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INT_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgInt4.id;\n\tcodecId = PG_INT_CODEC_ID;\n\ttargetTypes = [\"int4\"];\n\ttraits = sqlIntDescriptor.traits;\n\tparamsSchema = sqlIntDescriptor.paramsSchema;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgIntCodec(this);\n\t}\n};\nconst pgIntDescriptor = new PgIntDescriptor();\nconst pgIntColumn = () => column(pgIntDescriptor.factory(), pgIntDescriptor.codecId, void 0, \"int4\");\nvar PgFloatDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_FLOAT_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgFloat8.id;\n\tcodecId = PG_FLOAT_CODEC_ID;\n\ttargetTypes = [\"float8\"];\n\ttraits = sqlFloatDescriptor.traits;\n\tparamsSchema = sqlFloatDescriptor.paramsSchema;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgFloatCodec(this);\n\t}\n};\nconst pgFloatDescriptor = new PgFloatDescriptor();\nconst pgFloatColumn = () => column(pgFloatDescriptor.factory(), pgFloatDescriptor.codecId, void 0, \"float8\");\nconst codecDescriptors = definePostgresCodecs([\n\tpostgresSqlCharDescriptor,\n\tpostgresSqlVarcharDescriptor,\n\tpostgresSqlIntDescriptor,\n\tpostgresSqlFloatDescriptor,\n\tpostgresSqlTextDescriptor,\n\tpgTextDescriptor,\n\tpgEnumDescriptor,\n\tpgCharDescriptor,\n\tpgVarcharDescriptor,\n\tpgIntDescriptor,\n\tpgFloatDescriptor,\n\tpgInt4Descriptor,\n\tpgInt2Descriptor,\n\tpgInt8Descriptor,\n\tpgInt8NumberDescriptor,\n\tpgFloat4Descriptor,\n\tpgFloat8Descriptor,\n\tpgNumericDescriptor,\n\tpgUnboundedIntDescriptor,\n\tpgDateTemporalDescriptor,\n\tpgTimestampTemporalDescriptor,\n\tpgTimestamptzTemporalDescriptor,\n\tpgTimeTemporalDescriptor,\n\tpgDateStringDescriptor,\n\tpgTimestampStringDescriptor,\n\tpgTimestamptzStringDescriptor,\n\tpgTimestamptzDateDescriptor,\n\tpgTimeStringDescriptor,\n\tpgTimetzDescriptor,\n\tpgBoolDescriptor,\n\tpgBitDescriptor,\n\tpgVarbitDescriptor,\n\tpgByteaDescriptor,\n\tpgUuidDescriptor,\n\tpgInetDescriptor,\n\tpgIntervalDescriptor,\n\tpgJsonDescriptor,\n\tpgJsonbDescriptor,\n\tpgTextArrayDescriptor,\n\tpgTsqueryDescriptor\n]);\n//#endregion\nexport { PgTimestamptzDateDescriptor as A, pgUuidColumn as C, NUMERIC_PRECISION_RANGE as D, postgresQualifyColumnType as E, pgTimestamptzDateDescriptor as M, requireTemporal as N, NUMERIC_SCALE_RANGE as O, setFallbackTemporal as P, pgUnboundedIntColumn as S, pgVarcharColumn as T, pgJsonColumn as _, pgCharColumn as a, pgTextColumn as b, pgFloat8Column as c, pgInt2Column as d, pgInt4Column as f, pgIntervalColumn as g, pgIntColumn as h, pgBoolColumn as i, pgTimestamptzDateColumn as j, PgTimestamptzDateCodec as k, pgFloatColumn as l, pgInt8NumberColumn as m, isPgEnumParams as n, pgEnumDescriptor as o, pgInt8Column as p, pgBitColumn as r, pgFloat4Column as s, codecDescriptors as t, pgInetColumn as u, pgJsonbColumn as v, pgVarbitColumn as w, pgTimetzColumn as x, pgNumericColumn as y };\n\n//# sourceMappingURL=codecs-BHNqtI1J.mjs.map"],"mappings":"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"}
1
+ {"version":3,"file":"codecs-IImhTd4L-CtRRX7y6.mjs","names":[],"sources":["../../../../3-targets/3-targets/postgres/dist/codecs-IImhTd4L.mjs"],"sourcesContent":["import { A as PG_TIME_TEMPORAL_CODEC_ID, C as PG_TIMESTAMPTZ_DATE_CODEC_ID, D as PG_TIMESTAMP_TEMPORAL_CODEC_ID, E as PG_TIMESTAMP_STRING_CODEC_ID, F as PG_VARCHAR_CODEC_ID, M as PG_UNBOUNDED_INT_CODEC_ID, N as PG_UUID_CODEC_ID, O as PG_TIMETZ_CODEC_ID, P as PG_VARBIT_CODEC_ID, S as PG_TEXT_CODEC_ID, T as PG_TIMESTAMPTZ_TEMPORAL_CODEC_ID, _ as PG_INT_CODEC_ID, a as PG_DATE_STRING_CODEC_ID, b as PG_NUMERIC_CODEC_ID, c as PG_FLOAT4_CODEC_ID, d as PG_INET_CODEC_ID, f as PG_INT2_CODEC_ID, g as PG_INTERVAL_CODEC_ID, h as PG_INT8_NUMBER_CODEC_ID, i as PG_CHAR_CODEC_ID, j as PG_TSQUERY_CODEC_ID, k as PG_TIME_STRING_CODEC_ID, l as PG_FLOAT8_CODEC_ID, m as PG_INT8_CODEC_ID, n as PG_BOOL_CODEC_ID, o as PG_DATE_TEMPORAL_CODEC_ID, p as PG_INT4_CODEC_ID, r as PG_BYTEA_CODEC_ID, s as PG_ENUM_CODEC_ID, t as PG_BIT_CODEC_ID, u as PG_FLOAT_CODEC_ID, v as PG_JSONB_CODEC_ID, w as PG_TIMESTAMPTZ_STRING_CODEC_ID, x as PG_TEXT_ARRAY_CODEC_ID, y as PG_JSON_CODEC_ID } from \"./codec-ids-Cb0yO-IS.mjs\";\nimport { a as errorTemporalUnrepresentable, i as errorTemporalUnavailableForDefault, n as errorTemporalNonIsoCalendar, o as errorTemporalWrongType, r as errorTemporalUnavailable, s as postgresError } from \"./errors-DYyzTYzE.mjs\";\nimport { A as pgUnboundedIntDecode, C as pgIntervalToIso, D as pgJsonbEncode, E as pgJsonbDecode, M as renderLength, N as renderPrecision, O as pgNumericDecode, S as pgIntervalEncodeJson, T as pgJsonEncode, _ as pgInt8NumberEncode, a as decimalTextNumberLiteral, b as pgIntervalDecode, c as pgBigintEncode, d as pgByteaDecodeWire, f as pgByteaEncodeJson, g as pgInt8NumberDecodeJson, h as pgInt8NumberDecode, i as decimalTextBigintLiteral, j as precisionParamsSchema, k as pgNumericRenderOutputType, l as pgBigintEncodeJson, m as pgInt8Decode, n as FLOAT4_MAX, o as fitsCharacterLength, p as pgFloatEncode, r as canonicalUuid, s as fitsFloat4, t as CANONICAL_UUID, u as pgByteaDecodeJson, v as pgInt8NumberEncodeJson, w as pgJsonDecode, x as pgIntervalDecodeJson } from \"./codec-helpers-D83-1eDB.mjs\";\nimport { A as pgVarbit, C as pgTimestampCanonical, D as pgTimetzCanonical, E as pgTimetz, O as pgTsquery, S as pgTimestamp, T as pgTimestamptzCanonical, _ as pgNumeric, a as pgDate, b as pgTime, c as pgFloat4, d as pgInt2, f as pgInt4, g as pgJsonb, h as pgJson, i as pgChar, j as pgVarchar, k as pgUuid, l as pgFloat8, m as pgInterval, n as pgBool, o as pgDateCanonical, p as pgInt8, r as pgBytea, s as pgEnum, t as pgBit, u as pgInet, v as pgText, w as pgTimestamptz, x as pgTimeCanonical, y as pgTextArray } from \"./data-types-BqeC7aZP.mjs\";\nimport { a as postgresCodec, r as definePostgresCodecs, t as PostgresCodecDescriptor } from \"./codec-descriptor-B61d-k4C.mjs\";\nimport \"./namespace-ids-xtp_ZY86.mjs\";\nimport { t as PostgresNativeEnum } from \"./postgres-native-enum-CdP3b_-R.mjs\";\nimport { BinaryExpr, CaseExpr, CastExpr, FunctionCallExpr, LiteralExpr, NullCheckExpr, OrExpr, SqlCharCodec, SqlFloatCodec, SqlIntCodec, SqlVarcharCodec, canonicalDateTime, sqlCharDescriptor, sqlFloatDescriptor, sqlIntDescriptor, sqlTextDescriptor, sqlVarcharDescriptor } from \"@internal/sql-relational-core/ast\";\nimport { isStructuredError } from \"@internal/utils/structured-error\";\nimport { CodecImpl, INT32_RANGE, INT64_RANGE, column, decodeJsonBoolean, decodeJsonFloat, decodeJsonInteger, decodeJsonIntegerText, decodeJsonMatching, decodeJsonString, encodeJsonFloat, refuseJsonValue, renderTsLiteral } from \"@internal/framework-components/codec\";\nimport { counted, withoutTrailing } from \"@internal/utils/text\";\nimport { type } from \"arktype\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { UNBOUND_NAMESPACE_ID } from \"@internal/framework-components/ir\";\n//#region src/core/require-temporal.ts\nlet fallback;\n/**\n* Sets the implementation `requireTemporal` returns when the runtime has no global `Temporal`.\n* The value is held once per process. Only the control entry calls this.\n*/\nfunction setFallbackTemporal(implementation) {\n\tfallback = implementation;\n}\n/**\n* The `Temporal` to use: the runtime's own when it has one, else the fallback. Throws\n* `RUNTIME.TEMPORAL_UNAVAILABLE` when there is neither.\n*/\nfunction requireTemporal(meta) {\n\tif (typeof Temporal !== \"undefined\") return Temporal;\n\tif (fallback !== void 0) return fallback;\n\tthrow \"generatorId\" in meta ? errorTemporalUnavailableForDefault(meta.generatorId) : errorTemporalUnavailable(meta.codecId, meta.operation);\n}\n//#endregion\n//#region src/core/temporal-codec-helpers.ts\nconst PG_DATE_NATIVE_TYPE = \"date\";\nconst PG_TIMESTAMP_NATIVE_TYPE = \"timestamp without time zone\";\nconst PG_TIMESTAMPTZ_NATIVE_TYPE = \"timestamp with time zone\";\nconst PG_TIME_NATIVE_TYPE = \"time\";\nconst POSTGRES_TEMPORAL_SENTINELS = /* @__PURE__ */ new Set([\"infinity\", \"-infinity\"]);\nconst EXPANDED_YEAR_DIGITS = 6;\nconst ORDINARY_YEAR_DIGITS = 4;\nconst BC_SUFFIX = \" BC\";\nfunction adaptPostgresEra(text) {\n\tconst isBc = text.endsWith(BC_SUFFIX);\n\tconst body = isBc ? text.slice(0, -3) : text;\n\tconst yearEnd = body.indexOf(\"-\");\n\tif (yearEnd <= 0) return text;\n\tconst yearText = body.slice(0, yearEnd);\n\tif (!isBc && yearText.length <= ORDINARY_YEAR_DIGITS) return text;\n\tconst year = Number(yearText);\n\tif (!Number.isInteger(year)) return text;\n\tconst proleptic = isBc ? 1 - year : year;\n\treturn `${proleptic < 0 ? \"-\" : \"+\"}${String(Math.abs(proleptic)).padStart(EXPANDED_YEAR_DIGITS, \"0\")}${body.slice(yearEnd)}`;\n}\nfunction decodeTemporalText(identity, wire, parse, adapt) {\n\tconst temporal = requireTemporal({\n\t\tcodecId: identity.codecId,\n\t\toperation: \"decode\"\n\t});\n\tif (POSTGRES_TEMPORAL_SENTINELS.has(wire)) throw errorTemporalUnrepresentable({\n\t\t...identity,\n\t\toperation: \"decode\",\n\t\tvalue: wire,\n\t\tdetail: `PostgreSQL's ${wire} is a sentinel with no position on the timeline, so no Temporal value denotes it`\n\t});\n\ttry {\n\t\treturn parse(temporal, adapt(wire));\n\t} catch (cause) {\n\t\tthrow errorTemporalUnrepresentable({\n\t\t\t...identity,\n\t\t\toperation: \"decode\",\n\t\t\tvalue: wire,\n\t\t\tdetail: cause instanceof Error ? cause.message : String(cause),\n\t\t\tcause\n\t\t});\n\t}\n}\nfunction encodeTemporalValue(identity, value) {\n\tconst tag = typeof value === \"object\" && value !== null ? Reflect.get(value, Symbol.toStringTag) : void 0;\n\tif (tag !== identity.temporalTag) throw errorTemporalWrongType(identity.codecId, identity.temporalTag, identity.stringType, describeEncodeInput(value, tag));\n\tif (value.calendarId !== void 0 && value.calendarId !== \"iso8601\") throw errorTemporalNonIsoCalendar(identity.codecId, value.calendarId);\n\treturn value.toString();\n}\nfunction describeEncodeInput(value, tag) {\n\tif (typeof tag === \"string\") return `a ${tag}`;\n\tif (value instanceof Date) return \"a Date\";\n\tif (value === null) return \"null\";\n\treturn `a ${typeof value}`;\n}\nconst DATE_TEMPORAL = {\n\tcodecId: PG_DATE_TEMPORAL_CODEC_ID,\n\tstringType: \"DateString\",\n\ttemporalTag: \"Temporal.PlainDate\"\n};\nconst TIMESTAMP_TEMPORAL = {\n\tcodecId: PG_TIMESTAMP_TEMPORAL_CODEC_ID,\n\tstringType: \"TimestampString(p)\",\n\ttemporalTag: \"Temporal.PlainDateTime\"\n};\nconst TIMESTAMPTZ_TEMPORAL = {\n\tcodecId: PG_TIMESTAMPTZ_TEMPORAL_CODEC_ID,\n\tstringType: \"TimestamptzString(p)\",\n\ttemporalTag: \"Temporal.Instant\"\n};\nconst TIME_TEMPORAL = {\n\tcodecId: PG_TIME_TEMPORAL_CODEC_ID,\n\tstringType: \"TimeString(p)\",\n\ttemporalTag: \"Temporal.PlainTime\"\n};\nconst unadapted = (text) => text;\nconst pgDateTemporalDecode = (wire) => decodeTemporalText(DATE_TEMPORAL, wire, (temporal, text) => temporal.PlainDate.from(text), adaptPostgresEra);\nconst pgDateTemporalEncode = (value) => encodeTemporalValue(DATE_TEMPORAL, value);\nconst pgTimestampTemporalDecode = (wire) => decodeTemporalText(TIMESTAMP_TEMPORAL, wire, (temporal, text) => temporal.PlainDateTime.from(text), adaptPostgresEra);\nconst pgTimestampTemporalEncode = (value) => encodeTemporalValue(TIMESTAMP_TEMPORAL, value);\nconst pgTimestamptzTemporalDecode = (wire) => decodeTemporalText(TIMESTAMPTZ_TEMPORAL, wire, (temporal, text) => temporal.Instant.from(text), adaptPostgresEra);\nconst pgTimestamptzTemporalEncode = (value) => encodeTemporalValue(TIMESTAMPTZ_TEMPORAL, value);\nconst pgTimeTemporalDecode = (wire) => decodeTemporalText(TIME_TEMPORAL, wire, (temporal, text) => temporal.PlainTime.from(text), unadapted);\nconst pgTimeTemporalEncode = (value) => encodeTemporalValue(TIME_TEMPORAL, value);\n//#endregion\n//#region src/core/date-codecs.ts\nconst TIMESTAMPTZ_TEXT = /^([+-]\\d{6}|\\d{4,6})-(\\d{2})-(\\d{2})[ T](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d{1,6}))?(?:Z|([+-])(\\d{2})(?::?(\\d{2}))?(?::?(\\d{2}))?)( BC)?$/;\nconst MIN_TIMESTAMPTZ_MILLISECONDS = (/* @__PURE__ */ new Date(\"-004713-11-24T00:00:00.000Z\")).getTime();\nfunction invalidDate() {\n\treturn /* @__PURE__ */ new RangeError(`${PG_TIMESTAMPTZ_DATE_CODEC_ID} requires a valid Date or a representable ISO PostgreSQL timestamp with time zone; use TimestamptzString for unsupported values`);\n}\nfunction isRepresentable(value) {\n\treturn value instanceof Date && Number.isFinite(value.getTime()) && value.getTime() >= MIN_TIMESTAMPTZ_MILLISECONDS;\n}\nfunction validateDate(value) {\n\tif (!isRepresentable(value)) throw invalidDate();\n\treturn value;\n}\nfunction decodeDate(wire) {\n\tconst date = typeof wire === \"string\" ? parseDate(wire) : void 0;\n\tif (date === void 0) throw invalidDate();\n\treturn date;\n}\n/** The instant a timestamp with time zone as PostgreSQL writes it names, or `undefined` when the text is not one. */\nfunction parseDate(text) {\n\tconst match = TIMESTAMPTZ_TEXT.exec(text);\n\tif (!match) return void 0;\n\tconst [, yearText = \"\", monthText, dayText, hourText, minuteText, secondText, fraction = \"\", sign, offsetHour = \"0\", offsetMinute = \"0\", offsetSecond = \"0\", era] = match;\n\tconst year = era ? 1 - Number(yearText) : Number(yearText);\n\tconst month = Number(monthText) - 1;\n\tconst day = Number(dayText);\n\tconst hour = Number(hourText);\n\tconst minute = Number(minuteText);\n\tconst second = Number(secondText);\n\tconst milliseconds = Number(fraction.slice(0, 3).padEnd(3, \"0\"));\n\tconst cycles = Math.floor((year - 2e3) / 400);\n\tconst safeYear = year - cycles * 400;\n\tconst local = /* @__PURE__ */ new Date(0);\n\tlocal.setUTCFullYear(safeYear, month, day);\n\tlocal.setUTCHours(hour, minute, second, milliseconds);\n\tif (era !== void 0 && (Number(yearText) === 0 || /^[+-]/.test(yearText)) || local.getUTCFullYear() !== safeYear || local.getUTCMonth() !== month || local.getUTCDate() !== day || local.getUTCHours() !== hour || local.getUTCMinutes() !== minute || local.getUTCSeconds() !== second || Number(offsetHour) > 15 || Number(offsetMinute) > 59 || Number(offsetSecond) > 59) return void 0;\n\tconst offset = (Number(offsetHour) * 3600 + Number(offsetMinute) * 60 + Number(offsetSecond)) * (sign === \"-\" ? -1 : 1);\n\tconst value = /* @__PURE__ */ new Date(local.getTime() - offset * 1e3 + cycles * 146097 * 864e5);\n\treturn isRepresentable(value) ? value : void 0;\n}\nfunction encodeDate(value) {\n\tvalidateDate(value);\n\tconst iso = value.toISOString();\n\tconst year = value.getUTCFullYear();\n\tif (year > 0 && year < 1e4) return iso;\n\tconst dateAndTime = iso.slice(year === 0 ? 4 : 7);\n\treturn `${String(year <= 0 ? 1 - year : year).padStart(4, \"0\")}${dateAndTime}${year <= 0 ? \" BC\" : \"\"}`;\n}\nvar PgTimestamptzDateCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn encodeDate(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn decodeDate(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimestamptzCanonical(validateDate(value).toISOString());\n\t}\n\tdecodeJson(json) {\n\t\treturn parseDate(decodeJsonString(\"pg/timestamptz-date@1\", json)) ?? refuseJsonValue(\"pg/timestamptz-date@1\", \"a timestamp with time zone as PostgreSQL writes it\", json);\n\t}\n};\nvar PgTimestamptzDateDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIMESTAMPTZ_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTimestamptz.id;\n\tcodecId = PG_TIMESTAMPTZ_DATE_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [];\n\tparamsSchema = precisionParamsSchema;\n\trenderOutputType(_params) {\n\t\treturn \"Date\";\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgTimestamptzDateCodec(this);\n\t}\n};\nconst pgTimestamptzDateDescriptor = new PgTimestamptzDateDescriptor();\nconst pgTimestamptzDateColumn = (params = {}) => column(pgTimestamptzDateDescriptor.factory(params), pgTimestamptzDateDescriptor.codecId, params, \"timestamptz\");\n//#endregion\n//#region src/core/date-time-stored-text.ts\nconst YEAR = String.raw`(?:[+-]\\d{6}|\\d{4,7})`;\nconst DATE = String.raw`${YEAR}-\\d{2}-\\d{2}`;\nconst TIME = String.raw`\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?`;\nconst OFFSET = String.raw`(?:Z|[+-]\\d{2}(?::\\d{2}(?::\\d{2})?)?)`;\nconst INFINITY = \"infinity|-infinity|\";\nconst BC = \"(?: BC)?\";\nconst FORMS = {\n\tdate: `${DATE}${BC}`,\n\ttime: TIME,\n\ttimeWithOffset: `${TIME}${OFFSET}`,\n\tdateTime: `${DATE}[ T]${TIME}${BC}`,\n\tinstant: `${DATE}[ T]${TIME}${OFFSET}${BC}`\n};\nconst DATED = /^([+-]?)(\\d{4,7})(-.*?)( BC)?$/;\nconst END_OF_DAY = /^24:00:00(?:\\.0+)?(?![.\\d])/;\n/** PostgreSQL's largest UTC offset, which it writes for no type past 15:59:59. */\nconst MAX_OFFSET_HOURS = 15;\nfunction storedText(options) {\n\treturn {\n\t\tdataTypeId: options.dataTypeId,\n\t\tshape: options.shape,\n\t\tpattern: new RegExp(`^(?:${options.infinity ? INFINITY : \"\"}${FORMS[options.shape]})$`),\n\t\tdescription: `${options.description} in ISO 8601 or as PostgreSQL writes it`,\n\t\tendOfDay: options.endOfDay\n\t};\n}\nconst pgDateStoredText = storedText({\n\tdataTypeId: pgDate.id,\n\tshape: \"date\",\n\tdescription: \"a date\",\n\tinfinity: true,\n\tendOfDay: false\n});\nconst pgTimeStoredText = storedText({\n\tdataTypeId: pgTime.id,\n\tshape: \"time\",\n\tdescription: \"a time of day\",\n\tinfinity: false,\n\tendOfDay: true\n});\nconst pgTimetzStoredText = storedText({\n\tdataTypeId: pgTimetz.id,\n\tshape: \"timeWithOffset\",\n\tdescription: \"a time of day with a UTC offset\",\n\tinfinity: false,\n\tendOfDay: true\n});\nconst pgTimestampStoredText = storedText({\n\tdataTypeId: pgTimestamp.id,\n\tshape: \"dateTime\",\n\tdescription: \"a date and time of day\",\n\tinfinity: true,\n\tendOfDay: false\n});\nconst pgTimestamptzStoredText = storedText({\n\tdataTypeId: pgTimestamptz.id,\n\tshape: \"instant\",\n\tdescription: \"a date and time of day with a UTC offset\",\n\tinfinity: true,\n\tendOfDay: false\n});\n/** The text with its year moved into the 400-year cycle from 2000, or `undefined` for a year no calendar has. */\nfunction inGregorianCycle(text) {\n\tconst match = DATED.exec(text);\n\tif (match === null) return text;\n\tconst [, sign = \"\", digits = \"\", rest = \"\", bc] = match;\n\tconst year = Number(digits);\n\tif (bc !== void 0 && (sign !== \"\" || year === 0) || sign === \"-\" && year === 0) return;\n\treturn `${2e3 + ((bc !== void 0 ? 1 - year : sign === \"-\" ? -year : year) % 400 + 400) % 400}${rest}`;\n}\nfunction holdsValue(stored, text) {\n\tif (text === \"infinity\" || text === \"-infinity\") return true;\n\tconst cycled = inGregorianCycle(text);\n\tif (cycled === void 0) return false;\n\tconst read = stored.endOfDay ? cycled.replace(END_OF_DAY, \"00:00:00\") : cycled;\n\ttry {\n\t\tcanonicalDateTime(read, {\n\t\t\tshape: stored.shape,\n\t\t\tdataTypeId: stored.dataTypeId,\n\t\t\tmaxOffsetHours: MAX_OFFSET_HOURS\n\t\t});\n\t\treturn true;\n\t} catch (error) {\n\t\tif (isStructuredError(error) && error.code === \"CONTRACT.CAST_REFUSED\") return false;\n\t\tthrow error;\n\t}\n}\n/** Reads a stored date or time text, refusing text in another form or naming no real date and time. */\nfunction decodeJsonDateTimeText(codecId, json, stored) {\n\tconst text = decodeJsonMatching(codecId, json, stored.pattern, stored.description);\n\treturn holdsValue(stored, text) ? text : refuseJsonValue(codecId, stored.description, json);\n}\n//#endregion\n//#region src/core/numeric-limits.ts\n/** The precision a `numeric` column takes. */\nconst NUMERIC_PRECISION_RANGE = {\n\tmin: 1,\n\tmax: 1e3\n};\n/** The scale a `numeric` column takes in PostgreSQL 15 and later, including a negative one and one above the precision. */\nconst NUMERIC_SCALE_RANGE = {\n\tmin: -1e3,\n\tmax: 1e3\n};\n//#endregion\n//#region src/core/temporal-codecs.ts\nvar PgDateTemporalCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgDateTemporalEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgDateTemporalDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgDateCanonical(pgDateTemporalEncode(value));\n\t}\n\tdecodeJson(json) {\n\t\treturn pgDateTemporalDecode(decodeJsonString(PG_DATE_TEMPORAL_CODEC_ID, json));\n\t}\n};\nvar PgDateTemporalDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_DATE_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgDate.id;\n\tcodecId = PG_DATE_TEMPORAL_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"date\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgDateTemporalCodec(this);\n\t}\n};\nconst pgDateTemporalDescriptor = new PgDateTemporalDescriptor();\nvar PgTimestampTemporalCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgTimestampTemporalEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgTimestampTemporalDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimestampCanonical(pgTimestampTemporalEncode(value));\n\t}\n\tdecodeJson(json) {\n\t\treturn pgTimestampTemporalDecode(decodeJsonString(PG_TIMESTAMP_TEMPORAL_CODEC_ID, json));\n\t}\n};\nvar PgTimestampTemporalDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIMESTAMP_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTimestamp.id;\n\tcodecId = PG_TIMESTAMP_TEMPORAL_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"timestamp\"];\n\tparamsSchema = precisionParamsSchema;\n\tfactory(_params) {\n\t\treturn () => new PgTimestampTemporalCodec(this);\n\t}\n};\nconst pgTimestampTemporalDescriptor = new PgTimestampTemporalDescriptor();\nvar PgTimestamptzTemporalCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgTimestamptzTemporalEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgTimestamptzTemporalDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimestamptzCanonical(pgTimestamptzTemporalEncode(value));\n\t}\n\tdecodeJson(json) {\n\t\treturn pgTimestamptzTemporalDecode(decodeJsonString(PG_TIMESTAMPTZ_TEMPORAL_CODEC_ID, json));\n\t}\n};\nvar PgTimestamptzTemporalDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIMESTAMPTZ_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTimestamptz.id;\n\tcodecId = PG_TIMESTAMPTZ_TEMPORAL_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"timestamptz\"];\n\tparamsSchema = precisionParamsSchema;\n\tfactory(_params) {\n\t\treturn () => new PgTimestamptzTemporalCodec(this);\n\t}\n};\nconst pgTimestamptzTemporalDescriptor = new PgTimestamptzTemporalDescriptor();\nvar PgTimeTemporalCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgTimeTemporalEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgTimeTemporalDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimeCanonical(pgTimeTemporalEncode(value));\n\t}\n\tdecodeJson(json) {\n\t\treturn pgTimeTemporalDecode(decodeJsonString(PG_TIME_TEMPORAL_CODEC_ID, json));\n\t}\n};\nvar PgTimeTemporalDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIME_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTime.id;\n\tcodecId = PG_TIME_TEMPORAL_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"time\"];\n\tparamsSchema = precisionParamsSchema;\n\tfactory(_params) {\n\t\treturn () => new PgTimeTemporalCodec(this);\n\t}\n};\nconst pgTimeTemporalDescriptor = new PgTimeTemporalDescriptor();\n//#endregion\n//#region src/core/temporal-string-codecs.ts\nvar PgDateStringCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn pgDateCanonical(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonDateTimeText(PG_DATE_STRING_CODEC_ID, json, pgDateStoredText);\n\t}\n};\nvar PgDateStringDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_DATE_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgDate.id;\n\tcodecId = PG_DATE_STRING_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgDateStringCodec(this);\n\t}\n};\nconst pgDateStringDescriptor = new PgDateStringDescriptor();\nvar PgTimestampStringCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimestampCanonical(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonDateTimeText(PG_TIMESTAMP_STRING_CODEC_ID, json, pgTimestampStoredText);\n\t}\n};\nvar PgTimestampStringDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIMESTAMP_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTimestamp.id;\n\tcodecId = PG_TIMESTAMP_STRING_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [];\n\tparamsSchema = precisionParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderPrecision(\"TimestampString\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgTimestampStringCodec(this);\n\t}\n};\nconst pgTimestampStringDescriptor = new PgTimestampStringDescriptor();\nvar PgTimestamptzStringCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimestamptzCanonical(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonDateTimeText(PG_TIMESTAMPTZ_STRING_CODEC_ID, json, pgTimestamptzStoredText);\n\t}\n};\nvar PgTimestamptzStringDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIMESTAMPTZ_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTimestamptz.id;\n\tcodecId = PG_TIMESTAMPTZ_STRING_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [];\n\tparamsSchema = precisionParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderPrecision(\"TimestamptzString\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgTimestamptzStringCodec(this);\n\t}\n};\nconst pgTimestamptzStringDescriptor = new PgTimestamptzStringDescriptor();\nvar PgTimeStringCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimeCanonical(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonDateTimeText(PG_TIME_STRING_CODEC_ID, json, pgTimeStoredText);\n\t}\n};\nvar PgTimeStringDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIME_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn CastExpr.as(expression, \"text\");\n\t}\n\tdataType = pgTime.id;\n\tcodecId = PG_TIME_STRING_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [];\n\tparamsSchema = precisionParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderPrecision(\"TimeString\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgTimeStringCodec(this);\n\t}\n};\nconst pgTimeStringDescriptor = new PgTimeStringDescriptor();\n//#endregion\n//#region src/core/codecs.ts\nconst lengthParamsSchema = type({ \"length?\": \"number.integer > 0\" });\nconst numericParamsSchema = type({\n\t\"precision?\": type(\"number.integer\").atLeast(NUMERIC_PRECISION_RANGE.min).atMost(NUMERIC_PRECISION_RANGE.max),\n\t\"scale?\": type(\"number.integer\").atLeast(NUMERIC_SCALE_RANGE.min).atMost(NUMERIC_SCALE_RANGE.max)\n});\nconst PG_TEXT_NATIVE_TYPE = \"text\";\nconst PG_TEXT_ARRAY_NATIVE_TYPE = \"text[]\";\nconst PG_INT4_NATIVE_TYPE = \"integer\";\nconst PG_INT2_NATIVE_TYPE = \"smallint\";\nconst PG_INT8_NATIVE_TYPE = \"bigint\";\nconst PG_FLOAT4_NATIVE_TYPE = \"real\";\nconst PG_FLOAT8_NATIVE_TYPE = \"double precision\";\nconst PG_NUMERIC_NATIVE_TYPE = \"numeric\";\nconst PG_TIMETZ_NATIVE_TYPE = \"timetz\";\nconst PG_BOOL_NATIVE_TYPE = \"boolean\";\nconst PG_BIT_NATIVE_TYPE = \"bit\";\nconst PG_VARBIT_NATIVE_TYPE = \"bit varying\";\nconst PG_BYTEA_NATIVE_TYPE = \"bytea\";\nconst PG_INTERVAL_NATIVE_TYPE = \"interval\";\nconst PG_JSON_NATIVE_TYPE = \"json\";\nconst PG_JSONB_NATIVE_TYPE = \"jsonb\";\n/**\n* Projects the expression unchanged, for codecs whose canonical JSON is what\n* PostgreSQL's own JSON conversion already produces.\n*\n* Identity here is a claim about the target's behaviour, not an absence of one:\n* the codec's conformance cases are what test it, including at the boundaries\n* of the representation — escaping, sign, and range — where a native conversion\n* would be most likely to diverge.\n*/\n/**\n* Whether a string is numeric text in the form PostgreSQL *prints*, which is\n* narrower than the form it accepts.\n*\n* `numeric` reads `+123`, `.5`, `1.`, `1e5`, `0x1f`, `1_000` and whitespace-padded\n* input, but prints every one of them in a single normalised form — `123`,\n* `0.5`, `1`, `100000`, `31`, `1000`, `12`. The projection reads the column back\n* through that printing, so accepting an input spelling here would produce an\n* application value the projection can never return: `encodeJson('1e5')` would\n* claim `1e5` where the database yields `100000`.\n*\n* `NaN`, `Infinity` and `-Infinity` are genuine `numeric` values, not error\n* states, and PostgreSQL emits them into JSON as strings — so they belong to the\n* canonical form and round-trip like any other value.\n*/\nconst CANONICAL_NUMERIC_TEXT = /^(?:-?\\d+(?:\\.\\d+)?|NaN|-?Infinity)$/;\nconst isCanonicalNumericText = (value) => CANONICAL_NUMERIC_TEXT.test(value);\n/**\n* Whether canonical numeric text is a value `numeric(precision, scale)` stores without rounding: a whole number of units of 10^-scale, and at most `precision` digits once counted in those units. A negative scale rounds to tens, hundreds and so on, and a scale above the precision allows only values below 1. NaN fits; an infinity does not.\n*/\nfunction fitsNumeric(text, precision, scale) {\n\tif (text === \"NaN\") return true;\n\tif (text.endsWith(\"Infinity\")) return false;\n\tconst [whole = \"\", fraction = \"\"] = text.replace(/^-/, \"\").split(\".\");\n\tconst significantFraction = withoutTrailing(fraction, \"0\");\n\tconst digits = `${whole}${significantFraction}`.replace(/^0+/, \"\");\n\tif (digits === \"\") return true;\n\tconst shift = scale - significantFraction.length;\n\tif (shift >= 0) return digits.length + shift <= precision;\n\tconst units = withoutTrailing(digits, \"0\");\n\tif (digits.length - units.length < -shift) return false;\n\treturn digits.length + shift <= precision;\n}\nconst identityJsonProjection = (expression) => expression;\n/**\n* Projects a `character` value as text, which drops the trailing spaces that pad it to its length and nothing else, so an include reads the value a flat read's `decode` returns.\n*/\nconst unpaddedCharJsonProjection = (expression) => CastExpr.as(expression, \"text\");\nconst BIT_STRING = /^[01]*$/;\nconst decodePostgresNumberWire = (wire) => typeof wire === \"string\" ? Number(wire) : wire;\nconst decodePostgresBooleanWire = (wire) => {\n\tif (typeof wire === \"boolean\") return wire;\n\tif (wire === \"t\" || wire === \"true\") return true;\n\tif (wire === \"f\" || wire === \"false\") return false;\n\tthrow postgresError(\"RUNTIME.DECODE_FAILED\", \"pg/bool@1 wire value must be boolean text\", { meta: {\n\t\tcodecId: PG_BOOL_CODEC_ID,\n\t\treceived: wire\n\t} });\n};\n/**\n* Projects a numeric-valued expression as decimal text.\n*\n* The cast is part of the projected expression, which is what makes it correct:\n* whatever `jsonProjection` returns is the argument the JSON constructor\n* receives, so casting here happens *before* PostgreSQL builds the JSON value.\n* Handed a `numeric` or `int8` directly, the constructor emits a JSON **number**,\n* and every digit past IEEE-754's 53 bits of significand is gone by the time the\n* driver has parsed it — before any codec can intervene. A cast applied to the\n* constructor's result instead of its argument would be too late to matter.\n*/\nconst decimalTextJsonProjection = (expression) => CastExpr.as(expression, \"text\");\n/**\n* Projects a `bytea` as base64 text.\n*\n* Like the decimal-text cast, the encoding is part of the projected expression:\n* PostgreSQL's own JSON conversion of a `bytea` emits its `\\x`-prefixed hex\n* output form, so the base64 encoding has to replace that conversion rather\n* than post-process it.\n*\n* `encode` emits RFC 2045 base64, which carries a line break every 76\n* characters — so any value over 56 bytes arrives wrapped. The breaks are\n* removed here, because the canonical form is unwrapped base64 and\n* `decodeJson` rejects anything else. `chr(10)` rather than a newline literal\n* keeps the rendered SQL on one line.\n*/\nconst base64JsonProjection = (expression) => FunctionCallExpr.of(\"translate\", [\n\tFunctionCallExpr.of(\"encode\", [expression, LiteralExpr.of(\"base64\")]),\n\tFunctionCallExpr.of(\"chr\", [LiteralExpr.of(10)]),\n\tLiteralExpr.of(\"\")\n]);\nconst datePart = (field, expression) => FunctionCallExpr.of(\"date_part\", [LiteralExpr.of(field), expression]);\nconst whenNonZero = (value, rendered) => CaseExpr.of([{\n\tcondition: BinaryExpr.neq(value, LiteralExpr.of(0)),\n\tvalue: rendered\n}], LiteralExpr.of(null));\n/**\n* Projects an `interval` as an ISO-8601 duration.\n*\n* An interval carries months, days and microseconds independently — `P1M` and\n* `P30D` are different intervals — so the projection reads each field with\n* `date_part` and assembles them rather than reducing the value to an epoch,\n* which would have to choose a length for a month. `IntervalStyle` decides how\n* PostgreSQL spells an interval and cannot be bound per expression, so the\n* spelling is constructed here instead of inherited.\n*\n* `concat` drops NULL arguments, so a zero component is omitted by rendering as\n* NULL; the seconds field is taken through `numeric` because a `double\n* precision` microsecond renders in scientific notation.\n*\n* That same NULL-dropping is why the whole assembly sits under an explicit NULL\n* check: for a NULL interval every field is NULL, `concat` yields `'P'`, and the\n* zero-duration fallback below would report an absent value as a zero one.\n*/\nconst isoDurationJsonProjection = (expression) => {\n\tconst field = (name) => datePart(name, expression);\n\tconst seconds = CastExpr.as(field(\"second\"), \"numeric\");\n\tconst assembled = FunctionCallExpr.of(\"concat\", [\n\t\tLiteralExpr.of(\"P\"),\n\t\twhenNonZero(field(\"year\"), FunctionCallExpr.of(\"concat\", [field(\"year\"), LiteralExpr.of(\"Y\")])),\n\t\twhenNonZero(field(\"month\"), FunctionCallExpr.of(\"concat\", [field(\"month\"), LiteralExpr.of(\"M\")])),\n\t\twhenNonZero(field(\"day\"), FunctionCallExpr.of(\"concat\", [field(\"day\"), LiteralExpr.of(\"D\")])),\n\t\tCaseExpr.of([{\n\t\t\tcondition: OrExpr.of([\n\t\t\t\tBinaryExpr.neq(field(\"hour\"), LiteralExpr.of(0)),\n\t\t\t\tBinaryExpr.neq(field(\"minute\"), LiteralExpr.of(0)),\n\t\t\t\tBinaryExpr.neq(field(\"second\"), LiteralExpr.of(0))\n\t\t\t]),\n\t\t\tvalue: LiteralExpr.of(\"T\")\n\t\t}], LiteralExpr.of(null)),\n\t\twhenNonZero(field(\"hour\"), FunctionCallExpr.of(\"concat\", [field(\"hour\"), LiteralExpr.of(\"H\")])),\n\t\twhenNonZero(field(\"minute\"), FunctionCallExpr.of(\"concat\", [field(\"minute\"), LiteralExpr.of(\"M\")])),\n\t\twhenNonZero(field(\"second\"), FunctionCallExpr.of(\"concat\", [seconds, LiteralExpr.of(\"S\")]))\n\t]);\n\treturn CaseExpr.of([{\n\t\tcondition: NullCheckExpr.isNull(expression),\n\t\tvalue: LiteralExpr.of(null)\n\t}], FunctionCallExpr.of(\"coalesce\", [FunctionCallExpr.of(\"nullif\", [assembled, LiteralExpr.of(\"P\")]), LiteralExpr.of(\"PT0S\")]));\n};\nconst postgresSqlCharDescriptor = postgresCodec(sqlCharDescriptor, {\n\tdataType: pgChar.id,\n\tnativeType: () => \"character\",\n\tjsonProjection: unpaddedCharJsonProjection,\n\tfactory: (descriptor, params) => () => new PgCharCodec(descriptor, params.length)\n});\nconst postgresSqlVarcharDescriptor = postgresCodec(sqlVarcharDescriptor, {\n\tdataType: pgVarchar.id,\n\tnativeType: () => \"character varying\",\n\tjsonProjection: identityJsonProjection,\n\tfactory: (descriptor, params) => () => new PgVarcharCodec(descriptor, params.length)\n});\nconst postgresSqlIntDescriptor = postgresCodec(sqlIntDescriptor, {\n\tdataType: pgInt4.id,\n\tnativeType: () => \"int4\",\n\tjsonProjection: identityJsonProjection,\n\tfactory: (descriptor) => () => new PgIntCodec(descriptor)\n});\nconst postgresSqlFloatDescriptor = postgresCodec(sqlFloatDescriptor, {\n\tdataType: pgFloat8.id,\n\tnativeType: () => \"float8\",\n\tjsonProjection: identityJsonProjection,\n\tfactory: (descriptor) => () => new PgFloatCodec(descriptor)\n});\nconst postgresSqlTextDescriptor = postgresCodec(sqlTextDescriptor, {\n\tdataType: pgText.id,\n\tnativeType: () => \"text\",\n\tjsonProjection: identityJsonProjection\n});\nvar PgTextCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonString(PG_TEXT_CODEC_ID, json);\n\t}\n};\nvar PgTextDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TEXT_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgText.id;\n\tcodecId = PG_TEXT_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"textual\"\n\t];\n\ttargetTypes = [\"text\"];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgTextCodec(this);\n\t}\n};\nconst pgTextDescriptor = new PgTextDescriptor();\nconst pgTextColumn = () => column(pgTextDescriptor.factory(), pgTextDescriptor.codecId, void 0, \"text\");\n/**\n* Codec for a `pg.enum(Ref)` column bound to a native Postgres enum type.\n* Text passthrough, identical to `pg/text@1` — encode/decode do not carry the\n* enum's member values; membership is enforced by the native type itself, not\n* by this codec. `renderValueLiteral` renders a member value as its TS\n* literal, which is what drives the column's typed value-union (via\n* `renderValueSetType` reading the column's `valueSet` ref) — the codec\n* itself carries no params of its own; typing comes entirely from the\n* column's value-set, not from `pg/enum@1`.\n*\n* A distinct codec id (rather than reusing `pg/text@1` on a plain text\n* column) keeps native-enum columns independently identifiable — from a\n* column's `codecId` alone, without also inspecting `nativeType` — which\n* the managed (DDL) phase needs to target `CREATE TYPE`/`ALTER TYPE`\n* operations at exactly the columns that use one.\n*\n* Not `textual`, although its values are strings: Postgres has no `LIKE`,\n* `ILIKE` or `to_tsvector` over an enum type.\n*/\nvar PgEnumCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonString(PG_ENUM_CODEC_ID, json);\n\t}\n};\n/**\n* Narrows codec `typeParams` to {@link PgEnumParams} — the shape that binds a\n* column to a named database type (a native enum's `CREATE TYPE` name).\n*/\nfunction isPgEnumParams(value) {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value) && \"typeName\" in value && typeof value.typeName === \"string\";\n}\nconst pgEnumParamsSchema = type({ typeName: \"string\" });\nvar PgEnumDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType(params) {\n\t\treturn params.typeName;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgEnum.id;\n\tcodecId = PG_ENUM_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"text\"];\n\tparamsSchema = pgEnumParamsSchema;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgEnumCodec(this);\n\t}\n\t/**\n\t* Authoring-time hook a `pg.enum(<ref>)` type constructor calls once it has\n\t* resolved its ref argument to the referenced `native_enum` entity:\n\t* produces this codec's per-column `typeParams` and native type from the\n\t* entity's bare type name. Schema-qualification (`auth.aal_level` for a\n\t* named non-default schema) is not this hook's concern — the field's\n\t* namespace isn't known at this call site for every authoring path (the TS\n\t* builder resolves a column before it knows its model's namespace), so it is\n\t* applied later, at contract construction, by {@link qualifyNativeType} via\n\t* the target's `authoring.qualifyColumnType` hook. `nativeType` mirrors\n\t* `typeParams.typeName` — the same value `nativeTypeFor` derives at render\n\t* time — so the column's declared native type and the render-time cast\n\t* agree. Returns `undefined` if `entity` is not a `PostgresNativeEnum` (a\n\t* contributor bug, not a user-schema error — the caller decides how to\n\t* report it).\n\t*/\n\tcolumnFromEntity(entity) {\n\t\tif (!PostgresNativeEnum.is(entity)) return void 0;\n\t\treturn {\n\t\t\ttypeParams: { typeName: entity.typeName },\n\t\t\tnativeType: entity.typeName\n\t\t};\n\t}\n\t/**\n\t* Schema-qualifies this native enum type's name for the namespace the\n\t* consuming column lives in: `${namespaceId}.${typeName}` for a named\n\t* non-default schema, bare for the target's default schema (`public`) or\n\t* the late-bound unbound sentinel (whose schema `search_path` resolves at\n\t* runtime). Postgres's `format_type()` reports the bare name for a\n\t* public-schema type, so a public column's declared native type must stay\n\t* bare to match. Owned here because the codec owns its native type.\n\t*/\n\tqualifyNativeType(typeName, namespaceId) {\n\t\treturn namespaceId === \"public\" || namespaceId === UNBOUND_NAMESPACE_ID ? typeName : `${namespaceId}.${typeName}`;\n\t}\n};\nconst pgEnumDescriptor = new PgEnumDescriptor();\n/**\n* Contract-construction-time column-type qualifier the Postgres target\n* contributes through `authoring.qualifyColumnType`.\n* `buildSqlContractFromDefinition` calls this for every column as it is\n* constructed, passing the column's bare type info and its owning\n* `namespaceId`; a native-enum column (`pg/enum@1`) gets its type name\n* schema-qualified for that namespace (via\n* {@link PgEnumDescriptor.qualifyNativeType}), keeping `nativeType` and\n* `typeParams.typeName` in sync. Every other codec passes through unchanged.\n* Both the PSL `pg.enum(Ref)` path and the TS `pg.enum(handle)` path route\n* through here — the dispatch keys off the codec id, not authoring surface.\n*/\nfunction postgresQualifyColumnType(input, namespaceId) {\n\tif (input.codecId !== \"pg/enum@1\") return input;\n\tconst bareTypeName = input.typeParams?.[\"typeName\"];\n\tif (typeof bareTypeName !== \"string\") return input;\n\tconst qualified = pgEnumDescriptor.qualifyNativeType(bareTypeName, namespaceId);\n\treturn {\n\t\tnativeType: qualified,\n\t\ttypeParams: {\n\t\t\t...input.typeParams,\n\t\t\ttypeName: qualified\n\t\t}\n\t};\n}\n/**\n* Postgres `text[]` control codec. Encode is an identity pass-through: the pg\n* wire driver serialises a JS `string[]` to a Postgres array literal under the\n* `$N::text[]` cast emitted from this codec's native type. Control-plane reads\n* that need semantic arrays parse raw array text before shared validation rather\n* than decoding this whole array value. Not a user-facing scalar — it is not\n* part of the authorable `CodecTypes` surface, only the runtime codec registry.\n*/\nvar PgTextArrayCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn [...value];\n\t}\n\t/** A `text[]` may hold NULL elements, which PostgreSQL writes as JSON `null`. */\n\tdecodeJson(json) {\n\t\tconst expected = \"an array of strings and nulls\";\n\t\tif (!Array.isArray(json)) return refuseJsonValue(PG_TEXT_ARRAY_CODEC_ID, expected, json);\n\t\tconst elements = [];\n\t\tfor (const entry of json) {\n\t\t\tif (entry !== null && typeof entry !== \"string\") return refuseJsonValue(PG_TEXT_ARRAY_CODEC_ID, expected, entry);\n\t\t\telements.push(entry);\n\t\t}\n\t\treturn elements;\n\t}\n};\nvar PgTextArrayDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TEXT_ARRAY_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgTextArray.id;\n\tcodecId = PG_TEXT_ARRAY_CODEC_ID;\n\ttraits = [\"equality\"];\n\ttargetTypes = [\"text[]\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgTextArrayCodec(this);\n\t}\n};\nconst pgTextArrayDescriptor = new PgTextArrayDescriptor();\nvar PgInt4Codec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresNumberWire(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonInteger(PG_INT4_CODEC_ID, json, INT32_RANGE);\n\t}\n};\nvar PgInt4Descriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INT4_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgInt4.id;\n\tcodecId = PG_INT4_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"int4\"];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgInt4Codec(this);\n\t}\n};\nconst pgInt4Descriptor = new PgInt4Descriptor();\nconst pgInt4Column = () => column(pgInt4Descriptor.factory(), pgInt4Descriptor.codecId, void 0, \"int4\");\nvar PgInt2Codec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresNumberWire(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonInteger(PG_INT2_CODEC_ID, json, {\n\t\t\tmin: -32768,\n\t\t\tmax: 32767\n\t\t});\n\t}\n};\nvar PgInt2Descriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INT2_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgInt2.id;\n\tcodecId = PG_INT2_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"int2\"];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgInt2Codec(this);\n\t}\n};\nconst pgInt2Descriptor = new PgInt2Descriptor();\nconst pgInt2Column = () => column(pgInt2Descriptor.factory(), pgInt2Descriptor.codecId, void 0, \"int2\");\n/**\n* A Postgres `int8` spans the full signed 64-bit range, which a JS `number`\n* cannot hold past 2^53. Application values are `bigint` and the canonical JSON\n* is decimal text; the wire form is the decimal string `pg` reads and writes for\n* this type.\n*/\nvar PgInt8Codec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgBigintEncode(PG_INT8_CODEC_ID, value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgInt8Decode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgBigintEncodeJson(PG_INT8_CODEC_ID, value);\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonIntegerText(PG_INT8_CODEC_ID, json, INT64_RANGE);\n\t}\n};\nvar PgInt8Descriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INT8_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn decimalTextJsonProjection(expression);\n\t}\n\tdataType = pgInt8.id;\n\tcodecId = PG_INT8_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"int8\"];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn decimalTextBigintLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgInt8Codec(this);\n\t}\n};\nconst pgInt8Descriptor = new PgInt8Descriptor();\nconst pgInt8Column = () => column(pgInt8Descriptor.factory(), pgInt8Descriptor.codecId, void 0, \"int8\");\n/**\n* A Postgres `int8` decoded as a JS `number`, for columns whose values stay\n* within the safe integer range ±(2^53 − 1). Both directions guard rather than\n* round: decode (wire and JSON) and encode throw a structured error on\n* out-of-range or non-integral input. The canonical JSON is the decimal text\n* `pg/int8` carries, which every codec of that data type shares. The descriptor\n* claims no target type, so `int8` in type position stays `pg/int8@1`.\n*/\nvar PgInt8NumberCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgInt8NumberEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgInt8NumberDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgInt8NumberEncodeJson(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn pgInt8NumberDecodeJson(json);\n\t}\n};\nvar PgInt8NumberDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INT8_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn decimalTextJsonProjection(expression);\n\t}\n\tdataType = pgInt8.id;\n\tcodecId = PG_INT8_NUMBER_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn decimalTextNumberLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgInt8NumberCodec(this);\n\t}\n};\nconst pgInt8NumberDescriptor = new PgInt8NumberDescriptor();\nconst pgInt8NumberColumn = () => column(pgInt8NumberDescriptor.factory(), pgInt8NumberDescriptor.codecId, void 0, \"int8\");\nvar PgFloat4Codec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgFloatEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresNumberWire(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn encodeJsonFloat(value);\n\t}\n\tdecodeJson(json) {\n\t\tconst value = decodeJsonFloat(PG_FLOAT4_CODEC_ID, json);\n\t\tif (Number.isFinite(value) && !fitsFloat4(value)) return refuseJsonValue(PG_FLOAT4_CODEC_ID, `a number float4 holds, at most ${FLOAT4_MAX} in magnitude and not so small that it becomes 0, or the text NaN, Infinity or -Infinity`, json);\n\t\treturn value;\n\t}\n};\nvar PgFloat4Descriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_FLOAT4_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgFloat4.id;\n\tcodecId = PG_FLOAT4_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"float4\"];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgFloat4Codec(this);\n\t}\n};\nconst pgFloat4Descriptor = new PgFloat4Descriptor();\nconst pgFloat4Column = () => column(pgFloat4Descriptor.factory(), pgFloat4Descriptor.codecId, void 0, \"float4\");\nvar PgFloat8Codec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgFloatEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresNumberWire(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn encodeJsonFloat(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonFloat(PG_FLOAT8_CODEC_ID, json);\n\t}\n};\nvar PgFloat8Descriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_FLOAT8_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgFloat8.id;\n\tcodecId = PG_FLOAT8_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"float8\"];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgFloat8Codec(this);\n\t}\n};\nconst pgFloat8Descriptor = new PgFloat8Descriptor();\nconst pgFloat8Column = () => column(pgFloat8Descriptor.factory(), pgFloat8Descriptor.codecId, void 0, \"float8\");\nvar PgBoolCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresBooleanWire(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonBoolean(PG_BOOL_CODEC_ID, json);\n\t}\n};\nvar PgBoolDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_BOOL_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgBool.id;\n\tcodecId = PG_BOOL_CODEC_ID;\n\ttraits = [\"equality\", \"boolean\"];\n\ttargetTypes = [\"bool\"];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgBoolCodec(this);\n\t}\n};\nconst pgBoolDescriptor = new PgBoolDescriptor();\nconst pgBoolColumn = () => column(pgBoolDescriptor.factory(), pgBoolDescriptor.codecId, void 0, \"bool\");\nvar PgNumericCodec = class extends CodecImpl {\n\tparams;\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgNumericDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\tif (!isCanonicalNumericText(value)) throw postgresError(\"RUNTIME.ENCODE_FAILED\", \"pg/numeric@1 application value must be canonical numeric text: an optionally negated decimal numeral, or NaN, Infinity or -Infinity\", { meta: {\n\t\t\tcodecId: PG_NUMERIC_CODEC_ID,\n\t\t\treceived: value\n\t\t} });\n\t\treturn value;\n\t}\n\tconstructor(descriptor, params) {\n\t\tsuper(descriptor);\n\t\tthis.params = params;\n\t}\n\tdecodeJson(json) {\n\t\tconst text = decodeJsonMatching(PG_NUMERIC_CODEC_ID, json, CANONICAL_NUMERIC_TEXT, \"a decimal string\");\n\t\tconst { precision } = this.params;\n\t\tif (precision === void 0) return text;\n\t\tconst scale = this.params.scale ?? 0;\n\t\tif (!fitsNumeric(text, precision, scale)) return refuseJsonValue(PG_NUMERIC_CODEC_ID, `a decimal string that numeric(${precision}, ${scale}) stores without rounding`, json);\n\t\treturn text;\n\t}\n};\nvar PgNumericDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_NUMERIC_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn decimalTextJsonProjection(expression);\n\t}\n\tdataType = pgNumeric.id;\n\tcodecId = PG_NUMERIC_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [\"numeric\", \"decimal\"];\n\tparamsSchema = numericParamsSchema;\n\trenderOutputType(params) {\n\t\treturn pgNumericRenderOutputType(params);\n\t}\n\tfactory(params) {\n\t\treturn () => new PgNumericCodec(this, params ?? {});\n\t}\n};\nconst pgNumericDescriptor = new PgNumericDescriptor();\nconst pgNumericColumn = (params = {}) => column(pgNumericDescriptor.factory(params), pgNumericDescriptor.codecId, params, \"numeric\");\n/**\n* A genuinely unbounded integer over unconstrained Postgres `numeric` storage.\n* Application values are `bigint` and the canonical JSON is decimal text, like\n* `pg/int8@1`; decode rejects non-integral values. The descriptor claims no\n* target type, so `numeric` and `decimal` in type position stay `pg/numeric@1`.\n*/\nvar PgUnboundedIntCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgBigintEncode(PG_UNBOUNDED_INT_CODEC_ID, value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgUnboundedIntDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgBigintEncodeJson(PG_UNBOUNDED_INT_CODEC_ID, value);\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonIntegerText(PG_UNBOUNDED_INT_CODEC_ID, json);\n\t}\n};\nvar PgUnboundedIntDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_NUMERIC_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn decimalTextJsonProjection(expression);\n\t}\n\tdataType = pgNumeric.id;\n\tcodecId = PG_UNBOUNDED_INT_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\ttargetTypes = [];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn decimalTextBigintLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgUnboundedIntCodec(this);\n\t}\n};\nconst pgUnboundedIntDescriptor = new PgUnboundedIntDescriptor();\nconst pgUnboundedIntColumn = () => column(pgUnboundedIntDescriptor.factory(), pgUnboundedIntDescriptor.codecId, void 0, \"numeric\");\nvar PgTimetzCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn pgTimetzCanonical(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonDateTimeText(PG_TIMETZ_CODEC_ID, json, pgTimetzStoredText);\n\t}\n};\nvar PgTimetzDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TIMETZ_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgTimetz.id;\n\tcodecId = PG_TIMETZ_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"timetz\"];\n\tparamsSchema = precisionParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderPrecision(\"Timetz\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgTimetzCodec(this);\n\t}\n};\nconst pgTimetzDescriptor = new PgTimetzDescriptor();\nconst pgTimetzColumn = (params = {}) => column(pgTimetzDescriptor.factory(params), pgTimetzDescriptor.codecId, params, \"timetz\");\nvar PgBitCodec = class extends CodecImpl {\n\tlength;\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tconstructor(descriptor, length) {\n\t\tsuper(descriptor);\n\t\tthis.length = length;\n\t}\n\tdecodeJson(json) {\n\t\tconst bits = decodeJsonMatching(PG_BIT_CODEC_ID, json, BIT_STRING, \"a string of 0 and 1 digits\");\n\t\tif (bits.length !== this.length) return refuseJsonValue(PG_BIT_CODEC_ID, `a string of exactly ${counted(this.length, \"bit\")}`, json);\n\t\treturn bits;\n\t}\n};\nvar PgBitDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_BIT_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgBit.id;\n\tcodecId = PG_BIT_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"bit\"];\n\tparamsSchema = lengthParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderLength(\"Bit\", params);\n\t}\n\tfactory(params) {\n\t\treturn () => new PgBitCodec(this, params?.length ?? 1);\n\t}\n};\nconst pgBitDescriptor = new PgBitDescriptor();\nconst pgBitColumn = (params = {}) => column(pgBitDescriptor.factory(params), pgBitDescriptor.codecId, params, \"bit\");\nvar PgVarbitCodec = class extends CodecImpl {\n\tlength;\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tconstructor(descriptor, length) {\n\t\tsuper(descriptor);\n\t\tthis.length = length;\n\t}\n\tdecodeJson(json) {\n\t\tconst bits = decodeJsonMatching(PG_VARBIT_CODEC_ID, json, BIT_STRING, \"a string of 0 and 1 digits\");\n\t\tif (this.length !== void 0 && bits.length > this.length) return refuseJsonValue(PG_VARBIT_CODEC_ID, `a string of at most ${counted(this.length, \"bit\")}`, json);\n\t\treturn bits;\n\t}\n};\nvar PgVarbitDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_VARBIT_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgVarbit.id;\n\tcodecId = PG_VARBIT_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"bit varying\"];\n\tparamsSchema = lengthParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderLength(\"VarBit\", params);\n\t}\n\tfactory(params) {\n\t\treturn () => new PgVarbitCodec(this, params?.length);\n\t}\n};\nconst pgVarbitDescriptor = new PgVarbitDescriptor();\nconst pgVarbitColumn = (params = {}) => column(pgVarbitDescriptor.factory(params), pgVarbitDescriptor.codecId, params, \"bit varying\");\nvar PgByteaCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgByteaDecodeWire(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgByteaEncodeJson(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn pgByteaDecodeJson(json);\n\t}\n};\nvar PgByteaDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_BYTEA_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn base64JsonProjection(expression);\n\t}\n\tdataType = pgBytea.id;\n\tcodecId = PG_BYTEA_CODEC_ID;\n\ttraits = [\"equality\"];\n\ttargetTypes = [\"bytea\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgByteaCodec(this);\n\t}\n};\nconst pgByteaDescriptor = new PgByteaDescriptor();\nconst PG_UUID_NATIVE_TYPE = \"uuid\";\nvar PgUuidCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn canonicalUuid(value) ?? value;\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonMatching(PG_UUID_CODEC_ID, json, CANONICAL_UUID, \"a UUID as PostgreSQL writes it, in lower case and hyphenated 8-4-4-4-12\");\n\t}\n};\nvar PgUuidDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_UUID_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgUuid.id;\n\tcodecId = PG_UUID_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"uuid\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgUuidCodec(this);\n\t}\n};\nconst pgUuidDescriptor = new PgUuidDescriptor();\nconst pgUuidColumn = () => column(pgUuidDescriptor.factory(), pgUuidDescriptor.codecId, void 0, \"uuid\");\nconst PG_INET_NATIVE_TYPE = \"inet\";\nvar PgInetCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonString(PG_INET_CODEC_ID, json);\n\t}\n};\nvar PgInetDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INET_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgInet.id;\n\tcodecId = PG_INET_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"inet\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgInetCodec(this);\n\t}\n};\nconst pgInetDescriptor = new PgInetDescriptor();\nconst pgInetColumn = () => column(pgInetDescriptor.factory(), pgInetDescriptor.codecId, void 0, \"inet\");\nconst PG_TSQUERY_NATIVE_TYPE = \"tsquery\";\nvar PgTsqueryCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn blindCast(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn blindCast(decodeJsonString(PG_TSQUERY_CODEC_ID, json));\n\t}\n};\n/**\n* The type of a full-text query: what the parsers and the tag in `full-text` return, and what a\n* `tsquery` value read back from a query binds as when passed to `fullTextMatches`, `fullTextRank`\n* or `fullTextHeadline`. It has no column helper, because a contract cannot author a `tsquery`\n* column, and no traits, because comparing or ordering queries means nothing to an application.\n*/\nvar PgTsqueryDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_TSQUERY_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgTsquery.id;\n\tcodecId = PG_TSQUERY_CODEC_ID;\n\ttraits = [];\n\ttargetTypes = [\"tsquery\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgTsqueryCodec(this);\n\t}\n};\nconst pgTsqueryDescriptor = new PgTsqueryDescriptor();\n/**\n* An application value is a {@link PgInterval} — the three fields PostgreSQL\n* actually stores, `{ months, days, micros }` — and its canonical JSON is the\n* ISO-8601 duration string PostgreSQL spells under\n* `IntervalStyle = 'iso_8601'`: `P1M`, `P30D`, `P1Y2M3DT4H5M6S`, `PT0S` for\n* zero, each component carrying its own sign.\n*\n* Value and representation are independent here, as they are for `pg/bytea@1`\n* (`Uint8Array` carried as base64) and `pg/int8@1` (`bigint` carried as decimal\n* text). Reading an interval hands back numbers to compute with rather than a\n* string to parse; writing one takes the same numbers.\n*\n* The fields stay independent because a month has no fixed length: `{months: 1}`\n* and `{days: 30}` are different values and neither converts to the other. The\n* ISO rendering normalises only in its own spelling — twelve months render as a\n* year — so `{months: 13}` renders `P1Y1M` and reads back as `{months: 13}`.\n*/\nvar PgIntervalCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgIntervalToIso(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgIntervalDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn pgIntervalEncodeJson(value);\n\t}\n\tdecodeJson(json) {\n\t\treturn pgIntervalDecodeJson(json);\n\t}\n};\nvar PgIntervalDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INTERVAL_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn isoDurationJsonProjection(expression);\n\t}\n\tdataType = pgInterval.id;\n\tcodecId = PG_INTERVAL_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\ttargetTypes = [\"interval\"];\n\tparamsSchema = precisionParamsSchema;\n\trenderOutputType(params) {\n\t\treturn renderPrecision(\"Interval\", params);\n\t}\n\tfactory(_params) {\n\t\treturn () => new PgIntervalCodec(this);\n\t}\n};\nconst pgIntervalDescriptor = new PgIntervalDescriptor();\nconst pgIntervalColumn = (params = {}) => column(pgIntervalDescriptor.factory(params), pgIntervalDescriptor.codecId, params, \"interval\");\nvar PgJsonCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgJsonEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgJsonDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar PgJsonDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_JSON_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgJson.id;\n\tcodecId = PG_JSON_CODEC_ID;\n\ttraits = [];\n\ttargetTypes = [\"json\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgJsonCodec(this);\n\t}\n};\nconst pgJsonDescriptor = new PgJsonDescriptor();\nconst pgJsonColumn = () => column(pgJsonDescriptor.factory(), pgJsonDescriptor.codecId, void 0, \"json\");\nvar PgJsonbCodec = class extends CodecImpl {\n\tasync encode(value, _ctx) {\n\t\treturn pgJsonbEncode(value);\n\t}\n\tasync decode(wire, _ctx) {\n\t\treturn pgJsonbDecode(wire);\n\t}\n\tencodeJson(value) {\n\t\treturn value;\n\t}\n\tdecodeJson(json) {\n\t\treturn json;\n\t}\n};\nvar PgJsonbDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_JSONB_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgJsonb.id;\n\tcodecId = PG_JSONB_CODEC_ID;\n\ttraits = [\"equality\"];\n\ttargetTypes = [\"jsonb\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new PgJsonbCodec(this);\n\t}\n};\nconst pgJsonbDescriptor = new PgJsonbDescriptor();\nconst pgJsonbColumn = () => column(pgJsonbDescriptor.factory(), pgJsonbDescriptor.codecId, void 0, \"jsonb\");\nconst PG_CHAR_NATIVE_TYPE = \"character\";\nconst PG_VARCHAR_NATIVE_TYPE = \"character varying\";\nconst PG_INT_NATIVE_TYPE = \"integer\";\nconst PG_FLOAT_NATIVE_TYPE = \"double precision\";\nvar PgIntCodec = class extends SqlIntCodec {\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresNumberWire(wire);\n\t}\n\tdecodeJson(json) {\n\t\treturn decodeJsonInteger(this.id, json, INT32_RANGE);\n\t}\n};\n/**\n* `sql/char@1` as PostgreSQL stores it: a `character` column holds its length in characters, and one with no length is `character(1)`.\n*/\nvar PgCharCodec = class extends SqlCharCodec {\n\tlength;\n\tconstructor(descriptor, length) {\n\t\tsuper(descriptor);\n\t\tthis.length = length ?? 1;\n\t}\n\tdecodeJson(json) {\n\t\tif (!fitsCharacterLength(decodeJsonString(this.id, json), this.length, true)) return refuseJsonValue(this.id, `a string of at most ${counted(this.length, \"character\")} before any trailing spaces`, json);\n\t\treturn super.decodeJson(json);\n\t}\n};\n/** `sql/varchar@1` as PostgreSQL stores it: a `character varying` column with a length holds at most that many characters. */\nvar PgVarcharCodec = class extends SqlVarcharCodec {\n\tlength;\n\tconstructor(descriptor, length) {\n\t\tsuper(descriptor);\n\t\tthis.length = length;\n\t}\n\tdecodeJson(json) {\n\t\tconst text = super.decodeJson(json);\n\t\tif (this.length !== void 0 && !fitsCharacterLength(text, this.length, false)) return refuseJsonValue(this.id, `a string of at most ${counted(this.length, \"character\")}`, json);\n\t\treturn text;\n\t}\n};\nvar PgFloatCodec = class extends SqlFloatCodec {\n\tasync decode(wire, _ctx) {\n\t\treturn decodePostgresNumberWire(wire);\n\t}\n};\nvar PgCharDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_CHAR_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn unpaddedCharJsonProjection(expression);\n\t}\n\tdataType = pgChar.id;\n\tcodecId = PG_CHAR_CODEC_ID;\n\ttargetTypes = [\"character\"];\n\ttraits = sqlCharDescriptor.traits;\n\tparamsSchema = sqlCharDescriptor.paramsSchema;\n\trenderOutputType(params) {\n\t\treturn sqlCharDescriptor.renderOutputType(params);\n\t}\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory(params) {\n\t\treturn () => new PgCharCodec(this, params?.length);\n\t}\n};\nconst pgCharDescriptor = new PgCharDescriptor();\nconst pgCharColumn = (params = {}) => column(pgCharDescriptor.factory(params), pgCharDescriptor.codecId, params, \"character\");\nvar PgVarcharDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_VARCHAR_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgVarchar.id;\n\tcodecId = PG_VARCHAR_CODEC_ID;\n\ttargetTypes = [\"character varying\"];\n\ttraits = sqlVarcharDescriptor.traits;\n\tparamsSchema = sqlVarcharDescriptor.paramsSchema;\n\trenderOutputType(params) {\n\t\treturn sqlVarcharDescriptor.renderOutputType(params);\n\t}\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory(params) {\n\t\treturn () => new PgVarcharCodec(this, params?.length);\n\t}\n};\nconst pgVarcharDescriptor = new PgVarcharDescriptor();\nconst pgVarcharColumn = (params = {}) => column(pgVarcharDescriptor.factory(params), pgVarcharDescriptor.codecId, params, \"character varying\");\nvar PgIntDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_INT_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgInt4.id;\n\tcodecId = PG_INT_CODEC_ID;\n\ttargetTypes = [\"int4\"];\n\ttraits = sqlIntDescriptor.traits;\n\tparamsSchema = sqlIntDescriptor.paramsSchema;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgIntCodec(this);\n\t}\n};\nconst pgIntDescriptor = new PgIntDescriptor();\nconst pgIntColumn = () => column(pgIntDescriptor.factory(), pgIntDescriptor.codecId, void 0, \"int4\");\nvar PgFloatDescriptor = class extends PostgresCodecDescriptor {\n\tnativeType() {\n\t\treturn PG_FLOAT_NATIVE_TYPE;\n\t}\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = pgFloat8.id;\n\tcodecId = PG_FLOAT_CODEC_ID;\n\ttargetTypes = [\"float8\"];\n\ttraits = sqlFloatDescriptor.traits;\n\tparamsSchema = sqlFloatDescriptor.paramsSchema;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new PgFloatCodec(this);\n\t}\n};\nconst pgFloatDescriptor = new PgFloatDescriptor();\nconst pgFloatColumn = () => column(pgFloatDescriptor.factory(), pgFloatDescriptor.codecId, void 0, \"float8\");\nconst codecDescriptors = definePostgresCodecs([\n\tpostgresSqlCharDescriptor,\n\tpostgresSqlVarcharDescriptor,\n\tpostgresSqlIntDescriptor,\n\tpostgresSqlFloatDescriptor,\n\tpostgresSqlTextDescriptor,\n\tpgTextDescriptor,\n\tpgEnumDescriptor,\n\tpgCharDescriptor,\n\tpgVarcharDescriptor,\n\tpgIntDescriptor,\n\tpgFloatDescriptor,\n\tpgInt4Descriptor,\n\tpgInt2Descriptor,\n\tpgInt8Descriptor,\n\tpgInt8NumberDescriptor,\n\tpgFloat4Descriptor,\n\tpgFloat8Descriptor,\n\tpgNumericDescriptor,\n\tpgUnboundedIntDescriptor,\n\tpgDateTemporalDescriptor,\n\tpgTimestampTemporalDescriptor,\n\tpgTimestamptzTemporalDescriptor,\n\tpgTimeTemporalDescriptor,\n\tpgDateStringDescriptor,\n\tpgTimestampStringDescriptor,\n\tpgTimestamptzStringDescriptor,\n\tpgTimestamptzDateDescriptor,\n\tpgTimeStringDescriptor,\n\tpgTimetzDescriptor,\n\tpgBoolDescriptor,\n\tpgBitDescriptor,\n\tpgVarbitDescriptor,\n\tpgByteaDescriptor,\n\tpgUuidDescriptor,\n\tpgInetDescriptor,\n\tpgIntervalDescriptor,\n\tpgJsonDescriptor,\n\tpgJsonbDescriptor,\n\tpgTextArrayDescriptor,\n\tpgTsqueryDescriptor\n]);\n//#endregion\nexport { PgTimestamptzDateDescriptor as A, pgUuidColumn as C, NUMERIC_PRECISION_RANGE as D, postgresQualifyColumnType as E, pgTimestamptzDateDescriptor as M, requireTemporal as N, NUMERIC_SCALE_RANGE as O, setFallbackTemporal as P, pgUnboundedIntColumn as S, pgVarcharColumn as T, pgJsonColumn as _, pgCharColumn as a, pgTextColumn as b, pgFloat8Column as c, pgInt2Column as d, pgInt4Column as f, pgIntervalColumn as g, pgIntColumn as h, pgBoolColumn as i, pgTimestamptzDateColumn as j, PgTimestamptzDateCodec as k, pgFloatColumn as l, pgInt8NumberColumn as m, isPgEnumParams as n, pgEnumDescriptor as o, pgInt8Column as p, pgBitColumn as r, pgFloat4Column as s, codecDescriptors as t, pgInetColumn as u, pgJsonbColumn as v, pgVarbitColumn as w, pgTimetzColumn as x, pgNumericColumn as y };\n\n//# sourceMappingURL=codecs-IImhTd4L.mjs.map"],"mappings":"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"}
@@ -3,20 +3,20 @@ import { i as isPostgresCodecDescriptor } from "./codec-descriptor-B61d-k4C-BdWV
3
3
  import { s as postgresError } from "./errors-DYyzTYzE-39CV_aMo.mjs";
4
4
  import { t as DEFAULT_NAMESPACE_ID } from "./namespace-ids-xtp_ZY86-Cpp8PTxD.mjs";
5
5
  import { t as PostgresNativeEnum } from "./postgres-native-enum-CdP3b_-R-Cgz9KEKx.mjs";
6
- import { P as setFallbackTemporal, n as NUMERIC_SCALE_RANGE, t as NUMERIC_PRECISION_RANGE } from "./codecs-BHNqtI1J-BSS9sL3H.mjs";
6
+ import { P as setFallbackTemporal, n as NUMERIC_SCALE_RANGE, t as NUMERIC_PRECISION_RANGE } from "./codecs-IImhTd4L-CtRRX7y6.mjs";
7
7
  import { i as PostgresRlsPolicy, n as PostgresRlsEnablement, o as PostgresRole } from "./postgres-schema-yugFGBdS-5cY1PCmb.mjs";
8
8
  import { n as postgresResolveDefault } from "./default-normalizer-Cb7nWBUa-DXchlOUk.mjs";
9
9
  import { n as computeContentHash } from "./canonicalize-CrN3u_xM-D4MrOqcB.mjs";
10
- import { m as postgresNowGeneratorIdFor, r as POLICY_BLOCK_KEYWORDS } from "./authoring-DKN1ccEX-DgmJWx1r.mjs";
10
+ import { m as postgresNowGeneratorIdFor, r as POLICY_BLOCK_KEYWORDS } from "./authoring-2oKPEpBv-DfCFpeuD.mjs";
11
11
  import { t as postgresRenderCheckExpressions } from "./check-expressions-DLCs-SXx-itMQrUsX.mjs";
12
- import { t as postgresTargetDescriptorMeta } from "./descriptor-meta-DF0hODA0-DnO80XvH.mjs";
12
+ import { t as postgresTargetDescriptorMeta } from "./descriptor-meta-B1rbY3IE-I1ec-I6j.mjs";
13
13
  import { a as postgresDiffSubjectGranularity, i as postgresDiffSubjectEntityKind } from "./postgres-table-schema-node-BBkitBQh-DT1T5VWU.mjs";
14
14
  import { t as PostgresDatabaseSchemaNode } from "./postgres-role-schema-node-B8Z5i5D--PObwlU2Z.mjs";
15
- import { i as renderDefaultLiteral } from "./planner-ddl-builders-iE35pyxA-g7b_clbn.mjs";
16
- import { i as diffPostgresSchema, r as contractToPostgresDatabaseSchemaNode, t as buildPostgresNativeTypeExpander } from "./diff-database-schema-MYPfxeRf-DdgnOIIl.mjs";
17
- import { t as PostgresContractSerializer } from "./postgres-contract-view-BBMpf_qi-8V4vTm9U.mjs";
18
- import { t as createPostgresMigrationPlanner } from "./planner-DMVaXRSK-DCAGfALs.mjs";
19
- import { a as buildMapAttribute, d as inferPostgresPslContract, f as namedArg, h as positionalArg, i as buildIndexAttribute, m as parseDefaultAttributeString, n as buildAttribute, o as buildModelConstraintAttribute, r as buildCheckAttribute, s as buildNativeEnumBlock, t as SYNTHETIC_SPAN, u as createPostgresTypeMap } from "./infer-psl-contract-D7XJnfJv-Cd_Mf0UH.mjs";
15
+ import { i as renderDefaultLiteral } from "./planner-ddl-builders-DSpQVbIm-Y4SbsU-O.mjs";
16
+ import { i as diffPostgresSchema, r as contractToPostgresDatabaseSchemaNode, t as buildPostgresNativeTypeExpander } from "./diff-database-schema-MymRFpdQ-CyY82tmS.mjs";
17
+ import { t as PostgresContractSerializer } from "./postgres-contract-view-CUWYe586-CHykrpRs.mjs";
18
+ import { t as createPostgresMigrationPlanner } from "./planner-Bp89yaJS-4TV82o0Y.mjs";
19
+ import { a as buildMapAttribute, d as inferPostgresPslContract, f as namedArg, h as positionalArg, i as buildIndexAttribute, m as parseDefaultAttributeString, n as buildAttribute, o as buildModelConstraintAttribute, r as buildCheckAttribute, s as buildNativeEnumBlock, t as SYNTHETIC_SPAN, u as createPostgresTypeMap } from "./infer-psl-contract-CsDvYcvN-CMQR2WNf.mjs";
20
20
  import { escapePslString } from "@prisma/orm-family-sql/relational-core/ast";
21
21
  import { blindCast } from "@prisma/orm-framework/utils/casts";
22
22
  import { UNBOUND_NAMESPACE_ID } from "@prisma/orm-framework/components/ir";
@@ -2704,4 +2704,4 @@ const postgresTargetDescriptor = createPostgresTargetDescriptor();
2704
2704
  //#endregion
2705
2705
  export { postgresTargetDescriptor as i, postgresRenderDefault as n, postgresScalarAuthoringTypes as r, postgresNativeAuthoringTypes as t };
2706
2706
 
2707
- //# sourceMappingURL=control-CYQReJto.mjs.map
2707
+ //# sourceMappingURL=control-D5Vb1l8F.mjs.map