@prisma/orm-target-sqlite 8.0.0-rc.22-dev.4 → 8.0.0-rc.22-dev.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/{adapter-BHJEOmT6.d.mts → adapter-etFmhVd4.d.mts} +7 -7
- package/dist/{adapter-BHJEOmT6.d.mts.map → adapter-etFmhVd4.d.mts.map} +1 -1
- package/dist/{adapter-Cff01Cgi-C19Fhc2M.mjs → adapter-gpb0ICA2-DPjB1dMR.mjs} +21 -11
- package/dist/adapter-gpb0ICA2-DPjB1dMR.mjs.map +1 -0
- package/dist/{adapter-xFPDhkod-BsdLsy9N.d.mts → adapter-xFPDhkod-Cio6up_5.d.mts} +3 -3
- package/dist/{adapter-xFPDhkod-BsdLsy9N.d.mts.map → adapter-xFPDhkod-Cio6up_5.d.mts.map} +1 -1
- package/dist/adapter.d.mts +11 -11
- package/dist/adapter.mjs +6 -6
- package/dist/adapter__adapter.d.mts +2 -2
- package/dist/adapter__adapter.mjs +2 -2
- package/dist/adapter__codec-types.d.mts +3 -3
- package/dist/adapter__column-types.d.mts +1 -1
- package/dist/adapter__column-types.mjs +1 -1
- package/dist/adapter__control.d.mts +3 -3
- package/dist/adapter__control.mjs +5 -5
- package/dist/adapter__control.mjs.map +1 -1
- package/dist/adapter__runtime.d.mts +1 -1
- package/dist/adapter__runtime.mjs +22 -13
- package/dist/adapter__runtime.mjs.map +1 -1
- package/dist/adapter__sql-renderer.d.mts +2 -2
- package/dist/adapter__sql-renderer.mjs +1 -1
- package/dist/adapter__types.d.mts +2 -2
- package/dist/{aggregates-CDMoiy_Z.d.mts → aggregates-Bee9csBL.d.mts} +6 -6
- package/dist/{aggregates-CDMoiy_Z.d.mts.map → aggregates-Bee9csBL.d.mts.map} +1 -1
- package/dist/{aggregates-D5fuFVMC.mjs → aggregates-DMvLJFlR.mjs} +9 -3
- package/dist/aggregates-DMvLJFlR.mjs.map +1 -0
- package/dist/codec-ids-9Fs9p6ST.d.mts +1 -0
- package/dist/codec-ids-BElbEYb_-CeWfv5bC.d.mts +21 -0
- package/dist/codec-ids-BElbEYb_-CeWfv5bC.d.mts.map +1 -0
- package/dist/codec-ids-BHBFCNsQ-C1Af_LGF.mjs +21 -0
- package/dist/codec-ids-BHBFCNsQ-C1Af_LGF.mjs.map +1 -0
- package/dist/codec-types-BQCSRfvR.d.mts +1 -0
- package/dist/{codec-types-COh75Bop-CUehAexc.d.mts → codec-types-CG5ZkqDU-DCx8ZvBg.d.mts} +10 -3
- package/dist/codec-types-CG5ZkqDU-DCx8ZvBg.d.mts.map +1 -0
- package/dist/codec-types-YpVaNlY0.d.mts +2 -0
- package/dist/{codecs-BJYruC-a-BKDGae3k.d.mts → codecs-BqOj4EKm-BaGeNd2m.d.mts} +127 -4
- package/dist/codecs-BqOj4EKm-BaGeNd2m.d.mts.map +1 -0
- package/dist/codecs-DzkRnjjE.d.mts +1 -0
- package/dist/{codecs-yZoH21Yj-lQXtGlEq.mjs → codecs-My4bmOU6-D4-b5qLd.mjs} +350 -22
- package/dist/codecs-My4bmOU6-D4-b5qLd.mjs.map +1 -0
- package/dist/{codecs-g-YI3BtK.mjs → codecs-R3kGRyq2.mjs} +2 -2
- package/dist/codecs-R3kGRyq2.mjs.map +1 -0
- package/dist/{column-types-Dxm0BpPv.d.mts → column-types-bTPNfz46.d.mts} +3 -3
- package/dist/{column-types-Dxm0BpPv.d.mts.map → column-types-bTPNfz46.d.mts.map} +1 -1
- package/dist/{column-types-DcbNOYVb.mjs → column-types-toYbR7mn.mjs} +2 -2
- package/dist/{column-types-DcbNOYVb.mjs.map → column-types-toYbR7mn.mjs.map} +1 -1
- package/dist/{contract-contributions-wweWdXMK-CN-d35Rj.mjs → contract-contributions-wweWdXMK-CwYZg4jC.mjs} +2 -2
- package/dist/{contract-contributions-wweWdXMK-CN-d35Rj.mjs.map → contract-contributions-wweWdXMK-CwYZg4jC.mjs.map} +1 -1
- package/dist/{contract-free-CYl1uzJ8.mjs → contract-free-BH73BZHy.mjs} +4 -4
- package/dist/{contract-free-CYl1uzJ8.mjs.map → contract-free-BH73BZHy.mjs.map} +1 -1
- package/dist/control-DGa_C2q6.d.mts +242 -0
- package/dist/control-DGa_C2q6.d.mts.map +1 -0
- package/dist/{control-VMpMSXk9.d.mts → control-DXzV_IVS.d.mts} +4 -4
- package/dist/{control-VMpMSXk9.d.mts.map → control-DXzV_IVS.d.mts.map} +1 -1
- package/dist/{data-type-entries-yQ-qYugg-C_NnX5WO.mjs → data-type-entries-Cp4hBeJB-DYer43by.mjs} +30 -3
- package/dist/data-type-entries-Cp4hBeJB-DYer43by.mjs.map +1 -0
- package/dist/{data-types-Dx3rHsbF.d.mts → data-types-CwpMoNK4.d.mts} +22 -2
- package/dist/data-types-CwpMoNK4.d.mts.map +1 -0
- package/dist/{data-types-coQrCWfS-yMCe4F52.mjs → data-types-DXMZNR8j-CWrJOA8C.mjs} +79 -4
- package/dist/data-types-DXMZNR8j-CWrJOA8C.mjs.map +1 -0
- package/dist/date-time-now-generators-T8JO6gR6-DBt5IyH5.mjs +64 -0
- package/dist/date-time-now-generators-T8JO6gR6-DBt5IyH5.mjs.map +1 -0
- package/dist/datetime-text-CbgLX4q3-BKp563Ja.mjs +32 -0
- package/dist/datetime-text-CbgLX4q3-BKp563Ja.mjs.map +1 -0
- package/dist/{ddl-BoTU7bCZ-CXNSFEtj.mjs → ddl-BvD-wVtg-BoEWa8CG.mjs} +3 -3
- package/dist/{ddl-BoTU7bCZ-CXNSFEtj.mjs.map → ddl-BvD-wVtg-BoEWa8CG.mjs.map} +1 -1
- package/dist/{default-normalizer-DGMXypHg-CPf7oyZA.mjs → default-normalizer-CsMhUEOe-CRieDElD.mjs} +23 -11
- package/dist/default-normalizer-CsMhUEOe-CRieDElD.mjs.map +1 -0
- package/dist/{default-normalizer-CkHy3JYk.d.mts → default-normalizer-CtNsZNRZ.d.mts} +3 -3
- package/dist/{default-normalizer-CkHy3JYk.d.mts.map → default-normalizer-CtNsZNRZ.d.mts.map} +1 -1
- package/dist/descriptor-meta-BwJWbIVt-B24ey04f.mjs +280 -0
- package/dist/descriptor-meta-BwJWbIVt-B24ey04f.mjs.map +1 -0
- package/dist/{descriptor-meta-DrNwC4vO-D7vuA6QK.mjs → descriptor-meta-DrNwC4vO-B9xeeDp9.mjs} +3 -3
- package/dist/{descriptor-meta-DrNwC4vO-D7vuA6QK.mjs.map → descriptor-meta-DrNwC4vO-B9xeeDp9.mjs.map} +1 -1
- package/dist/errors-D9vZNPSI-DoNmdfv7.mjs +105 -0
- package/dist/errors-D9vZNPSI-DoNmdfv7.mjs.map +1 -0
- package/dist/{migration-D0UlBTQw.mjs → migration-DYyfcQB_.mjs} +2 -2
- package/dist/{migration-D0UlBTQw.mjs.map → migration-DYyfcQB_.mjs.map} +1 -1
- package/dist/{op-factory-call-DADakw8V-yXzHuXlv.mjs → op-factory-call-BQYECylm-K7S_xgRS.mjs} +6 -6
- package/dist/{op-factory-call-DADakw8V-yXzHuXlv.mjs.map → op-factory-call-BQYECylm-K7S_xgRS.mjs.map} +1 -1
- package/dist/{pack-DqL_HWJX.d.mts → pack-CwFlRihn.d.mts} +179 -10
- package/dist/{pack-DqL_HWJX.d.mts.map → pack-CwFlRihn.d.mts.map} +1 -1
- package/dist/{planner-1zVd0jR2-mkF3bIWw.mjs → planner-DNwf8s8s-BoXZwpVs.mjs} +5 -5
- package/dist/{planner-1zVd0jR2-mkF3bIWw.mjs.map → planner-DNwf8s8s-BoXZwpVs.mjs.map} +1 -1
- package/dist/{planner-produced-sqlite-migration-Dgme3v9a-BzrIbSW_.mjs → planner-produced-sqlite-migration-Z9OWyjQn-DGMHz6I1.mjs} +4 -4
- package/dist/{planner-produced-sqlite-migration-Dgme3v9a-BzrIbSW_.mjs.map → planner-produced-sqlite-migration-Z9OWyjQn-DGMHz6I1.mjs.map} +1 -1
- package/dist/{render-ops-CwuscSzF-D3hoxOT_.mjs → render-ops-CJXrOY63-1y0nLsb8.mjs} +4 -4
- package/dist/{render-ops-CwuscSzF-D3hoxOT_.mjs.map → render-ops-CJXrOY63-1y0nLsb8.mjs.map} +1 -1
- package/dist/require-temporal-qbyZfPgl-DGJhYwmE.mjs +16 -0
- package/dist/require-temporal-qbyZfPgl-DGJhYwmE.mjs.map +1 -0
- package/dist/{runtime-YfPIbtO6.d.mts → runtime-BQKQH94p.d.mts} +2 -2
- package/dist/{runtime-YfPIbtO6.d.mts.map → runtime-BQKQH94p.d.mts.map} +1 -1
- package/dist/{runtime-CjIoI3sa.d.mts → runtime-ZsuC__oX.d.mts} +33 -2
- package/dist/runtime-ZsuC__oX.d.mts.map +1 -0
- package/dist/sql-renderer-CgY2Sghp.d.mts +1 -0
- package/dist/{sql-utils-XGT5Esi2-Zr2mqJf8.mjs → sql-utils-C9blmi9x-B90QedVA.mjs} +3 -3
- package/dist/{sql-utils-XGT5Esi2-Zr2mqJf8.mjs.map → sql-utils-C9blmi9x-B90QedVA.mjs.map} +1 -1
- package/dist/sqlite-contract-view-DJhc7pI7-Db5l4qrA.mjs +51 -0
- package/dist/sqlite-contract-view-DJhc7pI7-Db5l4qrA.mjs.map +1 -0
- package/dist/{sqlite-migration-BLyz5GQr-BMImgGTB.mjs → sqlite-migration-BxQ65pKq-C7siJGuR.mjs} +13 -10
- package/dist/sqlite-migration-BxQ65pKq-C7siJGuR.mjs.map +1 -0
- package/dist/{sqlite-contract-view-CGfiGvKH-CT-JjNHd.mjs → sqlite-unbound-database-Df3Wf5ZA-B1QemRgb.mjs} +5 -49
- package/dist/sqlite-unbound-database-Df3Wf5ZA-B1QemRgb.mjs.map +1 -0
- package/dist/target.d.mts +14 -13
- package/dist/target.mjs +22 -20
- package/dist/target__aggregates.d.mts +1 -1
- package/dist/target__aggregates.mjs +1 -1
- package/dist/target__codec-ids.d.mts +3 -3
- package/dist/target__codec-ids.mjs +2 -2
- package/dist/target__codec-types.d.mts +3 -3
- package/dist/target__codecs.d.mts +3 -3
- package/dist/target__codecs.mjs +4 -4
- package/dist/target__contract-free.mjs +2 -2
- package/dist/target__control.d.mts +2 -2
- package/dist/target__control.mjs +42 -36
- package/dist/target__control.mjs.map +1 -1
- package/dist/target__data-types.d.mts +2 -2
- package/dist/target__data-types.mjs +3 -3
- package/dist/target__default-normalizer.d.mts +1 -1
- package/dist/target__default-normalizer.mjs +1 -1
- package/dist/target__migration.mjs +2 -2
- package/dist/target__op-factory-call.mjs +1 -1
- package/dist/target__pack.d.mts +1 -1
- package/dist/target__pack.mjs +1 -1
- package/dist/target__planner-produced-sqlite-migration.mjs +1 -1
- package/dist/target__planner.mjs +1 -1
- package/dist/target__render-ops.mjs +1 -1
- package/dist/target__runtime.d.mts +2 -2
- package/dist/target__runtime.mjs +3 -3
- package/dist/target__runtime.mjs.map +1 -1
- package/dist/target__sql-utils.mjs +1 -1
- package/dist/target__types.d.mts +2 -0
- package/dist/target__types.mjs +2 -0
- package/dist/types-COqCbSev.d.mts +56 -0
- package/dist/types-COqCbSev.d.mts.map +1 -0
- package/dist/{types-y5JlAv97.d.mts → types-DpDK9e9U.d.mts} +1 -1
- package/package.json +18 -12
- package/dist/adapter-Cff01Cgi-C19Fhc2M.mjs.map +0 -1
- package/dist/aggregates-D5fuFVMC.mjs.map +0 -1
- package/dist/codec-ids-CMbhYIsa.d.mts +0 -1
- package/dist/codec-ids-DuJYssXV-BPKbFNRL.d.mts +0 -14
- package/dist/codec-ids-DuJYssXV-BPKbFNRL.d.mts.map +0 -1
- package/dist/codec-ids-wgEvkCkg-WltuexMR.mjs +0 -14
- package/dist/codec-ids-wgEvkCkg-WltuexMR.mjs.map +0 -1
- package/dist/codec-types-COh75Bop-CUehAexc.d.mts.map +0 -1
- package/dist/codec-types-ELHfd82J.d.mts +0 -2
- package/dist/codec-types-PONhVn74.d.mts +0 -1
- package/dist/codecs-BJYruC-a-BKDGae3k.d.mts.map +0 -1
- package/dist/codecs-Dn0xoCuf.d.mts +0 -1
- package/dist/codecs-g-YI3BtK.mjs.map +0 -1
- package/dist/codecs-yZoH21Yj-lQXtGlEq.mjs.map +0 -1
- package/dist/control-jYLWcPv2.d.mts +0 -130
- package/dist/control-jYLWcPv2.d.mts.map +0 -1
- package/dist/data-type-entries-yQ-qYugg-C_NnX5WO.mjs.map +0 -1
- package/dist/data-types-Dx3rHsbF.d.mts.map +0 -1
- package/dist/data-types-coQrCWfS-yMCe4F52.mjs.map +0 -1
- package/dist/datetime-text-Bniwehv--BSQhnrdE.mjs +0 -9
- package/dist/datetime-text-Bniwehv--BSQhnrdE.mjs.map +0 -1
- package/dist/default-normalizer-DGMXypHg-CPf7oyZA.mjs.map +0 -1
- package/dist/descriptor-meta-BNuC8mOJ-BfS3KaDU.mjs +0 -105
- package/dist/descriptor-meta-BNuC8mOJ-BfS3KaDU.mjs.map +0 -1
- package/dist/descriptor-meta-runtime-DX2JfHWF-Dbsh5NP8.mjs +0 -15
- package/dist/descriptor-meta-runtime-DX2JfHWF-Dbsh5NP8.mjs.map +0 -1
- package/dist/errors-DnR-sMHS-D_gh214a.mjs +0 -38
- package/dist/errors-DnR-sMHS-D_gh214a.mjs.map +0 -1
- package/dist/runtime-CjIoI3sa.d.mts.map +0 -1
- package/dist/sql-renderer-brQ96quu.d.mts +0 -1
- package/dist/sqlite-contract-view-CGfiGvKH-CT-JjNHd.mjs.map +0 -1
- package/dist/sqlite-migration-BLyz5GQr-BMImgGTB.mjs.map +0 -1
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { SqlNamespaceBase, SqlNamespaceEntries, SqlNamespaceInput, StorageTable } from "@prisma/orm-family-sql/contract/types";
|
|
2
|
+
//#region ../../../3-targets/sqlite/1-target/dist/types.d.mts
|
|
3
|
+
//#region src/core/sqlite-unbound-database.d.ts
|
|
4
|
+
type SqliteDatabaseInput = {
|
|
5
|
+
readonly id: string;
|
|
6
|
+
readonly entries: SqlNamespaceEntries;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* SQLite namespace concretion carrying table metadata under
|
|
10
|
+
* `entries.table` and unqualified `qualifyTable()` emission for runtime
|
|
11
|
+
* SQL rendering.
|
|
12
|
+
*/
|
|
13
|
+
declare class SqliteDatabase extends SqlNamespaceBase {
|
|
14
|
+
readonly kind: string;
|
|
15
|
+
readonly id: string;
|
|
16
|
+
readonly entries: SqlNamespaceEntries;
|
|
17
|
+
constructor(input: SqliteDatabaseInput);
|
|
18
|
+
get table(): Readonly<Record<string, StorageTable>>;
|
|
19
|
+
qualifier(): string;
|
|
20
|
+
qualifyTable(tableName: string): string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* SQLite target `Namespace` concretion. SQLite has no schema or
|
|
24
|
+
* database-namespacing concept at the SQL level — there is exactly one
|
|
25
|
+
* effective namespace per connection, so the target ships a single
|
|
26
|
+
* singleton bound to the framework's `UNBOUND_NAMESPACE_ID` slot.
|
|
27
|
+
*
|
|
28
|
+
* Qualifier emission elides the prefix entirely: rendered DDL and
|
|
29
|
+
* queries look unqualified (`CREATE TABLE "users" (...)`), matching
|
|
30
|
+
* SQLite's native dialect. Call sites stay polymorphic — they ask the
|
|
31
|
+
* namespace for its qualifier and consume the empty/unqualified result
|
|
32
|
+
* the same way Postgres consumes a `"schema"` prefix.
|
|
33
|
+
*
|
|
34
|
+
* The SQLite PSL interpreter rejects every explicit `namespace { … }`
|
|
35
|
+
* block with a diagnostic naming SQLite; only the implicit
|
|
36
|
+
* `__unspecified__` AST bucket reaches the SQLite interpreter, which
|
|
37
|
+
* lowers it to this singleton.
|
|
38
|
+
*/
|
|
39
|
+
declare class SqliteUnboundDatabase extends SqliteDatabase {
|
|
40
|
+
static readonly instance: SqliteUnboundDatabase;
|
|
41
|
+
private constructor();
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Target-supplied `Namespace` factory the SQLite target plumbs through
|
|
45
|
+
* `defineContract({ createNamespace })`. SQLite has only one
|
|
46
|
+
* effective namespace slot — the framework `UNBOUND_NAMESPACE_ID`
|
|
47
|
+
* sentinel — so the factory always returns the singleton or a fresh
|
|
48
|
+
* `SqliteDatabase` for the unbound slot with tables. The SQL family's
|
|
49
|
+
* defensive validation in `defineContract` already rejects
|
|
50
|
+
* user-declared SQLite namespaces, so this throw is a structural
|
|
51
|
+
* safety net rather than a user-facing surface.
|
|
52
|
+
*/
|
|
53
|
+
declare function sqliteCreateNamespace(input: SqlNamespaceInput): SqliteDatabase | SqliteUnboundDatabase;
|
|
54
|
+
//#endregion
|
|
55
|
+
export { sqliteCreateNamespace as n, SqliteUnboundDatabase as t };
|
|
56
|
+
//# sourceMappingURL=types-COqCbSev.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-COqCbSev.d.mts","names":[],"sources":["../../../../3-targets/sqlite/1-target/dist/types.d.mts"],"mappings":";;;KAEK;WACM;WACA,SAAS;;;;;;;cAON,uBAAuB;WAC1B;WACA;WACA,SAAS;EAClB,YAAY,OAAO;MACf,SAAS,SAAS,eAAe;EACrC;EACA,aAAa;;;;;;;;;;;;;;;;;;;cAmBD,8BAA8B;kBAC1B,UAAU;UAClB;;;;;;;;;;;;iBAYO,sBAAsB,OAAO,oBAAoB,iBAAiB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import "./types-RJMd2PlL-BTGAJrBQ.mjs";
|
|
2
|
-
import "./codecs-
|
|
2
|
+
import "./codecs-DzkRnjjE.mjs";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prisma/orm-target-sqlite",
|
|
3
|
-
"version": "8.0.0-rc.22-dev.
|
|
3
|
+
"version": "8.0.0-rc.22-dev.5",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -9,23 +9,27 @@
|
|
|
9
9
|
"dist"
|
|
10
10
|
],
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@prisma/orm-family-sql": "8.0.0-rc.22-dev.
|
|
13
|
-
"@prisma/orm-framework": "8.0.0-rc.22-dev.
|
|
14
|
-
"@prisma/orm-toolchain": "8.0.0-rc.22-dev.
|
|
12
|
+
"@prisma/orm-family-sql": "8.0.0-rc.22-dev.5",
|
|
13
|
+
"@prisma/orm-framework": "8.0.0-rc.22-dev.5",
|
|
14
|
+
"@prisma/orm-toolchain": "8.0.0-rc.22-dev.5",
|
|
15
15
|
"@standard-schema/spec": "1.1.0",
|
|
16
16
|
"arktype": "^2.2.2",
|
|
17
|
-
"pathe": "^2.0.3"
|
|
17
|
+
"pathe": "^2.0.3",
|
|
18
|
+
"temporal-spec": "1.0.1"
|
|
18
19
|
},
|
|
19
20
|
"devDependencies": {
|
|
20
|
-
"@internal/adapter-sqlite": "8.0.0-rc.22-dev.
|
|
21
|
-
"@internal/driver-sqlite": "8.0.0-rc.22-dev.
|
|
22
|
-
"@internal/target-sqlite": "8.0.0-rc.22-dev.
|
|
23
|
-
"@repo/
|
|
24
|
-
"@repo/
|
|
21
|
+
"@internal/adapter-sqlite": "8.0.0-rc.22-dev.5",
|
|
22
|
+
"@internal/driver-sqlite": "8.0.0-rc.22-dev.5",
|
|
23
|
+
"@internal/target-sqlite": "8.0.0-rc.22-dev.5",
|
|
24
|
+
"@repo/test-utils": "8.0.0-rc.22-dev.5",
|
|
25
|
+
"@repo/tsconfig": "8.0.0-rc.22-dev.5",
|
|
26
|
+
"@repo/tsdown": "8.0.0-rc.22-dev.5",
|
|
25
27
|
"tsdown": "0.22.14",
|
|
26
|
-
"typescript": "5.9.3"
|
|
28
|
+
"typescript": "5.9.3",
|
|
29
|
+
"vitest": "5.0.0-rc.2"
|
|
27
30
|
},
|
|
28
31
|
"peerDependencies": {
|
|
32
|
+
"temporal-polyfill": "^1.0.4",
|
|
29
33
|
"typescript": ">=5.9"
|
|
30
34
|
},
|
|
31
35
|
"peerDependenciesMeta": {
|
|
@@ -66,6 +70,7 @@
|
|
|
66
70
|
"./target/render-ops": "./dist/target__render-ops.mjs",
|
|
67
71
|
"./target/runtime": "./dist/target__runtime.mjs",
|
|
68
72
|
"./target/sql-utils": "./dist/target__sql-utils.mjs",
|
|
73
|
+
"./target/types": "./dist/target__types.mjs",
|
|
69
74
|
"./package.json": "./package.json"
|
|
70
75
|
},
|
|
71
76
|
"repository": {
|
|
@@ -76,6 +81,7 @@
|
|
|
76
81
|
"scripts": {
|
|
77
82
|
"build": "tsdown",
|
|
78
83
|
"lint": "biome check . --error-on-warnings",
|
|
79
|
-
"clean": "rm -rf dist src-gen"
|
|
84
|
+
"clean": "rm -rf dist src-gen",
|
|
85
|
+
"test": "vitest run"
|
|
80
86
|
}
|
|
81
87
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-Cff01Cgi-C19Fhc2M.mjs","names":["#codecs"],"sources":["../../../../3-targets/sqlite/2-adapter/dist/adapter-Cff01Cgi.mjs"],"sourcesContent":["import { APP_SPACE_ID } from \"@internal/framework-components/control\";\nimport { RawExpr, collectOrderedParamRefs, encodeLiteralDefault, isDdlNode, renderOpaqueSql } from \"@internal/sql-relational-core/ast\";\nimport { SQLITE_NOW_EXPRESSION, createSqliteCodecRegistryWithBuiltins, jsonDocumentRetag, sqliteCodecRegistry } from \"@internal/target-sqlite/codecs\";\nimport { sqliteDataTypes } from \"@internal/target-sqlite/data-types\";\nimport { escapeLiteral, quoteIdentifier } from \"@internal/target-sqlite/sql-utils\";\nimport { InternalError, assertNever } from \"@internal/utils/internal-error\";\nimport { structuredError } from \"@internal/utils/structured-error\";\nimport { parseMarkerRowSafely, withMarkerReadErrorHandling } from \"@internal/errors/execution\";\nimport { checkSqlDefaultText, contractColumns, readColumnDefault } from \"@internal/family-sql/control\";\nimport { resolveIntrospectedColumnType } from \"@internal/family-sql/control-adapter\";\nimport { parseContractMarkerRow } from \"@internal/family-sql/verify\";\nimport { codecForRef } from \"@internal/framework-components/codec\";\nimport { REFERENTIAL_ACTION_SQL } from \"@internal/sql-contract/referential-action-sql\";\nimport { RelationalSchemaNodeKind, SqlSchemaIR, SqlTableIR } from \"@internal/sql-schema-ir/types\";\nimport { buildControlTableBootstrapQueries, buildSignMarkerBootstrapQueries, datetime, integer, jsonText, sqliteTable, text } from \"@internal/target-sqlite/contract-free\";\nimport { readSqliteDefault } from \"@internal/target-sqlite/default-normalizer\";\nimport { blindCast } from \"@internal/utils/casts\";\nimport { ifDefined } from \"@internal/utils/defined\";\nimport { createAstCodecRegistry, deriveParamMetadata, encodeParamsWithMetadata } from \"@internal/sql-runtime\";\nimport { SQLITE_DATETIME_CODEC_ID } from \"@internal/target-sqlite/codec-ids\";\n//#region ../../../1-framework/3-tooling/migration/dist/exports/ledger-origin.mjs\nfunction ledgerOriginFromStored(originCoreHash) {\n\tif (originCoreHash === null || originCoreHash === \"\" || originCoreHash === \"empty\") return null;\n\treturn originCoreHash;\n}\n//#endregion\n//#region src/core/control-codecs.ts\nconst CONTROL_CODECS = createAstCodecRegistry(sqliteCodecRegistry);\nasync function encodeControlQueryParams(lowered, ast, codecs = CONTROL_CODECS) {\n\treturn encodeParamsWithMetadata(lowered.params.map((slot) => {\n\t\tif (slot.kind === \"literal\") return slot.value;\n\t\tthrow new InternalError(`control query lowered to a bind slot '${slot.name}', which is unsupported`);\n\t}), deriveParamMetadata(ast), {}, codecs);\n}\n//#endregion\n//#region src/core/ledger-decode.ts\nconst DESIGNATOR_LESS_UTC_DATETIME = /^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}(\\.\\d+)?$/;\nfunction coerceLedgerAppliedAt(value) {\n\tif (value instanceof Date) return value;\n\tif (DESIGNATOR_LESS_UTC_DATETIME.test(value)) return /* @__PURE__ */ new Date(`${value.replace(\" \", \"T\")}Z`);\n\treturn new Date(value);\n}\nfunction operationCountFromStored(operations) {\n\tif (Array.isArray(operations)) return operations.length;\n\tif (typeof operations === \"string\") try {\n\t\tconst parsed = JSON.parse(operations);\n\t\treturn Array.isArray(parsed) ? parsed.length : 0;\n\t} catch {\n\t\treturn 0;\n\t}\n\treturn 0;\n}\n//#endregion\n//#region src/core/marker-ledger.ts\nconst marker = sqliteTable(\"_prisma_marker\", {\n\tspace: text(),\n\tcore_hash: text(),\n\tprofile_hash: text(),\n\tcontract_json: jsonText({ nullable: true }),\n\tcanonical_version: integer({ nullable: true }),\n\tupdated_at: datetime(),\n\tapp_tag: text({ nullable: true }),\n\tmeta: jsonText({ nullable: true }),\n\tinvariants: jsonText()\n});\n/**\n* Writeable subset of `_prisma_ledger`. Omits the DB-generated `id`\n* (`INTEGER PRIMARY KEY AUTOINCREMENT`) and `created_at` (default\n* `strftime(...)`).\n*/\nconst ledger = sqliteTable(\"_prisma_ledger\", {\n\tspace: text(),\n\tmigration_name: text(),\n\tmigration_hash: text(),\n\torigin_core_hash: text({ nullable: true }),\n\tdestination_core_hash: text(),\n\toperations: jsonText()\n});\n/**\n* Read-side handle covering every column of `_prisma_ledger`, including\n* the DB-generated `id` (for ORDER BY) and `created_at`.\n*/\nconst ledgerReadShape = sqliteTable(\"_prisma_ledger\", {\n\tid: integer(),\n\tspace: text(),\n\tmigration_name: text(),\n\tmigration_hash: text(),\n\torigin_core_hash: text({ nullable: true }),\n\tdestination_core_hash: text(),\n\toperations: jsonText(),\n\tcreated_at: text()\n});\nconst sqliteCatalog = sqliteTable(\"sqlite_master\", {\n\ttype: text(),\n\tname: text()\n});\nconst NOW = new RawExpr({\n\tparts: [SQLITE_NOW_EXPRESSION],\n\treturns: {\n\t\tcodecId: SQLITE_DATETIME_CODEC_ID,\n\t\tnullable: false\n\t}\n});\nfunction mergeInvariants(current, incoming) {\n\treturn [.../* @__PURE__ */ new Set([...current, ...incoming])].sort();\n}\nasync function execute(lower, driver, query) {\n\tconst lowered = lower(query);\n\tconst encoded = await encodeControlQueryParams(lowered, query);\n\treturn (await driver.query(lowered.sql, encoded)).rows;\n}\nfunction decodeSqliteMarkerRow(row) {\n\tif (typeof row !== \"object\" || row === null || !(\"invariants\" in row)) return row;\n\tconst record = row;\n\tif (typeof record.invariants !== \"string\") return row;\n\tlet parsed;\n\ttry {\n\t\tparsed = JSON.parse(record.invariants);\n\t} catch (err) {\n\t\tconst detail = err instanceof Error ? err.message : String(err);\n\t\tthrow structuredError(\"CONTRACT.MARKER_ROW_CORRUPT\", `Invalid contract marker row: invariants is not valid JSON: ${detail}`, {\n\t\t\tmeta: { detail },\n\t\t\tcause: err\n\t\t});\n\t}\n\treturn {\n\t\t...record,\n\t\tinvariants: parsed\n\t};\n}\n//#endregion\n//#region src/core/control-adapter.ts\nconst SQLITE_MARKER_TABLE = \"_prisma_marker\";\nconst SQLITE_LEDGER_TABLE = \"_prisma_ledger\";\nvar SqliteControlAdapter = class {\n\tfamilyId = \"sql\";\n\ttargetId = \"sqlite\";\n\tmarkerLocation = SQLITE_MARKER_TABLE;\n\tcodecRegistry;\n\tdeclaredDataTypes;\n\t/** `declaredDataTypes` are the stack's data types in assembly order, which introspection resolves each column's reported type over. */\n\tconstructor(codecRegistry, declaredDataTypes) {\n\t\tthis.codecRegistry = codecRegistry;\n\t\tthis.declaredDataTypes = declaredDataTypes;\n\t}\n\tbootstrapControlTableQueries() {\n\t\treturn buildControlTableBootstrapQueries();\n\t}\n\tbootstrapSignMarkerQueries() {\n\t\treturn buildSignMarkerBootstrapQueries();\n\t}\n\t/**\n\t* Lower a SQL query AST into a SQLite-flavored `{ sql, params }` payload.\n\t*\n\t* Delegates to the shared `renderLoweredSql` renderer so the control adapter\n\t* emits byte-identical SQL to `SqliteAdapterImpl.lower()` for the same AST\n\t* and contract. Used at migration plan/emit time (e.g. by `dataTransform`)\n\t* without instantiating the runtime adapter.\n\t*/\n\tlower(ast, context) {\n\t\tif (isDdlNode(ast)) throw structuredError(\"RUNTIME.DDL_UNSUPPORTED\", \"lower() cannot lower DDL: DDL default literals require inline codec encoding, which is async. Use lowerToExecuteRequest().\", { meta: { surface: \"control-adapter\" } });\n\t\treturn renderLoweredSql(ast, blindCast(context.contract), this.codecRegistry);\n\t}\n\tasync renderColumnDefault(column, table) {\n\t\tif (column.default === void 0) return \"\";\n\t\treturn sqliteRenderDdlColumnDefault(column.default, this.codecRegistry, column.codecRef, {\n\t\t\ttable,\n\t\t\tcolumn: column.name\n\t\t});\n\t}\n\t/**\n\t* Lower an AST all the way to a driver-ready statement. For DDL nodes,\n\t* literal column defaults are formatted as inline SQL with SQLite-specific\n\t* literal syntax (no cast suffix, boolean as 0/1, blob via X'hex'). For\n\t* query ASTs, params are kept as numbered `?N` placeholders; wire values go in\n\t* `params`. Does NOT call `this.lower()` — independent implementation.\n\t*/\n\tasync lowerToExecuteRequest(ast, context) {\n\t\tif (isDdlNode(ast)) return sqliteRenderDdlExecuteRequest(blindCast(ast), this.codecRegistry);\n\t\tconst lowered = renderLoweredSql(ast, blindCast(context?.contract), this.codecRegistry);\n\t\tconst params = await encodeControlQueryParams(lowered, ast, blindCast(this.codecRegistry));\n\t\treturn {\n\t\t\tsql: lowered.sql,\n\t\t\tparams\n\t\t};\n\t}\n\t/**\n\t* Reads the contract marker from `_prisma_marker`. Probes `sqlite_master`\n\t* first so a fresh database (no marker table) returns `null` instead of a\n\t* \"no such table\" error.\n\t*/\n\tasync readMarker(driver, space) {\n\t\tconst result = await this.readMarkerDiscriminated(driver, space);\n\t\treturn result.kind === \"present\" ? result.record : null;\n\t}\n\tasync readMarkerDiscriminated(driver, space) {\n\t\treturn withMarkerReadErrorHandling(() => this.readMarkerResult(driver, space), {\n\t\t\tspace,\n\t\t\tmarkerLocation: SQLITE_MARKER_TABLE\n\t\t});\n\t}\n\t/**\n\t* Reads every row from `_prisma_marker` and returns them keyed by\n\t* `space`. Mirrors the existence probe in {@link readMarker}: a\n\t* fresh database without the marker table returns an empty map.\n\t*/\n\tasync readAllMarkers(driver) {\n\t\treturn withMarkerReadErrorHandling(() => this.readAllMarkersResult(driver), {\n\t\t\tspace: APP_SPACE_ID,\n\t\t\tmarkerLocation: SQLITE_MARKER_TABLE\n\t\t});\n\t}\n\tasync readAllMarkersResult(driver) {\n\t\tconst lower = (query) => this.lower(query, { contract: void 0 });\n\t\tif ((await execute(lower, driver, sqliteCatalog.select(sqliteCatalog.name).where(sqliteCatalog.type.eq(\"table\").and(sqliteCatalog.name.eq(\"_prisma_marker\"))).build())).length === 0) return /* @__PURE__ */ new Map();\n\t\tconst rows = blindCast(await execute(lower, driver, marker.select(marker.space, marker.core_hash, marker.profile_hash, marker.contract_json, marker.canonical_version, marker.updated_at, marker.app_tag, marker.meta, marker.invariants).build()));\n\t\tconst out = /* @__PURE__ */ new Map();\n\t\tfor (const row of rows) out.set(row.space, parseMarkerRowSafely(row, (raw) => parseContractMarkerRow(decodeSqliteMarkerRow(raw)), {\n\t\t\tspace: row.space,\n\t\t\tmarkerLocation: SQLITE_MARKER_TABLE\n\t\t}));\n\t\treturn out;\n\t}\n\t/**\n\t* Reads per-migration ledger rows from `_prisma_ledger` in apply order.\n\t* Probes `sqlite_master` first so a fresh database without the ledger\n\t* table returns `[]` instead of raising \"no such table\".\n\t*/\n\tasync readLedger(driver, space) {\n\t\treturn withMarkerReadErrorHandling(() => this.readLedgerResult(driver, space), {\n\t\t\tspace: space ?? \"*\",\n\t\t\tmarkerLocation: SQLITE_LEDGER_TABLE\n\t\t});\n\t}\n\tasync readLedgerResult(driver, space) {\n\t\tconst lower = (query) => this.lower(query, { contract: void 0 });\n\t\tif ((await execute(lower, driver, sqliteCatalog.select(sqliteCatalog.name).where(sqliteCatalog.type.eq(\"table\").and(sqliteCatalog.name.eq(\"_prisma_ledger\"))).build())).length === 0) return [];\n\t\tconst base = ledgerReadShape.select(ledgerReadShape.space, ledgerReadShape.migration_name, ledgerReadShape.migration_hash, ledgerReadShape.origin_core_hash, ledgerReadShape.destination_core_hash, ledgerReadShape.operations, ledgerReadShape.created_at);\n\t\treturn blindCast(await execute(lower, driver, (space !== void 0 ? base.where(ledgerReadShape.space.eq(space)) : base).orderBy(ledgerReadShape.id).build())).map((row) => ({\n\t\t\tspace: row.space,\n\t\t\tmigrationName: row.migration_name,\n\t\t\tmigrationHash: row.migration_hash,\n\t\t\tfrom: ledgerOriginFromStored(row.origin_core_hash),\n\t\t\tto: row.destination_core_hash,\n\t\t\tappliedAt: coerceLedgerAppliedAt(row.created_at),\n\t\t\toperationCount: operationCountFromStored(row.operations)\n\t\t}));\n\t}\n\t/**\n\t* Stamps the initial marker row for `space` via the shared contract-free DML\n\t* builder, lowered through {@link lower} and executed on the driver. See the\n\t* `SqlControlAdapter.initMarker` contract.\n\t*/\n\tasync insertMarker(driver, space, destination) {\n\t\tawait execute((query) => this.lower(query, { contract: void 0 }), driver, marker.insert({\n\t\t\tspace,\n\t\t\tcore_hash: destination.storageHash,\n\t\t\tprofile_hash: destination.profileHash,\n\t\t\tcontract_json: null,\n\t\t\tcanonical_version: null,\n\t\t\tupdated_at: NOW,\n\t\t\tapp_tag: null,\n\t\t\tmeta: {},\n\t\t\tinvariants: destination.invariants ?? []\n\t\t}).build());\n\t}\n\tasync initMarker(driver, space, destination) {\n\t\tawait execute((query) => this.lower(query, { contract: void 0 }), driver, marker.upsert({\n\t\t\tspace,\n\t\t\tcore_hash: destination.storageHash,\n\t\t\tprofile_hash: destination.profileHash,\n\t\t\tcontract_json: null,\n\t\t\tcanonical_version: null,\n\t\t\tupdated_at: NOW,\n\t\t\tapp_tag: null,\n\t\t\tmeta: {},\n\t\t\tinvariants: destination.invariants ?? []\n\t\t}).onConflict(marker.space).doUpdate((excluded) => ({\n\t\t\tcore_hash: excluded.core_hash,\n\t\t\tprofile_hash: excluded.profile_hash,\n\t\t\tcontract_json: excluded.contract_json,\n\t\t\tcanonical_version: excluded.canonical_version,\n\t\t\tupdated_at: NOW,\n\t\t\tapp_tag: excluded.app_tag,\n\t\t\tmeta: excluded.meta,\n\t\t\tinvariants: excluded.invariants\n\t\t})).build());\n\t}\n\t/**\n\t* Compare-and-swap advance of the marker row for `space`. See the\n\t* `SqlControlAdapter.updateMarker` contract.\n\t*/\n\tasync updateMarker(driver, space, expectedFrom, destination) {\n\t\tconst currentInvariants = destination.invariants === void 0 ? [] : (await this.readMarker(driver, space))?.invariants ?? [];\n\t\tconst mergedInvariants = destination.invariants === void 0 ? void 0 : mergeInvariants(currentInvariants, destination.invariants);\n\t\treturn (await execute((q) => this.lower(q, { contract: void 0 }), driver, marker.update().set({\n\t\t\tcore_hash: destination.storageHash,\n\t\t\tprofile_hash: destination.profileHash,\n\t\t\tupdated_at: NOW,\n\t\t\t...mergedInvariants !== void 0 ? { invariants: mergedInvariants } : {}\n\t\t}).where(marker.space.eq(space).and(marker.core_hash.eq(expectedFrom))).returning(marker.space).build())).length > 0;\n\t}\n\tasync withTransaction(driver, fn) {\n\t\tawait driver.query(\"BEGIN IMMEDIATE\");\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = await fn();\n\t\t} catch (error) {\n\t\t\ttry {\n\t\t\t\tawait driver.query(\"ROLLBACK\");\n\t\t\t} catch (rollbackError) {\n\t\t\t\tif (error instanceof Error && error.cause === void 0) error.cause = rollbackError;\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\t\tawait driver.query(\"COMMIT\");\n\t\treturn result;\n\t}\n\tasync lockMarker(_driver) {}\n\t/**\n\t* Appends a ledger entry for `space`. See the `SqlControlAdapter.writeLedgerEntry` contract.\n\t*/\n\tasync writeLedgerEntry(driver, space, entry) {\n\t\tawait execute((query) => this.lower(query, { contract: void 0 }), driver, ledger.insert({\n\t\t\tspace,\n\t\t\tmigration_name: entry.migrationName,\n\t\t\tmigration_hash: entry.migrationHash,\n\t\t\torigin_core_hash: entry.from,\n\t\t\tdestination_core_hash: entry.to,\n\t\t\toperations: entry.operations\n\t\t}).build());\n\t}\n\tasync readMarkerResult(driver, space) {\n\t\tconst lower = (query) => this.lower(query, { contract: void 0 });\n\t\tif ((await execute(lower, driver, sqliteCatalog.select(sqliteCatalog.name).where(sqliteCatalog.type.eq(\"table\").and(sqliteCatalog.name.eq(\"_prisma_marker\"))).build())).length === 0) return { kind: \"no-table\" };\n\t\tconst row = (await execute(lower, driver, marker.select(marker.core_hash, marker.profile_hash, marker.contract_json, marker.canonical_version, marker.updated_at, marker.app_tag, marker.meta, marker.invariants).where(marker.space.eq(space)).build()))[0];\n\t\tif (!row) return { kind: \"absent\" };\n\t\treturn {\n\t\t\tkind: \"present\",\n\t\t\trecord: parseContractMarkerRow(decodeSqliteMarkerRow(row))\n\t\t};\n\t}\n\t/**\n\t* Reads a column's reported default: a function or SQL NULL as itself, and a literal with the column's codec, when the contract declares the column. A literal of a column the contract does not declare keeps only its raw text. When the contract's default is an expression that writes a literal, the codec reads that literal too, for the diff to compare the two values.\n\t*/\n\tasync readReportedDefault(rawDefault, declaredType, column) {\n\t\tconst reported = readSqliteDefault(rawDefault, declaredType);\n\t\tif (reported.kind === \"function\") return { resolvedDefault: reported };\n\t\tif (reported.kind === \"null\") return { resolvedDefault: {\n\t\t\tkind: \"literal\",\n\t\t\tvalue: null\n\t\t} };\n\t\tconst codec = column === void 0 ? void 0 : codecForRef(this.codecRegistry, column.codecRef);\n\t\tif (codec === void 0) return {};\n\t\tconst expression = column?.defaultExpression;\n\t\tconst written = expression === void 0 ? void 0 : readSqliteDefault(expression, declaredType);\n\t\treturn readColumnDefault(codec, {\n\t\t\tliteral: reported.literal,\n\t\t\traw: rawDefault\n\t\t}, expression !== void 0 && written?.kind === \"literal\" ? {\n\t\t\tliteral: written.literal,\n\t\t\texpression\n\t\t} : void 0);\n\t}\n\tasync introspect(driver, contract) {\n\t\tconst contractColumnsOf = contractColumns(contract);\n\t\tconst tablesResult = await driver.query(`SELECT name, sql FROM sqlite_master\n WHERE type = 'table'\n AND name NOT LIKE 'sqlite_%'\n AND name NOT IN ('_prisma_marker', '_prisma_ledger')\n ORDER BY name`);\n\t\tconst tables = {};\n\t\tfor (const tableRow of tablesResult.rows) {\n\t\t\tconst tableName = tableRow.name;\n\t\t\tconst columnsResult = await driver.query(`PRAGMA table_info(${quoteIdentifier(tableName)})`);\n\t\t\tconst fkResult = await driver.query(`PRAGMA foreign_key_list(${quoteIdentifier(tableName)})`);\n\t\t\tconst indexListResult = await driver.query(`PRAGMA index_list(${quoteIdentifier(tableName)})`);\n\t\t\tconst columns = {};\n\t\t\tconst pkColumns = [];\n\t\t\tconst autoincrementColumn = autoincrementColumnOf(tableRow.sql, columnsResult.rows);\n\t\t\tfor (const col of columnsResult.rows) {\n\t\t\t\tconst rawDefault = col.dflt_value ?? void 0;\n\t\t\t\tconst readDefault = col.name === autoincrementColumn ? { resolvedDefault: AUTOINCREMENT_DEFAULT } : rawDefault === void 0 ? {} : await this.readReportedDefault(rawDefault, col.type, contractColumnsOf.columnOf(void 0, tableName, col.name));\n\t\t\t\tconst reportedType = {\n\t\t\t\t\ttext: col.type,\n\t\t\t\t\tkind: void 0,\n\t\t\t\t\tschema: void 0,\n\t\t\t\t\tname: void 0\n\t\t\t\t};\n\t\t\t\tcolumns[col.name] = {\n\t\t\t\t\tname: col.name,\n\t\t\t\t\ttypeText: col.type.toLowerCase(),\n\t\t\t\t\tnullable: col.notnull === 0 && col.pk === 0,\n\t\t\t\t\t...ifDefined(\"default\", rawDefault),\n\t\t\t\t\t...readDefault,\n\t\t\t\t\treportedType,\n\t\t\t\t\t...resolveIntrospectedColumnType(reportedType, this.declaredDataTypes)\n\t\t\t\t};\n\t\t\t\tif (col.pk > 0) pkColumns.push({\n\t\t\t\t\tname: col.name,\n\t\t\t\t\tpk: col.pk\n\t\t\t\t});\n\t\t\t}\n\t\t\tpkColumns.sort((a, b) => a.pk - b.pk);\n\t\t\tconst primaryKey = pkColumns.length > 0 ? {\n\t\t\t\tcolumns: pkColumns.map((c) => c.name),\n\t\t\t\tdependsOn: flatColumnDependsOn(tableName, pkColumns.map((c) => c.name))\n\t\t\t} : void 0;\n\t\t\tconst fkMap = /* @__PURE__ */ new Map();\n\t\t\tfor (const fk of fkResult.rows) {\n\t\t\t\tconst existing = fkMap.get(fk.id);\n\t\t\t\tif (existing) {\n\t\t\t\t\texisting.columns.push(fk.from);\n\t\t\t\t\texisting.referencedColumns.push(fk.to);\n\t\t\t\t} else fkMap.set(fk.id, {\n\t\t\t\t\tcolumns: [fk.from],\n\t\t\t\t\treferencedTable: fk.table,\n\t\t\t\t\treferencedColumns: [fk.to],\n\t\t\t\t\tonDelete: fk.on_delete,\n\t\t\t\t\tonUpdate: fk.on_update\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst foreignKeys = Array.from(fkMap.values()).map((fk) => ({\n\t\t\t\tcolumns: Object.freeze([...fk.columns]),\n\t\t\t\treferencedTable: fk.referencedTable,\n\t\t\t\treferencedColumns: Object.freeze([...fk.referencedColumns]),\n\t\t\t\t...ifDefined(\"onDelete\", mapSqliteReferentialAction(fk.onDelete)),\n\t\t\t\t...ifDefined(\"onUpdate\", mapSqliteReferentialAction(fk.onUpdate)),\n\t\t\t\tdependsOn: [flatTableDependsOn(fk.referencedTable), ...flatColumnDependsOn(tableName, fk.columns)]\n\t\t\t}));\n\t\t\tconst uniques = [];\n\t\t\tconst indexes = [];\n\t\t\tfor (const idx of indexListResult.rows) {\n\t\t\t\tconst idxColumns = (await driver.query(`PRAGMA index_info(${quoteIdentifier(idx.name)})`)).rows.sort((a, b) => a.seqno - b.seqno).map((r) => r.name);\n\t\t\t\tif (idx.origin === \"u\") uniques.push({\n\t\t\t\t\tcolumns: Object.freeze([...idxColumns]),\n\t\t\t\t\tname: idx.name,\n\t\t\t\t\tdependsOn: flatColumnDependsOn(tableName, idxColumns)\n\t\t\t\t});\n\t\t\t\telse if (idx.origin === \"c\") indexes.push({\n\t\t\t\t\tnaming: {\n\t\t\t\t\t\tkind: \"exact\",\n\t\t\t\t\t\tname: idx.name\n\t\t\t\t\t},\n\t\t\t\t\tcolumns: Object.freeze([...idxColumns]),\n\t\t\t\t\twhere: void 0,\n\t\t\t\t\tunique: idx.unique === 1,\n\t\t\t\t\tpartial: idx.partial === 1,\n\t\t\t\t\ttype: void 0,\n\t\t\t\t\toptions: void 0,\n\t\t\t\t\tannotations: void 0,\n\t\t\t\t\tdependsOn: flatColumnDependsOn(tableName, idxColumns)\n\t\t\t\t});\n\t\t\t}\n\t\t\ttables[tableName] = new SqlTableIR({\n\t\t\t\tname: tableName,\n\t\t\t\tcolumns,\n\t\t\t\t...ifDefined(\"primaryKey\", primaryKey),\n\t\t\t\tforeignKeys,\n\t\t\t\tuniques,\n\t\t\t\tindexes\n\t\t\t});\n\t\t}\n\t\treturn new SqlSchemaIR({ tables });\n\t}\n};\nconst SQLITE_REFERENTIAL_ACTION_MAP = {\n\t\"NO ACTION\": \"noAction\",\n\tRESTRICT: \"restrict\",\n\tCASCADE: \"cascade\",\n\t\"SET NULL\": \"setNull\",\n\t\"SET DEFAULT\": \"setDefault\"\n};\nfunction mapSqliteReferentialAction(rule) {\n\tconst normalized = rule.toUpperCase();\n\tconst mapped = SQLITE_REFERENTIAL_ACTION_MAP[normalized];\n\tif (mapped === void 0) throw structuredError(\"CONTRACT.INTROSPECTION_UNSUPPORTED\", `Unknown SQLite referential action rule: \"${rule}\". Expected one of: NO ACTION, RESTRICT, CASCADE, SET NULL, SET DEFAULT.`, { meta: { rule } });\n\tif (mapped === \"noAction\") return void 0;\n\treturn mapped;\n}\n/**\n* The referenced table's chain in the flat (single-schema) tree this\n* introspection builds: the root (`SqlSchemaIR`, fixed `'database'` id)\n* followed by the table's own id. Mirrors the expected-side derivation\n* (`contractToSchemaIR`'s `convertForeignKey`).\n*/\nfunction flatTableDependsOn(tableName) {\n\treturn [{\n\t\tnodeKind: RelationalSchemaNodeKind.schema,\n\t\tid: \"database\"\n\t}, {\n\t\tnodeKind: RelationalSchemaNodeKind.table,\n\t\tid: tableName\n\t}];\n}\n/**\n* The chains from a table-child object (foreign key, index, unique, primary\n* key) to each of the own columns it is built on — the introspection-side\n* mirror of `contractToSchemaIR`'s `flatColumnDependsOn`. An object is dropped\n* before the columns it covers.\n*/\nfunction flatColumnDependsOn(tableName, columns) {\n\treturn columns.map((column) => [...flatTableDependsOn(tableName), {\n\t\tnodeKind: RelationalSchemaNodeKind.column,\n\t\tid: `column:${column}`\n\t}]);\n}\nfunction sqliteInlineLiteral(wire, where) {\n\tif (wire === null) return \"NULL\";\n\tif (typeof wire === \"boolean\") return wire ? \"1\" : \"0\";\n\tif (typeof wire === \"number\") {\n\t\tif (Number.isNaN(wire)) throw structuredError(\"CONTRACT.DEFAULT_INVALID\", `Column \"${where.table}\".\"${where.column}\" has a NaN default, which SQLite stores as NULL`, { meta: {\n\t\t\ttable: where.table,\n\t\t\tcolumn: where.column,\n\t\t\tvalue: \"NaN\",\n\t\t\treason: \"nan-default\"\n\t\t} });\n\t\tif (!Number.isFinite(wire)) return wire > 0 ? \"9e999\" : \"-9e999\";\n\t\treturn String(wire);\n\t}\n\tif (typeof wire === \"bigint\") return String(wire);\n\tif (wire instanceof Date) {\n\t\tif (Number.isNaN(wire.getTime())) throw structuredError(\"CONTRACT.DEFAULT_INVALID\", `Column \"${where.table}\".\"${where.column}\" has an invalid Date default`, { meta: {\n\t\t\ttable: where.table,\n\t\t\tcolumn: where.column,\n\t\t\treason: \"invalid-date-default\"\n\t\t} });\n\t\treturn `'${escapeLiteral(wire.toISOString())}'`;\n\t}\n\tif (typeof wire === \"string\") return `'${escapeLiteral(wire)}'`;\n\tif (wire instanceof Uint8Array) return `X'${Array.from(wire).map((b) => b.toString(16).padStart(2, \"0\")).join(\"\")}'`;\n\tif (typeof wire === \"object\") return `'${escapeLiteral(JSON.stringify(wire))}'`;\n\tthrow structuredError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `sqliteRenderDdlExecuteRequest: unexpected wire type \"${typeof wire}\"`, { meta: { wireType: typeof wire } });\n}\nconst AUTOINCREMENT_DEFAULT = {\n\tkind: \"function\",\n\texpression: \"autoincrement()\"\n};\n/** `CREATE TABLE` text with its string literals, quoted identifiers and comments removed. */\nfunction createTableKeywords(createSql) {\n\treturn createSql.replace(/'(?:[^']|'')*'|\"(?:[^\"]|\"\")*\"|`(?:[^`]|``)*`|\\[[^\\]]*\\]|--[^\\n]*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/g, \" \");\n}\n/**\n* The column SQLite numbers with `AUTOINCREMENT`, which it keeps only in the table's `CREATE TABLE`\n* text. SQLite accepts the keyword only on a table's sole `INTEGER PRIMARY KEY` column.\n* See https://www.sqlite.org/autoinc.html.\n*/\nfunction autoincrementColumnOf(createSql, columns) {\n\tif (!createSql || !/\\bAUTOINCREMENT\\b/i.test(createTableKeywords(createSql))) return;\n\tconst primaryKey = columns.filter((column) => column.pk > 0);\n\tconst [column] = primaryKey;\n\treturn primaryKey.length === 1 && column?.type.toUpperCase() === \"INTEGER\" ? column.name : void 0;\n}\nasync function sqliteRenderDdlColumnDefault(def, codecLookup, codecRef, where) {\n\tif (def.kind === \"function\") {\n\t\tif (def.expression.text === \"autoincrement()\") return \"\";\n\t\tif (def.expression.text === \"now()\") return `DEFAULT (${SQLITE_NOW_EXPRESSION})`;\n\t\tif (checkSqlDefaultText(def.expression.text) !== void 0) throw structuredError(\"CONTRACT.DEFAULT_INVALID\", `Unsafe default expression in contract: \"${def.expression.text}\". Default expressions must not contain semicolons, SQL comment tokens, dollar-quoting, or subqueries.`, { meta: { expression: def.expression.text } });\n\t\treturn `DEFAULT (${renderOpaqueSql(def.expression)})`;\n\t}\n\tconst encoded = codecRef === void 0 ? void 0 : await encodeLiteralDefault(codecLookup, codecRef, def.value, where);\n\tif (encoded?.kind === \"sql-null\") return \"DEFAULT NULL\";\n\tif (encoded !== void 0) return `DEFAULT ${sqliteInlineLiteral(encoded.wire, where)}`;\n\treturn `DEFAULT ${sqliteInlineLiteral(def.value, where)}`;\n}\nasync function sqliteRenderDdlColumn(column, codecLookup, table) {\n\tif (column.type.includes(\"AUTOINCREMENT\")) return `${quoteIdentifier(column.name)} ${column.type}`;\n\tconst parts = [quoteIdentifier(column.name), column.type];\n\tif (column.notNull) parts.push(\"NOT NULL\");\n\tif (column.primaryKey) parts.push(\"PRIMARY KEY\");\n\tif (column.default) {\n\t\tconst clause = await sqliteRenderDdlColumnDefault(column.default, codecLookup, column.codecRef, {\n\t\t\ttable,\n\t\t\tcolumn: column.name\n\t\t});\n\t\tif (clause.length > 0) parts.push(clause);\n\t}\n\treturn parts.join(\" \");\n}\nfunction sqliteRenderDdlConstraint(constraint) {\n\tif (constraint.kind === \"primary-key\") {\n\t\tconst cols = constraint.columns.map(quoteIdentifier).join(\", \");\n\t\tif (constraint.name !== void 0) return `CONSTRAINT ${quoteIdentifier(constraint.name)} PRIMARY KEY (${cols})`;\n\t\treturn `PRIMARY KEY (${cols})`;\n\t}\n\tif (constraint.kind === \"foreign-key\") {\n\t\tlet sql = `FOREIGN KEY (${constraint.columns.map(quoteIdentifier).join(\", \")}) REFERENCES ${constraint.refTable.split(\".\").map(quoteIdentifier).join(\".\")} (${constraint.refColumns.map(quoteIdentifier).join(\", \")})`;\n\t\tif (constraint.onDelete !== void 0) sql += ` ON DELETE ${REFERENTIAL_ACTION_SQL[constraint.onDelete]}`;\n\t\tif (constraint.onUpdate !== void 0) sql += ` ON UPDATE ${REFERENTIAL_ACTION_SQL[constraint.onUpdate]}`;\n\t\tif (constraint.name !== void 0) sql = `CONSTRAINT ${quoteIdentifier(constraint.name)} ${sql}`;\n\t\treturn sql;\n\t}\n\tif (constraint.kind === \"check-expression\") throw structuredError(\"CONTRACT.CONSTRAINT_INVALID\", `The SQLite target does not support CHECK constraints (constraint \"${constraint.name}\"). The \"checkConstraint\" capability is Postgres-only — remove the \"@@check\" / \"check()\" declaration, or target Postgres.`, { meta: { constraintName: constraint.name } });\n\tconst cols = constraint.columns.map(quoteIdentifier).join(\", \");\n\tif (constraint.name !== void 0) return `CONSTRAINT ${quoteIdentifier(constraint.name)} UNIQUE (${cols})`;\n\treturn `UNIQUE (${cols})`;\n}\nasync function sqliteRenderDdlExecuteRequest(ast, codecLookup) {\n\tconst node = blindCast(ast);\n\tconst ifNotExists = node.ifNotExists ? \"IF NOT EXISTS \" : \"\";\n\tconst tableRef = quoteIdentifier(node.table);\n\tconst columnDefs = await Promise.all(node.columns.map((col) => sqliteRenderDdlColumn(col, codecLookup, node.table)));\n\tconst constraintDefs = node.constraints !== void 0 ? node.constraints.map(sqliteRenderDdlConstraint) : [];\n\treturn {\n\t\tsql: `CREATE TABLE ${ifNotExists}${tableRef} (\\n ${[...columnDefs, ...constraintDefs].join(\",\\n \")}\\n)`,\n\t\tparams: []\n\t};\n}\n//#endregion\n//#region src/core/placeholders.ts\nconst QUOTE_CLOSERS = {\n\t\"'\": \"'\",\n\t\"\\\"\": \"\\\"\",\n\t\"`\": \"`\",\n\t\"[\": \"]\"\n};\nfunction skipQuoted(sql, start, closer) {\n\tlet index = start + 1;\n\twhile (index < sql.length) {\n\t\tif (sql[index] === closer) {\n\t\t\tif (closer !== \"]\" && sql[index + 1] === closer) {\n\t\t\t\tindex += 2;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\treturn index + 1;\n\t\t}\n\t\tindex += 1;\n\t}\n\treturn index;\n}\nfunction skipUntil(sql, start, terminator) {\n\tconst end = sql.indexOf(terminator, start);\n\treturn end === -1 ? sql.length : end + terminator.length;\n}\nfunction isDigit(char) {\n\treturn char !== void 0 && char >= \"0\" && char <= \"9\";\n}\n/** The `?` placeholders in SQLite SQL text, in the order written, skipping quoted text, quoted identifiers and comments. */\nfunction scanPlaceholders(sql) {\n\tconst placeholders = [];\n\tlet index = 0;\n\twhile (index < sql.length) {\n\t\tconst char = sql[index] ?? \"\";\n\t\tconst closer = QUOTE_CLOSERS[char];\n\t\tif (closer !== void 0) index = skipQuoted(sql, index, closer);\n\t\telse if (sql.startsWith(\"--\", index)) index = skipUntil(sql, index + 2, \"\\n\");\n\t\telse if (sql.startsWith(\"/*\", index)) index = skipUntil(sql, index + 2, \"*/\");\n\t\telse if (char === \"?\") {\n\t\t\tlet end = index + 1;\n\t\t\twhile (isDigit(sql[end])) end += 1;\n\t\t\tplaceholders.push(sql.slice(index, end));\n\t\t\tindex = end;\n\t\t} else index += 1;\n\t}\n\treturn placeholders;\n}\nconst NUMBERED_PLACEHOLDER = /^\\?([1-9]\\d*)$/;\nfunction placeholdersMatchParams(placeholders, paramCount) {\n\tconst numbers = placeholders.map((placeholder) => Number(NUMBERED_PLACEHOLDER.exec(placeholder)?.[1] ?? NaN));\n\treturn numbers.every((number) => number >= 1 && number <= paramCount) && new Set(numbers).size === paramCount;\n}\nconst REPORTED_PLACEHOLDERS = 5;\nfunction plural(count, noun) {\n\treturn `${count} ${noun}${count === 1 ? \"\" : \"s\"}`;\n}\nfunction assertPlaceholdersMatchParams(sql, paramCount) {\n\tconst placeholders = scanPlaceholders(sql);\n\tif (placeholdersMatchParams(placeholders, paramCount)) return;\n\tconst firstPlaceholders = placeholders.slice(0, REPORTED_PLACEHOLDERS);\n\tconst starting = firstPlaceholders.length > 0 ? `, starting ${firstPlaceholders.join(\", \")}` : \"\";\n\tthrow structuredError(\"RUNTIME.PARAM_PLACEHOLDER_MISMATCH\", `The lowered SQLite statement writes ${plural(placeholders.length, \"placeholder\")} for ${plural(paramCount, \"parameter\")}${starting}; each parameter must be written as its own numbered placeholder, and no other placeholder may appear.`, {\n\t\twhy: \"A placeholder that does not match a parameter binds a value to the wrong place in the statement, or leaves a value unbound.\",\n\t\tfix: \"Pass values into raw SQL through interpolation rather than writing a `?` in the SQL text.\",\n\t\tmeta: {\n\t\t\tplaceholderCount: placeholders.length,\n\t\t\tparamCount,\n\t\t\tfirstPlaceholders\n\t\t}\n\t});\n}\n//#endregion\n//#region src/core/adapter.ts\nfunction nodeKind(value) {\n\tif (typeof value === \"object\" && value !== null && \"kind\" in value && typeof value.kind === \"string\") return value.kind;\n\treturn \"unknown\";\n}\nfunction unreachableKind(value) {\n\treturn nodeKind(value);\n}\nconst defaultCapabilities = Object.freeze({ sql: {\n\torderBy: true,\n\tlimit: true,\n\tlateral: false,\n\tjsonAgg: true,\n\treturning: true,\n\tenums: false,\n\tinsertOnConflictSkip: true,\n\tinsertOnConflictWithoutTarget: true\n} });\nvar SqliteAdapterImpl = class {\n\tfamilyId = \"sql\";\n\ttargetId = \"sqlite\";\n\tprofile;\n\t#codecs;\n\tconstructor(codecRegistry, declaredDataTypes, profileId) {\n\t\tthis.#codecs = codecRegistry;\n\t\tconst controlAdapter = new SqliteControlAdapter(codecRegistry, declaredDataTypes);\n\t\tthis.profile = Object.freeze({\n\t\t\tid: profileId ?? \"sqlite/default@1\",\n\t\t\ttarget: \"sqlite\",\n\t\t\tcapabilities: defaultCapabilities,\n\t\t\treadMarker: (queryable) => controlAdapter.readMarkerDiscriminated({\n\t\t\t\tfamilyId: \"sql\",\n\t\t\t\ttargetId: \"sqlite\",\n\t\t\t\tquery: async (sql, params) => {\n\t\t\t\t\tconst rows = [];\n\t\t\t\t\tfor await (const row of queryable.query({\n\t\t\t\t\t\tsql,\n\t\t\t\t\t\t...params === void 0 ? {} : { params }\n\t\t\t\t\t})) rows.push(row);\n\t\t\t\t\treturn { rows };\n\t\t\t\t},\n\t\t\t\tclose: async () => {}\n\t\t\t}, APP_SPACE_ID)\n\t\t});\n\t}\n\tlower(ast, context) {\n\t\tif (isDdlNode(ast)) throw structuredError(\"RUNTIME.DDL_UNSUPPORTED\", \"lower() does not lower DDL on the runtime adapter — DDL lowering is a control-plane concern handled by the control adapter.\", { meta: { surface: \"runtime-adapter\" } });\n\t\treturn renderLoweredSql(ast, context.contract, this.#codecs);\n\t}\n};\n/** Codec-id lookup for bare-literal interpolations used by `fns.raw` on a sqlite client. Contributed as the descriptor's static `rawCodecInferer` slot. */\nconst sqliteRawCodecInferer = { inferCodec(value) {\n\tswitch (typeof value) {\n\t\tcase \"number\": return Number.isSafeInteger(value) && value % 1 === 0 ? \"sqlite/integer@1\" : \"sqlite/real@1\";\n\t\tcase \"bigint\": return \"sqlite/bigint@1\";\n\t\tcase \"string\": return \"sqlite/text@1\";\n\t\tcase \"boolean\": return \"sqlite/integer@1\";\n\t\tcase \"object\": if (value instanceof Uint8Array) return \"sqlite/blob@1\";\n\t}\n\tthrow structuredError(\"RUNTIME.RAW_SQL_UNSUPPORTED_INTERPOLATION\", \"unsupported JS value type for raw-SQL interpolation: wrap this value in `param(...)` with an explicit codec\", { meta: { valueType: typeof value } });\n} };\n/**\n* Lower a SQL query AST into a SQLite-flavored `{ sql, params }` payload.\n*\n* Shared between the runtime adapter (`SqliteAdapterImpl.lower`) and the control adapter (`SqliteControlAdapter.lower`) so both produce byte-identical SQL for the same AST and contract.\n*/\nfunction renderLoweredSql(ast, contract, codecs) {\n\tconst orderedRefs = collectOrderedParamRefs(ast);\n\tconst placeholderNumbers = /* @__PURE__ */ new Map();\n\tconst params = orderedRefs.map((ref, index) => {\n\t\tplaceholderNumbers.set(ref, index + 1);\n\t\treturn ref.kind === \"prepared-param-ref\" ? {\n\t\t\tkind: \"bind\",\n\t\t\tname: ref.name\n\t\t} : {\n\t\t\tkind: \"literal\",\n\t\t\tvalue: ref.value\n\t\t};\n\t});\n\tconst ctx = {\n\t\tcontract,\n\t\tcodecs,\n\t\tplaceholderNumbers\n\t};\n\tlet sql;\n\tconst node = ast;\n\tswitch (node.kind) {\n\t\tcase \"select\":\n\t\t\tsql = renderSelect(node, ctx);\n\t\t\tbreak;\n\t\tcase \"insert\":\n\t\t\tsql = renderInsert(node, ctx);\n\t\t\tbreak;\n\t\tcase \"update\":\n\t\t\tsql = renderUpdate(node, ctx);\n\t\t\tbreak;\n\t\tcase \"delete\":\n\t\t\tsql = renderDelete(node, ctx);\n\t\t\tbreak;\n\t\tcase \"raw-query\":\n\t\t\tsql = renderParts(node.parts, ctx);\n\t\t\tbreak;\n\t\tdefault: throw new InternalError(`Unsupported AST node kind: ${nodeKind(node)}`);\n\t}\n\tassertPlaceholdersMatchParams(sql, params.length);\n\treturn Object.freeze({\n\t\tsql,\n\t\tparams\n\t});\n}\nfunction renderPlaceholder(ref, ctx) {\n\tconst number = ctx.placeholderNumbers.get(ref);\n\tif (number === void 0) throw new InternalError(\"ParamRef was written but not collected from the AST\");\n\treturn `?${number}`;\n}\nfunction renderLimitOffset(keyword, value, ctx) {\n\tif (value === void 0) return \"\";\n\tif (typeof value === \"number\") return `${keyword} ${value}`;\n\treturn `${keyword} ${renderExpr(value, ctx)}`;\n}\nfunction renderSelect(ast, ctx) {\n\tif (ast.locking !== void 0 && ast.locking.length > 0) throw structuredError(\"RUNTIME.AST_UNSUPPORTED\", \"SQLite has no row locks, so a select cannot carry a locking clause such as FOR UPDATE\", { meta: {\n\t\ttarget: \"sqlite\",\n\t\tfeature: \"locking-clause\"\n\t} });\n\treturn [\n\t\t`SELECT ${ast.distinct ? \"DISTINCT \" : \"\"}${renderProjection(ast.projection, ctx)}`,\n\t\tast.from !== void 0 ? `FROM ${renderSource(ast.from, ctx)}` : \"\",\n\t\tast.joins?.length ? ast.joins.map((join) => renderJoin(join, ctx)).join(\" \") : \"\",\n\t\tast.where ? `WHERE ${renderExpr(ast.where, ctx)}` : \"\",\n\t\tast.groupBy?.length ? `GROUP BY ${ast.groupBy.map((expr) => renderExpr(expr, ctx)).join(\", \")}` : \"\",\n\t\tast.having ? `HAVING ${renderExpr(ast.having, ctx)}` : \"\",\n\t\tast.orderBy?.length ? `ORDER BY ${renderOrderByItems(ast.orderBy, ctx)}` : \"\",\n\t\tast.limit === void 0 && ast.offset !== void 0 ? \"LIMIT -1\" : renderLimitOffset(\"LIMIT\", ast.limit, ctx),\n\t\trenderLimitOffset(\"OFFSET\", ast.offset, ctx)\n\t].filter((part) => part.length > 0).join(\" \").trim();\n}\nfunction renderProjection(projection, ctx) {\n\treturn projection.map((item) => {\n\t\tconst alias = quoteIdentifier(item.alias);\n\t\tif (item.expr.kind === \"literal\") return `${renderLiteral(item.expr)} AS ${alias}`;\n\t\treturn `${renderExpr(item.expr, ctx)} AS ${alias}`;\n\t}).join(\", \");\n}\nfunction qualifyTableFromNamespaceCoordinate(table, ctx) {\n\tif (table.namespaceId === void 0) return quoteIdentifier(table.name);\n\tif (ctx.contract === void 0) throw new InternalError(`Table \"${table.name}\" carries namespace \"${table.namespaceId}\" but no contract was supplied to resolve it`);\n\tconst namespace = ctx.contract.storage.namespaces[table.namespaceId];\n\tif (namespace === void 0) throw structuredError(\"RUNTIME.NAMESPACE_UNKNOWN\", `Table \"${table.name}\" references namespace \"${table.namespaceId}\" which is not present on the contract`, { meta: {\n\t\ttable: table.name,\n\t\tnamespaceId: table.namespaceId,\n\t\treason: \"not-present\"\n\t} });\n\tconst qualifyTable = namespace.qualifyTable;\n\tif (qualifyTable === void 0) throw structuredError(\"RUNTIME.NAMESPACE_UNKNOWN\", `Table \"${table.name}\" references namespace \"${table.namespaceId}\" which is not materialised for SQL rendering on the contract`, { meta: {\n\t\ttable: table.name,\n\t\tnamespaceId: table.namespaceId,\n\t\treason: \"not-materialised\"\n\t} });\n\treturn qualifyTable.call(namespace, table.name);\n}\nfunction renderTableSource(source, ctx) {\n\tconst qualified = qualifyTableFromNamespaceCoordinate(source, ctx);\n\tif (!source.alias) return qualified;\n\treturn `${qualified} AS ${quoteIdentifier(source.alias)}`;\n}\nfunction renderSource(source, ctx) {\n\tconst node = source;\n\tswitch (node.kind) {\n\t\tcase \"table-source\": return renderTableSource(node, ctx);\n\t\tcase \"derived-table-source\": return `(${renderSelect(node.query, ctx)}) AS ${quoteIdentifier(node.alias)}`;\n\t\tcase \"function-source\": {\n\t\t\tif (node.ordinality) throw structuredError(\"RUNTIME.AST_UNSUPPORTED\", \"SQLite does not support WITH ORDINALITY on function sources\", { meta: {\n\t\t\t\ttarget: \"sqlite\",\n\t\t\t\tfeature: \"function-source-with-ordinality\"\n\t\t\t} });\n\t\t\tif (node.columnAliases !== void 0) throw structuredError(\"RUNTIME.AST_UNSUPPORTED\", \"SQLite does not support returned-column aliases on function sources\", { meta: {\n\t\t\t\ttarget: \"sqlite\",\n\t\t\t\tfeature: \"function-source-column-aliases\"\n\t\t\t} });\n\t\t\tconst args = node.args.map((arg) => renderExpr(arg, ctx)).join(\", \");\n\t\t\tconst call = `${node.fn}(${args})`;\n\t\t\treturn node.alias !== void 0 ? `${call} AS ${quoteIdentifier(node.alias)}` : call;\n\t\t}\n\t\tdefault: return assertNever(node, `Unsupported source node kind: ${unreachableKind(node)}`);\n\t}\n}\nfunction renderExpr(expr, ctx) {\n\tconst node = expr;\n\tswitch (node.kind) {\n\t\tcase \"column-ref\": return renderColumn(node);\n\t\tcase \"identifier-ref\": return quoteIdentifier(node.name);\n\t\tcase \"operation\": return renderOperation(node, ctx);\n\t\tcase \"subquery\": return renderSubqueryExpr(node, ctx);\n\t\tcase \"aggregate\": return renderAggregateExpr(node, ctx);\n\t\tcase \"window-func\": return renderWindowFuncExpr(node, ctx);\n\t\tcase \"function-call\": return renderFunctionCallExpr(node, ctx);\n\t\tcase \"cast\": return renderCastExpr(node, ctx);\n\t\tcase \"case\": return renderCaseExpr(node, ctx);\n\t\tcase \"json-object\": return renderJsonObjectExpr(node, ctx);\n\t\tcase \"json-array-agg\": return renderJsonArrayAggExpr(node, ctx);\n\t\tcase \"binary\": return renderBinary(node, ctx);\n\t\tcase \"and\":\n\t\t\tif (node.exprs.length === 0) return \"TRUE\";\n\t\t\treturn `(${node.exprs.map((part) => renderExpr(part, ctx)).join(\" AND \")})`;\n\t\tcase \"or\":\n\t\t\tif (node.exprs.length === 0) return \"FALSE\";\n\t\t\treturn `(${node.exprs.map((part) => renderExpr(part, ctx)).join(\" OR \")})`;\n\t\tcase \"exists\":\n\t\t\tif (ctx.contract === void 0) throw new InternalError(\"EXISTS subquery rendering requires a Sqlite contract\");\n\t\t\treturn `${node.notExists ? \"NOT \" : \"\"}EXISTS (${renderSelect(node.subquery, ctx)})`;\n\t\tcase \"null-check\": return renderNullCheck(node, ctx);\n\t\tcase \"not\": return `NOT (${renderExpr(node.expr, ctx)})`;\n\t\tcase \"param-ref\":\n\t\tcase \"prepared-param-ref\": return renderPlaceholder(node, ctx);\n\t\tcase \"literal\": return renderLiteral(node);\n\t\tcase \"list\": return renderListLiteral(node, ctx);\n\t\tcase \"raw-expr\": return renderRawExpr(node, ctx);\n\t\tdefault: return assertNever(node, `Unsupported expression node kind: ${unreachableKind(node)}`);\n\t}\n}\nfunction renderParts(parts, ctx) {\n\treturn parts.map((part) => typeof part === \"string\" ? part : renderExpr(part, ctx)).join(\"\");\n}\nfunction renderRawExpr(node, ctx) {\n\treturn renderParts(node.parts, ctx);\n}\nfunction renderColumn(ref) {\n\tif (ref.table === \"excluded\") return `excluded.${quoteIdentifier(ref.column)}`;\n\treturn `${quoteIdentifier(ref.table)}.${quoteIdentifier(ref.column)}`;\n}\nfunction renderLiteral(expr) {\n\tif (typeof expr.value === \"string\") return `'${escapeLiteral(expr.value)}'`;\n\tif (typeof expr.value === \"number\" && !Number.isNaN(expr.value) && !Number.isFinite(expr.value)) return expr.value > 0 ? \"9e999\" : \"-9e999\";\n\tif (typeof expr.value === \"number\" || typeof expr.value === \"boolean\") return String(expr.value);\n\tif (typeof expr.value === \"bigint\") return String(expr.value);\n\tif (expr.value === null || expr.value === void 0) return \"NULL\";\n\tif (expr.value instanceof Date) return `'${escapeLiteral(expr.value.toISOString())}'`;\n\tconst json = JSON.stringify(expr.value);\n\tif (json === void 0) return \"NULL\";\n\treturn `'${escapeLiteral(json)}'`;\n}\nfunction renderOperation(expr, ctx) {\n\tconst self = renderExpr(expr.self, ctx);\n\tconst args = expr.args.map((arg) => renderExpr(arg, ctx));\n\treturn expr.lowering.template.replace(/\\{\\{self\\}\\}|\\{\\{arg(\\d+)\\}\\}/g, (token, argIndex) => {\n\t\tif (token === \"{{self}}\") return self;\n\t\tconst arg = args[Number(argIndex)];\n\t\tif (arg === void 0) throw structuredError(\"CONTRACT.PACK_CONTRIBUTION_INVALID\", `Operation lowering template for \"${expr.method}\" referenced missing argument {{arg${argIndex}}}; template has ${args.length} arg(s)`, { meta: { method: expr.method } });\n\t\treturn arg;\n\t});\n}\nfunction renderSubqueryExpr(expr, ctx) {\n\tif (expr.query.projection.length !== 1) throw structuredError(\"RUNTIME.AST_INVALID\", \"Subquery expressions must project exactly one column\", { meta: { node: \"subquery\" } });\n\tif (ctx.contract === void 0) throw new InternalError(\"Subquery expression rendering requires a Sqlite contract\");\n\treturn `(${renderSelect(expr.query, ctx)})`;\n}\nfunction requiresNullCheckGrouping(kind) {\n\tswitch (kind) {\n\t\tcase \"operation\":\n\t\tcase \"subquery\": return true;\n\t\tcase \"column-ref\":\n\t\tcase \"identifier-ref\":\n\t\tcase \"aggregate\":\n\t\tcase \"window-func\":\n\t\tcase \"function-call\":\n\t\tcase \"cast\":\n\t\tcase \"case\":\n\t\tcase \"json-object\":\n\t\tcase \"json-array-agg\":\n\t\tcase \"binary\":\n\t\tcase \"and\":\n\t\tcase \"or\":\n\t\tcase \"exists\":\n\t\tcase \"null-check\":\n\t\tcase \"not\":\n\t\tcase \"param-ref\":\n\t\tcase \"prepared-param-ref\":\n\t\tcase \"literal\":\n\t\tcase \"list\":\n\t\tcase \"raw-expr\": return false;\n\t}\n}\nfunction renderNullCheck(expr, ctx) {\n\tconst rendered = renderExpr(expr.expr, ctx);\n\tconst renderedExpr = requiresNullCheckGrouping(expr.expr.kind) ? `(${rendered})` : rendered;\n\treturn expr.isNull ? `${renderedExpr} IS NULL` : `${renderedExpr} IS NOT NULL`;\n}\nfunction renderBinary(expr, ctx) {\n\tif (expr.right.kind === \"list\" && expr.right.values.length === 0) {\n\t\tif (expr.op === \"in\") return \"FALSE\";\n\t\tif (expr.op === \"notIn\") return \"TRUE\";\n\t}\n\tconst leftExpr = expr.left;\n\tconst left = renderExpr(leftExpr, ctx);\n\tconst leftRendered = leftExpr.kind === \"operation\" || leftExpr.kind === \"subquery\" ? `(${left})` : left;\n\tconst rightNode = expr.right;\n\tlet right;\n\tswitch (rightNode.kind) {\n\t\tcase \"list\":\n\t\t\tright = renderListLiteral(rightNode, ctx);\n\t\t\tbreak;\n\t\tcase \"literal\":\n\t\t\tright = renderLiteral(rightNode);\n\t\t\tbreak;\n\t\tcase \"column-ref\":\n\t\t\tright = renderColumn(rightNode);\n\t\t\tbreak;\n\t\tcase \"param-ref\":\n\t\tcase \"prepared-param-ref\":\n\t\t\tright = renderPlaceholder(rightNode, ctx);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tright = renderExpr(rightNode, ctx);\n\t\t\tbreak;\n\t}\n\treturn `${leftRendered} ${{\n\t\teq: \"=\",\n\t\tneq: \"!=\",\n\t\tisNotDistinctFrom: \"IS\",\n\t\tisDistinctFrom: \"IS NOT\",\n\t\tgt: \">\",\n\t\tlt: \"<\",\n\t\tgte: \">=\",\n\t\tlte: \"<=\",\n\t\tlike: \"LIKE\",\n\t\tin: \"IN\",\n\t\tnotIn: \"NOT IN\"\n\t}[expr.op]} ${right}`;\n}\nfunction renderListLiteral(expr, ctx) {\n\tif (expr.values.length === 0) return \"(NULL)\";\n\treturn `(${expr.values.map((v) => {\n\t\tif (v.kind === \"param-ref\" || v.kind === \"prepared-param-ref\") return renderPlaceholder(v, ctx);\n\t\tif (v.kind === \"literal\") return renderLiteral(v);\n\t\treturn renderExpr(v, ctx);\n\t}).join(\", \")})`;\n}\nfunction renderAggregateExpr(expr, ctx) {\n\tconst fn = expr.fn.toUpperCase();\n\tif (!expr.expr) return `${fn}(*)`;\n\treturn `${fn}(${renderExpr(expr.expr, ctx)})`;\n}\nfunction renderWindowFuncExpr(expr, ctx) {\n\treturn `${expr.fn.toUpperCase()}(${expr.args.map((arg) => renderExpr(arg, ctx)).join(\", \")}) OVER (${[expr.partitionBy && expr.partitionBy.length > 0 ? `PARTITION BY ${expr.partitionBy.map((e) => renderExpr(e, ctx)).join(\", \")}` : \"\", expr.orderBy && expr.orderBy.length > 0 ? `ORDER BY ${renderOrderByItems(expr.orderBy, ctx)}` : \"\"].filter((part) => part.length > 0).join(\" \")})`;\n}\nfunction renderFunctionCallExpr(expr, ctx) {\n\tconst args = expr.args.map((arg) => renderExpr(arg, ctx)).join(\", \");\n\treturn `${expr.fn}(${args})`;\n}\nfunction renderCastExpr(expr, ctx) {\n\treturn `CAST(${renderExpr(expr.expr, ctx)} AS ${expr.targetType})`;\n}\nfunction renderCaseExpr(expr, ctx) {\n\treturn `CASE ${expr.branches.map((branch) => `WHEN ${renderExpr(branch.condition, ctx)} THEN ${renderExpr(branch.value, ctx)}`).join(\" \")}${expr.elseExpr === void 0 ? \"\" : ` ELSE ${renderExpr(expr.elseExpr, ctx)}`} END`;\n}\nfunction renderJsonValueProjection(projection, ctx) {\n\treturn projection.accept({\n\t\tcodec: ({ value, codec }) => renderExpr(projectJsonThroughCodec(value, codec, ctx.codecs), ctx),\n\t\tnative: ({ value }) => renderExpr(value, ctx),\n\t\tdocument: ({ value }) => renderExpr(jsonDocumentRetag(value), ctx)\n\t});\n}\nfunction projectJsonThroughCodec(value, codec, codecs) {\n\tconst descriptor = codecs.descriptorFor(codec.codecId);\n\tif (descriptor === void 0) throw structuredError(\"RUNTIME.PARAM_REF_MISSING_CODEC\", `SQLite lowering: a JSON projection carries codecId \"${codec.codecId}\" but the validated SQLite codec registry has no entry for it. This usually indicates a missing extension pack in the runtime stack — register the pack that contributes this codec, or use the codec directly from \\`@prisma/orm-target-sqlite/target/codecs\\` if it's a builtin.`, { meta: { codecId: codec.codecId } });\n\treturn descriptor.projectJson(value, codec);\n}\nfunction renderJsonObjectExpr(expr, ctx) {\n\treturn `json_object(${expr.entries.flatMap((entry) => {\n\t\treturn [`'${escapeLiteral(entry.key)}'`, renderJsonValueProjection(entry.value, ctx)];\n\t}).join(\", \")})`;\n}\nfunction renderOrderByItems(items, ctx) {\n\treturn items.map((item) => `${renderExpr(item.expr, ctx)}${ORDER_DIRECTION_SQL[item.dir]}${renderNullsPlacement(item)}`).join(\", \");\n}\nconst ORDER_DIRECTION_SQL = {\n\tasc: \" ASC\",\n\tdesc: \" DESC\"\n};\nconst ORDER_NULLS_SQL = {\n\tfirst: \" NULLS FIRST\",\n\tlast: \" NULLS LAST\"\n};\nfunction renderNullsPlacement(item) {\n\treturn item.nulls === void 0 ? \"\" : ORDER_NULLS_SQL[item.nulls];\n}\nfunction renderJsonArrayAggExpr(expr, ctx) {\n\tconst aggregateOrderBy = expr.orderBy && expr.orderBy.length > 0 ? ` ORDER BY ${renderOrderByItems(expr.orderBy, ctx)}` : \"\";\n\tconst aggregated = `json_group_array(${renderJsonValueProjection(expr.expr, ctx)}${aggregateOrderBy})`;\n\tif (expr.onEmpty === \"emptyArray\") return `coalesce(${aggregated}, '[]')`;\n\treturn aggregated;\n}\nfunction renderJoin(join, ctx) {\n\tif (ctx.contract === void 0) throw new InternalError(\"JOIN rendering requires a Sqlite contract\");\n\treturn `${join.joinType.toUpperCase()} JOIN ${renderSource(join.source, ctx)} ON ${renderJoinOn(join.on, ctx)}`;\n}\nfunction renderJoinOn(on, ctx) {\n\tif (on.kind === \"eq-col-join-on\") return `${renderColumn(on.left)} = ${renderColumn(on.right)}`;\n\treturn renderExpr(on, ctx);\n}\nfunction renderInsertValue(value, ctx) {\n\tswitch (value.kind) {\n\t\tcase \"param-ref\":\n\t\tcase \"prepared-param-ref\": return renderPlaceholder(value, ctx);\n\t\tcase \"column-ref\": return renderColumn(value);\n\t\tcase \"raw-expr\": return renderExpr(value, ctx);\n\t\tcase \"default-value\": throw structuredError(\"RUNTIME.AST_UNSUPPORTED\", \"SQLite does not support DEFAULT as a value in INSERT ... VALUES\", { meta: { node: \"default-value\" } });\n\t\tdefault: return assertNever(value, `Unsupported value node in INSERT: ${unreachableKind(value)}`);\n\t}\n}\nfunction renderInsert(ast, ctx) {\n\tconst table = renderTableSource(ast.table, ctx);\n\tconst rows = ast.rows;\n\tconst firstRow = rows[0];\n\tif (firstRow === void 0) throw structuredError(\"RUNTIME.AST_INVALID\", \"INSERT requires at least one row\", { meta: {\n\t\tnode: \"insert\",\n\t\ttable: ast.table.name\n\t} });\n\tconst columnOrder = Object.keys(firstRow);\n\tlet insertClause;\n\tif (columnOrder.length === 0) insertClause = `INSERT INTO ${table} DEFAULT VALUES`;\n\telse {\n\t\tconst columns = columnOrder.map((column) => quoteIdentifier(column));\n\t\tconst values = rows.map((row) => {\n\t\t\treturn `(${columnOrder.map((column) => {\n\t\t\t\tconst value = row[column];\n\t\t\t\tif (value === void 0) throw structuredError(\"RUNTIME.AST_INVALID\", `Missing value for column \"${column}\" in INSERT row`, { meta: {\n\t\t\t\t\tnode: \"insert\",\n\t\t\t\t\ttable: ast.table.name,\n\t\t\t\t\tcolumn\n\t\t\t\t} });\n\t\t\t\treturn renderInsertValue(value, ctx);\n\t\t\t}).join(\", \")})`;\n\t\t}).join(\", \");\n\t\tinsertClause = `INSERT INTO ${table} (${columns.join(\", \")}) VALUES ${values}`;\n\t}\n\tlet onConflictClause = \"\";\n\tif (ast.onConflict) {\n\t\tconst conflictColumns = ast.onConflict.columns.map((col) => quoteIdentifier(col.column));\n\t\tconst target = conflictColumns.length === 0 ? \"\" : ` (${conflictColumns.join(\", \")})`;\n\t\tconst action = ast.onConflict.action;\n\t\tswitch (action.kind) {\n\t\t\tcase \"do-nothing\":\n\t\t\t\tonConflictClause = ` ON CONFLICT${target} DO NOTHING`;\n\t\t\t\tbreak;\n\t\t\tcase \"do-update-set\":\n\t\t\t\tif (conflictColumns.length === 0) throw structuredError(\"RUNTIME.AST_INVALID\", \"INSERT onConflict requires at least one conflict column\", { meta: {\n\t\t\t\t\tnode: \"insert\",\n\t\t\t\t\ttable: ast.table.name\n\t\t\t\t} });\n\t\t\t\tonConflictClause = ` ON CONFLICT${target} DO UPDATE SET ${Object.entries(action.set).map(([colName, value]) => {\n\t\t\t\t\treturn `${quoteIdentifier(colName)} = ${renderExpr(value, ctx)}`;\n\t\t\t\t}).join(\", \")}`;\n\t\t\t\tbreak;\n\t\t\tdefault: assertNever(action, `Unsupported onConflict action: ${unreachableKind(action)}`);\n\t\t}\n\t}\n\tconst returningClause = renderReturning(ast.returning, ctx);\n\treturn `${insertClause}${onConflictClause}${returningClause}`;\n}\nfunction renderUpdate(ast, ctx) {\n\tconst table = renderTableSource(ast.table, ctx);\n\tconst setClauses = Object.entries(ast.set).map(([col, val]) => {\n\t\treturn `${quoteIdentifier(col)} = ${renderExpr(val, ctx)}`;\n\t});\n\tconst whereClause = ast.where ? ` WHERE ${renderExpr(ast.where, ctx)}` : \"\";\n\tconst returningClause = renderReturning(ast.returning, ctx);\n\treturn `UPDATE ${table} SET ${setClauses.join(\", \")}${whereClause}${returningClause}`;\n}\nfunction renderDelete(ast, ctx) {\n\treturn `DELETE FROM ${renderTableSource(ast.table, ctx)}${ast.where ? ` WHERE ${renderExpr(ast.where, ctx)}` : \"\"}${renderReturning(ast.returning, ctx)}`;\n}\nfunction renderReturning(returning, ctx) {\n\tif (!returning?.length) return \"\";\n\treturn ` RETURNING ${returning.map((item) => {\n\t\tif (item.expr.kind === \"column-ref\") {\n\t\t\tconst rendered = quoteIdentifier(item.expr.column);\n\t\t\treturn item.expr.column === item.alias ? rendered : `${rendered} AS ${quoteIdentifier(item.alias)}`;\n\t\t}\n\t\treturn `${renderExpr(item.expr, ctx)} AS ${quoteIdentifier(item.alias)}`;\n\t}).join(\", \")}`;\n}\nfunction createSqliteAdapter(options) {\n\tconst codecRegistry = createSqliteCodecRegistryWithBuiltins(options?.codecDescriptors);\n\treturn Object.freeze(new SqliteAdapterImpl(codecRegistry, sqliteDataTypes, options?.profileId));\n}\nfunction createSqliteAdapterWithCodecRegistry(codecRegistry, declaredDataTypes) {\n\treturn Object.freeze(new SqliteAdapterImpl(codecRegistry, declaredDataTypes));\n}\n//#endregion\nexport { SqliteControlAdapter as a, sqliteRawCodecInferer as i, createSqliteAdapterWithCodecRegistry as n, renderLoweredSql as r, createSqliteAdapter as t };\n\n//# sourceMappingURL=adapter-Cff01Cgi.mjs.map"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"aggregates-D5fuFVMC.mjs","names":[],"sources":["../../../../3-targets/sqlite/1-target/dist/aggregates.mjs"],"sourcesContent":["import { a as SQLITE_INTEGER_CODEC_ID, d as SQL_INT_CODEC_ID, i as SQLITE_DATETIME_CODEC_ID, n as SQLITE_BIGINT_NUMBER_CODEC_ID, o as SQLITE_JSON_CODEC_ID, r as SQLITE_BLOB_CODEC_ID, s as SQLITE_REAL_CODEC_ID, t as SQLITE_BIGINT_CODEC_ID, u as SQL_FLOAT_CODEC_ID } from \"./codec-ids-wgEvkCkg.mjs\";\nimport { AggregateExpr, CastExpr } from \"@internal/sql-relational-core/ast\";\nimport { ifDefined } from \"@internal/utils/defined\";\n//#region src/core/aggregates.ts\n/** An aggregate whose result is one of the input values, so it carries the input's codec. */\nconst preservesInput = (operation, input) => ({\n\toperation,\n\tinput,\n\toutput: { kind: \"self\" },\n\tnullable: true\n});\n/**\n* Render the aggregate as text.\n*\n* SQLite computes an aggregate into an INTEGER, and the driver reads an integer\n* no JS number can hold as an error rather than a value — so an aggregate whose\n* result is a wide integer leaves the database through this cast, which is the\n* form both integer codecs read anyway. The hook builds the expression and\n* nothing else: which codec the result carries is the descriptor's `output` to\n* declare, not this function's to choose.\n*\n* The `operation` it names is the SQL aggregate the row computes with — its own\n* name for a bare operation, its bare namesake's for a lossless variant, whose\n* name the database does not know.\n*/\nconst castResultToText = (operation) => ({ expr }) => CastExpr.as(new AggregateExpr(operation, expr), \"text\");\n/** The integer results wider than the driver's numeric reads: one read exactly, one read as a `number` and guarded against the safe range. Both leave the database as text. */\nconst WIDE_INTEGER_CODECS = [SQLITE_BIGINT_CODEC_ID, SQLITE_BIGINT_NUMBER_CODEC_ID];\n/** An aggregate whose result is a new value, named by codec and without the input's type parameters. */\nconst produces = (operation, input, codecId) => ({\n\toperation,\n\tinput,\n\toutput: {\n\t\tkind: \"codec\",\n\t\tcodecId\n\t},\n\tnullable: true,\n\t...ifDefined(\"lower\", WIDE_INTEGER_CODECS.includes(codecId) ? castResultToText(operation) : void 0)\n});\n/** The same, for a lossless variant: an operation whose name the SQL alphabet does not carry, so its lowering names the aggregate it computes with. */\nconst producesVia = (operation, input, codecId, lower) => ({\n\toperation,\n\tinput,\n\toutput: {\n\t\tkind: \"codec\",\n\t\tcodecId\n\t},\n\tnullable: true,\n\tlower\n});\n/** Codecs stored as SQLite integers. Their `sum` is an integer of up to 64 bits — past `sqlite/integer@1`'s range, and past the safe-integer range too, since a total of safe-range values is free to leave it. The bare form therefore guards and the lossless one carries. */\nconst INTEGER_CODECS = [\n\tSQLITE_INTEGER_CODEC_ID,\n\tSQLITE_BIGINT_CODEC_ID,\n\tSQLITE_BIGINT_NUMBER_CODEC_ID,\n\tSQL_INT_CODEC_ID\n];\n/** Codecs stored as SQLite reals. Their `sum` stays real. */\nconst REAL_CODECS = [SQLITE_REAL_CODEC_ID, SQL_FLOAT_CODEC_ID];\n/**\n* Codecs whose `min`/`max` returns the input value and whose traits do not already say so: SQLite compares blobs bytewise and text by its collation, so a datetime, a JSON document, and a blob each have a well-defined least and greatest — unlike the numeric and textual codecs, whose traits carry them.\n*/\nconst MIN_MAX_PRESERVING_CODECS = [\n\tSQLITE_DATETIME_CODEC_ID,\n\tSQLITE_JSON_CODEC_ID,\n\tSQLITE_BLOB_CODEC_ID\n];\nconst orderingDescriptors = (operation) => [\n\tpreservesInput(operation, {\n\t\tkind: \"trait\",\n\t\ttrait: \"numeric\"\n\t}),\n\tpreservesInput(operation, {\n\t\tkind: \"trait\",\n\t\ttrait: \"textual\"\n\t}),\n\t...MIN_MAX_PRESERVING_CODECS.map((codecId) => preservesInput(operation, {\n\t\tkind: \"codec\",\n\t\tcodecId\n\t})),\n\t{\n\t\toperation,\n\t\tinput: {\n\t\t\tkind: \"codec\",\n\t\t\tcodecId: SQLITE_BIGINT_CODEC_ID\n\t\t},\n\t\toutput: { kind: \"self\" },\n\t\tnullable: true,\n\t\tlower: castResultToText(operation)\n\t}\n];\n/**\n* Every aggregate overload the SQLite target contributes. The adapter lists these on `types.aggregateDescriptors`, from where emission derives result types and the runtime builds its resolution registry.\n*/\nconst sqliteAggregateDescriptors = [\n\t{\n\t\toperation: \"count\",\n\t\tinput: { kind: \"any\" },\n\t\toutput: {\n\t\t\tkind: \"codec\",\n\t\t\tcodecId: SQLITE_BIGINT_NUMBER_CODEC_ID\n\t\t},\n\t\tnullable: false,\n\t\temptyResultWire: \"0\",\n\t\tlower: castResultToText(\"count\")\n\t},\n\t{\n\t\toperation: \"countBigInt\",\n\t\tinput: { kind: \"any\" },\n\t\toutput: {\n\t\t\tkind: \"codec\",\n\t\t\tcodecId: SQLITE_BIGINT_CODEC_ID\n\t\t},\n\t\tnullable: false,\n\t\temptyResultWire: \"0\",\n\t\tlower: castResultToText(\"count\")\n\t},\n\t...INTEGER_CODECS.map((codecId) => produces(\"sum\", {\n\t\tkind: \"codec\",\n\t\tcodecId\n\t}, SQLITE_BIGINT_NUMBER_CODEC_ID)),\n\t...INTEGER_CODECS.map((codecId) => producesVia(\"sumBigInt\", {\n\t\tkind: \"codec\",\n\t\tcodecId\n\t}, SQLITE_BIGINT_CODEC_ID, castResultToText(\"sum\"))),\n\t...REAL_CODECS.map((codecId) => produces(\"sum\", {\n\t\tkind: \"codec\",\n\t\tcodecId\n\t}, SQLITE_REAL_CODEC_ID)),\n\t...[...INTEGER_CODECS, ...REAL_CODECS].map((codecId) => produces(\"avg\", {\n\t\tkind: \"codec\",\n\t\tcodecId\n\t}, SQLITE_REAL_CODEC_ID)),\n\t...orderingDescriptors(\"min\"),\n\t...orderingDescriptors(\"max\")\n];\n//#endregion\nexport { sqliteAggregateDescriptors };\n\n//# sourceMappingURL=aggregates.mjs.map"],"mappings":";;;;;AAKA,MAAM,kBAAkB,WAAW,WAAW;CAC7C;CACA;CACA,QAAQ,EAAE,MAAM,OAAO;CACvB,UAAU;AACX;;;;;;;;;;;;;;;AAeA,MAAM,oBAAoB,eAAe,EAAE,WAAW,SAAS,GAAG,IAAI,cAAc,WAAW,IAAI,GAAG,MAAM;;AAE5G,MAAM,sBAAsB,CAAC,wBAAwB,6BAA6B;;AAElF,MAAM,YAAY,WAAW,OAAO,aAAa;CAChD;CACA;CACA,QAAQ;EACP,MAAM;EACN;CACD;CACA,UAAU;CACV,GAAG,UAAU,SAAS,oBAAoB,SAAS,OAAO,IAAI,iBAAiB,SAAS,IAAI,KAAK,CAAC;AACnG;;AAEA,MAAM,eAAe,WAAW,OAAO,SAAS,WAAW;CAC1D;CACA;CACA,QAAQ;EACP,MAAM;EACN;CACD;CACA,UAAU;CACV;AACD;;AAEA,MAAM,iBAAiB;CACtB;CACA;CACA;CACA;AACD;;AAEA,MAAM,cAAc,CAAC,sBAAsB,kBAAkB;;;;AAI7D,MAAM,4BAA4B;CACjC;CACA;CACA;AACD;AACA,MAAM,uBAAuB,cAAc;CAC1C,eAAe,WAAW;EACzB,MAAM;EACN,OAAO;CACR,CAAC;CACD,eAAe,WAAW;EACzB,MAAM;EACN,OAAO;CACR,CAAC;CACD,GAAG,0BAA0B,KAAK,YAAY,eAAe,WAAW;EACvE,MAAM;EACN;CACD,CAAC,CAAC;CACF;EACC;EACA,OAAO;GACN,MAAM;GACN,SAAS;EACV;EACA,QAAQ,EAAE,MAAM,OAAO;EACvB,UAAU;EACV,OAAO,iBAAiB,SAAS;CAClC;AACD;;;;AAIA,MAAM,6BAA6B;CAClC;EACC,WAAW;EACX,OAAO,EAAE,MAAM,MAAM;EACrB,QAAQ;GACP,MAAM;GACN,SAAS;EACV;EACA,UAAU;EACV,iBAAiB;EACjB,OAAO,iBAAiB,OAAO;CAChC;CACA;EACC,WAAW;EACX,OAAO,EAAE,MAAM,MAAM;EACrB,QAAQ;GACP,MAAM;GACN,SAAS;EACV;EACA,UAAU;EACV,iBAAiB;EACjB,OAAO,iBAAiB,OAAO;CAChC;CACA,GAAG,eAAe,KAAK,YAAY,SAAS,OAAO;EAClD,MAAM;EACN;CACD,GAAG,6BAA6B,CAAC;CACjC,GAAG,eAAe,KAAK,YAAY,YAAY,aAAa;EAC3D,MAAM;EACN;CACD,GAAG,wBAAwB,iBAAiB,KAAK,CAAC,CAAC;CACnD,GAAG,YAAY,KAAK,YAAY,SAAS,OAAO;EAC/C,MAAM;EACN;CACD,GAAG,oBAAoB,CAAC;CACxB,GAAG,CAAC,GAAG,gBAAgB,GAAG,WAAW,CAAC,CAAC,KAAK,YAAY,SAAS,OAAO;EACvE,MAAM;EACN;CACD,GAAG,oBAAoB,CAAC;CACxB,GAAG,oBAAoB,KAAK;CAC5B,GAAG,oBAAoB,KAAK;AAC7B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import "./codec-ids-DuJYssXV-BPKbFNRL.mjs";
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_RAW_CODEC_ID, SQL_VARCHAR_CODEC_ID } from "@prisma/orm-family-sql/relational-core/ast";
|
|
2
|
-
//#region ../../../3-targets/sqlite/1-target/dist/codec-ids-DuJYssXV.d.mts
|
|
3
|
-
//#region src/core/codec-ids.d.ts
|
|
4
|
-
declare const SQLITE_TEXT_CODEC_ID: "sqlite/text@1";
|
|
5
|
-
declare const SQLITE_INTEGER_CODEC_ID: "sqlite/integer@1";
|
|
6
|
-
declare const SQLITE_REAL_CODEC_ID: "sqlite/real@1";
|
|
7
|
-
declare const SQLITE_BLOB_CODEC_ID: "sqlite/blob@1";
|
|
8
|
-
declare const SQLITE_DATETIME_CODEC_ID: "sqlite/datetime@1";
|
|
9
|
-
declare const SQLITE_JSON_CODEC_ID: "sqlite/json@1";
|
|
10
|
-
declare const SQLITE_BIGINT_CODEC_ID: "sqlite/bigint@1";
|
|
11
|
-
declare const SQLITE_BIGINT_NUMBER_CODEC_ID: "sqlite/bigintnumber@1";
|
|
12
|
-
//#endregion
|
|
13
|
-
export { SQLITE_INTEGER_CODEC_ID as a, SQLITE_TEXT_CODEC_ID as c, SQL_INT_CODEC_ID as d, SQL_RAW_CODEC_ID as f, SQLITE_DATETIME_CODEC_ID as i, SQL_CHAR_CODEC_ID as l, SQLITE_BIGINT_NUMBER_CODEC_ID as n, SQLITE_JSON_CODEC_ID as o, SQL_VARCHAR_CODEC_ID as p, SQLITE_BLOB_CODEC_ID as r, SQLITE_REAL_CODEC_ID as s, SQLITE_BIGINT_CODEC_ID as t, SQL_FLOAT_CODEC_ID as u };
|
|
14
|
-
//# sourceMappingURL=codec-ids-DuJYssXV-BPKbFNRL.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codec-ids-DuJYssXV-BPKbFNRL.d.mts","names":[],"sources":["../../../../3-targets/sqlite/1-target/dist/codec-ids-DuJYssXV.d.mts"],"mappings":";;;cAEc;cACA;cACA;cACA;cACA;cACA;cACA;cACA"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_RAW_CODEC_ID, SQL_VARCHAR_CODEC_ID } from "@prisma/orm-family-sql/relational-core/ast";
|
|
2
|
-
//#region ../../../3-targets/sqlite/1-target/dist/codec-ids-wgEvkCkg.mjs
|
|
3
|
-
const SQLITE_TEXT_CODEC_ID = "sqlite/text@1";
|
|
4
|
-
const SQLITE_INTEGER_CODEC_ID = "sqlite/integer@1";
|
|
5
|
-
const SQLITE_REAL_CODEC_ID = "sqlite/real@1";
|
|
6
|
-
const SQLITE_BLOB_CODEC_ID = "sqlite/blob@1";
|
|
7
|
-
const SQLITE_DATETIME_CODEC_ID = "sqlite/datetime@1";
|
|
8
|
-
const SQLITE_JSON_CODEC_ID = "sqlite/json@1";
|
|
9
|
-
const SQLITE_BIGINT_CODEC_ID = "sqlite/bigint@1";
|
|
10
|
-
const SQLITE_BIGINT_NUMBER_CODEC_ID = "sqlite/bigintnumber@1";
|
|
11
|
-
//#endregion
|
|
12
|
-
export { SQLITE_INTEGER_CODEC_ID as a, SQLITE_TEXT_CODEC_ID as c, SQL_INT_CODEC_ID as d, SQL_RAW_CODEC_ID as f, SQLITE_DATETIME_CODEC_ID as i, SQL_CHAR_CODEC_ID as l, SQLITE_BIGINT_NUMBER_CODEC_ID as n, SQLITE_JSON_CODEC_ID as o, SQL_VARCHAR_CODEC_ID as p, SQLITE_BLOB_CODEC_ID as r, SQLITE_REAL_CODEC_ID as s, SQLITE_BIGINT_CODEC_ID as t, SQL_FLOAT_CODEC_ID as u };
|
|
13
|
-
|
|
14
|
-
//# sourceMappingURL=codec-ids-wgEvkCkg-WltuexMR.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codec-ids-wgEvkCkg-WltuexMR.mjs","names":[],"sources":["../../../../3-targets/sqlite/1-target/dist/codec-ids-wgEvkCkg.mjs"],"sourcesContent":["import { SQL_CHAR_CODEC_ID, SQL_FLOAT_CODEC_ID, SQL_INT_CODEC_ID, SQL_RAW_CODEC_ID, SQL_VARCHAR_CODEC_ID } from \"@internal/sql-relational-core/ast\";\n//#region src/core/codec-ids.ts\nconst SQLITE_TEXT_CODEC_ID = \"sqlite/text@1\";\nconst SQLITE_INTEGER_CODEC_ID = \"sqlite/integer@1\";\nconst SQLITE_REAL_CODEC_ID = \"sqlite/real@1\";\nconst SQLITE_BLOB_CODEC_ID = \"sqlite/blob@1\";\nconst SQLITE_DATETIME_CODEC_ID = \"sqlite/datetime@1\";\nconst SQLITE_JSON_CODEC_ID = \"sqlite/json@1\";\nconst SQLITE_BIGINT_CODEC_ID = \"sqlite/bigint@1\";\nconst SQLITE_BIGINT_NUMBER_CODEC_ID = \"sqlite/bigintnumber@1\";\n//#endregion\nexport { SQLITE_INTEGER_CODEC_ID as a, SQLITE_TEXT_CODEC_ID as c, SQL_INT_CODEC_ID as d, SQL_RAW_CODEC_ID as f, SQLITE_DATETIME_CODEC_ID as i, SQL_CHAR_CODEC_ID as l, SQLITE_BIGINT_NUMBER_CODEC_ID as n, SQLITE_JSON_CODEC_ID as o, SQL_VARCHAR_CODEC_ID as p, SQLITE_BLOB_CODEC_ID as r, SQLITE_REAL_CODEC_ID as s, SQLITE_BIGINT_CODEC_ID as t, SQL_FLOAT_CODEC_ID as u };\n\n//# sourceMappingURL=codec-ids-wgEvkCkg.mjs.map"],"mappings":";;AAEA,MAAM,uBAAuB;AAC7B,MAAM,0BAA0B;AAChC,MAAM,uBAAuB;AAC7B,MAAM,uBAAuB;AAC7B,MAAM,2BAA2B;AACjC,MAAM,uBAAuB;AAC7B,MAAM,yBAAyB;AAC/B,MAAM,gCAAgC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codec-types-COh75Bop-CUehAexc.d.mts","names":[],"sources":["../../../../3-targets/sqlite/1-target/dist/codec-types-COh75Bop.d.mts"],"mappings":";;;;;;cAKc;WACH,MAAM,yEAAyE;WAC/E,SAAS,yEAAyE;WAClF,KAAK,yEAAyE;WAC9E,OAAO,yEAAyE;WAChF,MAAM;WACN,SAAS;WACT,MAAM;WACN,MAAM;WACN,UAAU;WACV,MAAM;WACN,QAAQ;WACR,cAAc;WACd,KAAK,yEAAyE;;KAEpF,QAAQ,iBAAiB,WAAW,gBAAgB,WAAW,EAAE,KAAK,EAAE,GAAG;KAC3E,aAAa,QAAQ,yBAAyB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import "./codec-types-ELHfd82J.mjs";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codecs-BJYruC-a-BKDGae3k.d.mts","names":[],"sources":["../../../../3-targets/sqlite/1-target/dist/codecs-BJYruC-a.d.mts"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import "./codecs-BJYruC-a-BKDGae3k.mjs";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codecs-g-YI3BtK.mjs","names":[],"sources":["../../../../3-targets/sqlite/1-target/dist/codecs.mjs"],"sourcesContent":["import { n as buildSqliteCodecDescriptorRegistry } from \"./codec-descriptor-DRmF-crq.mjs\";\nimport { a as sqliteBigintNumberColumn, c as sqliteIntegerColumn, d as sqliteTextColumn, i as sqliteBigintColumn, l as sqliteJsonColumn, o as sqliteBlobColumn, r as jsonDocumentRetag, s as sqliteDatetimeColumn, t as codecDescriptors, u as sqliteRealColumn } from \"./codecs-yZoH21Yj.mjs\";\nimport { n as SQLITE_NOW_EXPRESSION } from \"./datetime-text-Bniwehv-.mjs\";\nimport { extractCodecLookup } from \"@internal/framework-components/control\";\nimport { buildCodecDescriptorRegistry } from \"@internal/sql-relational-core/codec-descriptor-registry\";\n//#region src/core/registry.ts\n/**\n* Registry of every codec descriptor shipped by `@internal/target-sqlite`.\n*\n* Public consumer surface for the sqlite codec set: the sqlite adapter and any other consumer that needs to enumerate or look up a sqlite codec by id consumes this rather than the raw descriptor array. See ADR 208.\n*/\nconst sqliteCodecRegistry = buildCodecDescriptorRegistry(codecDescriptors);\nconst sqliteCodecDescriptorRegistry = buildSqliteCodecDescriptorRegistry(codecDescriptors);\n//#endregion\n//#region src/core/codec-registry.ts\nfunction descriptorsFrom(contributors) {\n\treturn contributors.flatMap((contributor) => contributor.types?.codecTypes?.codecDescriptors ?? []);\n}\nfunction buildSqliteCodecRegistry(descriptors) {\n\tconst descriptorRegistry = buildSqliteCodecDescriptorRegistry(descriptors);\n\tconst registry = {\n\t\t...extractCodecLookup([{\n\t\t\tid: \"sqlite-codecs\",\n\t\t\ttypes: { codecTypes: { codecDescriptors: Array.from(descriptorRegistry.values()) } }\n\t\t}]),\n\t\tdescriptorFor: (codecId) => descriptorRegistry.descriptorFor(codecId),\n\t\tvalues: () => descriptorRegistry.values()\n\t};\n\treturn Object.freeze(registry);\n}\nfunction assembleSqliteCodecRegistry(target, extensions) {\n\treturn buildSqliteCodecRegistry([\n\t\t...descriptorsFrom([target]),\n\t\t...sqliteCodecDescriptorRegistry.values(),\n\t\t...descriptorsFrom(extensions)\n\t]);\n}\nfunction createSqliteCodecRegistryWithBuiltins(codecDescriptors = []) {\n\treturn buildSqliteCodecRegistry([...sqliteCodecDescriptorRegistry.values(), ...codecDescriptors]);\n}\n/**\n* Build a coherent SQLite codec registry populated with built-in descriptors only.\n*\n* The returned registry supports both ordinary codec materialization and SQLite target behavior. Stack-composed paths build the same combined registry from target, full adapter, and ordered extension contributions.\n*/\nfunction createSqliteBuiltinCodecLookup() {\n\treturn createSqliteCodecRegistryWithBuiltins();\n}\n//#endregion\nexport { SQLITE_NOW_EXPRESSION, assembleSqliteCodecRegistry, createSqliteBuiltinCodecLookup, createSqliteCodecRegistryWithBuiltins, jsonDocumentRetag, sqliteBigintColumn, sqliteBigintNumberColumn, sqliteBlobColumn, sqliteCodecDescriptorRegistry, sqliteCodecRegistry, sqliteDatetimeColumn, sqliteIntegerColumn, sqliteJsonColumn, sqliteRealColumn, sqliteTextColumn };\n\n//# sourceMappingURL=codecs.mjs.map"],"mappings":";;;;;;;;;;AAWA,MAAM,sBAAsB,6BAA6B,gBAAgB;AACzE,MAAM,gCAAgC,mCAAmC,gBAAgB;AAGzF,SAAS,gBAAgB,cAAc;CACtC,OAAO,aAAa,SAAS,gBAAgB,YAAY,OAAO,YAAY,oBAAoB,CAAC,CAAC;AACnG;AACA,SAAS,yBAAyB,aAAa;CAC9C,MAAM,qBAAqB,mCAAmC,WAAW;CACzE,MAAM,WAAW;EAChB,GAAG,mBAAmB,CAAC;GACtB,IAAI;GACJ,OAAO,EAAE,YAAY,EAAE,kBAAkB,MAAM,KAAK,mBAAmB,OAAO,CAAC,EAAE,EAAE;EACpF,CAAC,CAAC;EACF,gBAAgB,YAAY,mBAAmB,cAAc,OAAO;EACpE,cAAc,mBAAmB,OAAO;CACzC;CACA,OAAO,OAAO,OAAO,QAAQ;AAC9B;AACA,SAAS,4BAA4B,QAAQ,YAAY;CACxD,OAAO,yBAAyB;EAC/B,GAAG,gBAAgB,CAAC,MAAM,CAAC;EAC3B,GAAG,8BAA8B,OAAO;EACxC,GAAG,gBAAgB,UAAU;CAC9B,CAAC;AACF;AACA,SAAS,sCAAsC,mBAAmB,CAAC,GAAG;CACrE,OAAO,yBAAyB,CAAC,GAAG,8BAA8B,OAAO,GAAG,GAAG,gBAAgB,CAAC;AACjG;;;;;;AAMA,SAAS,iCAAiC;CACzC,OAAO,sCAAsC;AAC9C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codecs-yZoH21Yj-lQXtGlEq.mjs","names":[],"sources":["../../../../3-targets/sqlite/1-target/dist/codecs-yZoH21Yj.mjs"],"sourcesContent":["import { a as SQLITE_INTEGER_CODEC_ID, c as SQLITE_TEXT_CODEC_ID, i as SQLITE_DATETIME_CODEC_ID, n as SQLITE_BIGINT_NUMBER_CODEC_ID, o as SQLITE_JSON_CODEC_ID, r as SQLITE_BLOB_CODEC_ID, s as SQLITE_REAL_CODEC_ID, t as SQLITE_BIGINT_CODEC_ID } from \"./codec-ids-wgEvkCkg.mjs\";\nimport { a as sqliteCharacterVarying, d as sqliteReal, f as sqliteText, l as sqliteInteger, r as sqliteCharacter, s as sqliteDatetime, t as sqliteBlob, u as sqliteJson } from \"./data-types-coQrCWfS.mjs\";\nimport { a as sqliteCodec, r as defineSqliteCodecs, t as SqliteCodecDescriptor } from \"./codec-descriptor-DRmF-crq.mjs\";\nimport { n as sqliteError } from \"./errors-DnR-sMHS.mjs\";\nimport { BinaryExpr, CaseExpr, CastExpr, FunctionCallExpr, LiteralExpr, SqlCharCodec, SqlFloatCodec, SqlIntCodec, SqlRawCodec, SqlVarcharCodec, sqlCharDescriptor, sqlFloatDescriptor, sqlIntDescriptor, sqlRawDescriptor, sqlVarcharDescriptor } from \"@internal/sql-relational-core/ast\";\nimport { CodecImpl, SAFE_INTEGER_BIGINT_RANGE, column, decimalTextBigintLiteral, decimalTextNumberLiteral, floatNumberLiteral, floatToJson, readJsonFloat, readJsonIntegerText, refuseJsonValue, renderTsLiteral } from \"@internal/framework-components/codec\";\nimport { sqlRawDataType } from \"@internal/sql-contract/data-type\";\nimport { blindCast } from \"@internal/utils/casts\";\n//#region src/core/codecs.ts\n/**\n* Projects the expression unchanged, for codecs whose canonical JSON is what\n* SQLite'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 where a native conversion would be most likely to\n* diverge.\n*/\nconst identityJsonProjection = (expression) => expression;\n/**\n* Projects an integer-valued expression as decimal text.\n*\n* The cast is part of the projected expression, so it applies before the JSON\n* constructor sees the value: handed an INTEGER directly, the constructor emits\n* a JSON number, and SQLite's 64-bit range does not survive being read back as\n* a double. Casting the constructor's result would be too late.\n*/\nconst decimalTextJsonProjection = (expression) => CastExpr.as(expression, \"TEXT\");\n/**\n* Projects a blob as a one-element array of its hexadecimal text.\n*\n* SQLite's JSON functions reject a BLOB argument outright, so the encoding has to replace the native\n* conversion rather than post-process it. `hex()` emits uppercase and never wraps. The array is what\n* tells a blob from text: outside a STRICT table a BLOB column may hold text, which passes through as\n* text, as a row carries it, and so does NULL and any other value.\n*/\nconst hexJsonProjection = (expression) => CaseExpr.of([{\n\tcondition: BinaryExpr.eq(FunctionCallExpr.of(\"typeof\", [expression]), LiteralExpr.of(\"blob\")),\n\tvalue: FunctionCallExpr.of(\"json_array\", [FunctionCallExpr.of(\"hex\", [expression])])\n}], expression);\n/**\n* Projects a REAL as SQLite writes it in JSON, except an infinity, which SQLite writes as `9.0e+999` and which becomes the text `Infinity` or `-Infinity` that the codec stores. The test is equality with an infinity, so text or a blob that a REAL column holds outside a STRICT table passes through unchanged.\n*/\nconst floatJsonProjection = (expression) => CaseExpr.of([{\n\tcondition: BinaryExpr.eq(expression, LiteralExpr.of(Number.POSITIVE_INFINITY)),\n\tvalue: LiteralExpr.of(\"Infinity\")\n}, {\n\tcondition: BinaryExpr.eq(expression, LiteralExpr.of(Number.NEGATIVE_INFINITY)),\n\tvalue: LiteralExpr.of(\"-Infinity\")\n}], expression);\nconst JSON_RETAG_FN = \"json\";\n/**\n* Re-applies SQLite's JSON subtype to a document-valued expression.\n*\n* SQLite carries \"this text is JSON\" as a subtype on the value rather than in\n* its type, and the subtype does not survive a derived table: a document that\n* `json_object` produced arrives one level out as plain text, so the enclosing\n* constructor embeds it as a *string containing JSON* rather than as a\n* document. `json()` re-applies the subtype, which is what makes the value nest\n* as a document again.\n*\n* The loss happens at the first derived-table boundary and does not compound, so\n* a retag is needed where the document is consumed rather than at every level it\n* passes through.\n*\n* Applying this twice is a no-op — SQLite's `json()` is idempotent, and the\n* wrapper collapses rather than nesting so the rendered SQL says so too. It is\n* safe on any valid JSON text, including scalars, and on NULL; it raises\n* `malformed JSON` on text that is not JSON, which is the correct failure for a\n* value that was never a document.\n*/\nconst jsonDocumentRetag = (expression) => isJsonRetag(expression) ? expression : FunctionCallExpr.of(JSON_RETAG_FN, [expression]);\n/** Whether an expression is already a retag, so applying one again would only nest. */\nconst isJsonRetag = (expression) => expression instanceof FunctionCallExpr && expression.fn === JSON_RETAG_FN && expression.args.length === 1;\nconst DECIMAL_INTEGER = /^-?\\d+$/;\n/** Renders the document a `sqlite/json` value's JSON text holds, when it is a string, number or boolean, and nothing for text that is not JSON. */\nfunction jsonTextLiteral(value) {\n\tif (typeof value !== \"string\") return void 0;\n\ttry {\n\t\treturn renderTsLiteral(JSON.parse(value));\n\t} catch {\n\t\treturn;\n\t}\n}\n/**\n* SQLite stores an infinity but not NaN, which it turns into NULL, so a float codec on SQLite refuses NaN wherever it writes a value: to a parameter, and to the contract.\n*/\nfunction refuseNaN(codecId, value) {\n\tif (Number.isNaN(value)) throw sqliteError(\"RUNTIME.ENCODE_FAILED\", `${codecId} value must be a number other than NaN, which SQLite cannot store`, { meta: {\n\t\tcodecId,\n\t\treceived: \"NaN\"\n\t} });\n\treturn value;\n}\n/** Reads a float's JSON form, which on SQLite has no NaN. */\nfunction readJsonFloatWithoutNaN(codecId, json) {\n\tconst value = readJsonFloat(codecId, json);\n\tif (Number.isNaN(value)) return refuseJsonValue(codecId, \"a finite number or the text Infinity or -Infinity; SQLite cannot store NaN\", json);\n\treturn value;\n}\n/** `sql/float@1` as SQLite stores it: without NaN. */\nvar SqliteFloatCodec = class extends SqlFloatCodec {\n\tasync toWire(value, ctx) {\n\t\treturn super.toWire(refuseNaN(this.id, value), ctx);\n\t}\n\tasync fromWire(wire, _ctx) {\n\t\treturn floatWire(this.id, wire);\n\t}\n\tfromDataTypeValue(value) {\n\t\treturn readJsonFloatWithoutNaN(this.id, value.value);\n\t}\n\ttoDataTypeValue(input) {\n\t\treturn super.toDataTypeValue(refuseNaN(this.id, input));\n\t}\n};\n/**\n* Requires an application value to be of the JS type the codec reads.\n*\n* A range check reads a value of the wrong type as a value out of range, and\n* reports a number plainly inside the range as outside it — so the type is\n* established first and answered for on its own terms, naming what a caller\n* has to change.\n*/\nconst requireJsType = (codecId, expected, value) => {\n\tif (typeof value === expected) return;\n\tthrow sqliteError(\"RUNTIME.ENCODE_FAILED\", `${codecId} value must be a ${expected}, got ${typeof value} ${String(value)}`, { meta: {\n\t\tcodecId,\n\t\treceived: typeof value\n\t} });\n};\n/**\n* Writes an application value as the decimal text `sqlite/bigint@1` carries as\n* its canonical JSON.\n*\n* A schema-written literal default (`BigInt @default(0)`) arrives here as a\n* `number`, since a number literal is the only integer a schema language\n* writes, and one that is a safe integer names its value exactly. Past that\n* range the literal was rounded before any of this ran, so the value written is\n* not the value meant — which this refuses rather than minting an exact-looking\n* value from it. A non-integral number is refused on the same terms.\n*/\nconst bigintEncodeJson = (codecId, value) => {\n\tif (typeof value !== \"number\") {\n\t\trequireJsType(codecId, \"bigint\", value);\n\t\treturn value.toString();\n\t}\n\tif (!Number.isSafeInteger(value)) throw sqliteError(\"RUNTIME.ENCODE_FAILED\", `${codecId} number literal must be an integer within the safe integer range, got ${String(value)}`, { meta: {\n\t\tcodecId,\n\t\treceived: String(value)\n\t} });\n\treturn BigInt(value).toString();\n};\n/**\n* Requires an integer within ±(2^53 − 1), the range a JS `number` holds\n* exactly. The guard throws rather than rounding: past the boundary a `number`\n* silently loses digits, which is the failure mode these codecs exist to refuse.\n*/\nconst safeIntegerNumber = (codecId, value, code) => {\n\tif (!Number.isSafeInteger(value)) throw sqliteError(code, `${codecId} value must be an integer within the safe integer range, got ${String(value)}`, { meta: {\n\t\tcodecId,\n\t\treceived: String(value)\n\t} });\n\tif (Object.is(value, -0)) return 0;\n\treturn value;\n};\n/** The application value a number-flavoured integer codec writes: the JS type it reads, within the range that type holds exactly. */\nconst encodableSafeInteger = (codecId, value) => {\n\trequireJsType(codecId, \"number\", value);\n\treturn safeIntegerNumber(codecId, value, \"RUNTIME.ENCODE_FAILED\");\n};\n/**\n* Converts an exact `bigint` into a safe-range `number`, comparing before any\n* conversion so an out-of-range value throws rather than rounds.\n*/\nconst safeIntegerFromBigint = (codecId, value) => {\n\tif (value < SAFE_INTEGER_BIGINT_RANGE.min || value > SAFE_INTEGER_BIGINT_RANGE.max) throw sqliteError(\"RUNTIME.DECODE_FAILED\", `${codecId} value must be an integer within the safe integer range, got ${value}`, { meta: {\n\t\tcodecId,\n\t\treceived: value.toString()\n\t} });\n\treturn Number(value);\n};\n/** `sqlite/integer`'s stored form, read into a `number`: digit text within the safe integer range. */\nconst safeIntegerFromDigitText = (codecId, json) => Number(readJsonIntegerText(codecId, json, SAFE_INTEGER_BIGINT_RANGE));\n/** A `number` written as `sqlite/integer`'s stored form. */\nconst digitTextOfSafeInteger = (codecId, value) => String(encodableSafeInteger(codecId, value));\n/**\n* Reads an INTEGER's wire value into a `number`: the number the driver returns for a row, or the decimal text an include carries, because its projection casts the integer to text so that no digit is lost in JSON.\n*/\nfunction safeIntegerWire(codecId, wire) {\n\tif (typeof wire === \"number\") return wire;\n\tif (!DECIMAL_INTEGER.test(wire)) throw sqliteError(\"RUNTIME.DECODE_FAILED\", `${codecId} wire value must be an integer or its decimal text`, { meta: {\n\t\tcodecId,\n\t\treceived: wire\n\t} });\n\treturn safeIntegerFromBigint(codecId, BigInt(wire));\n}\n/**\n* Reads a REAL's wire value: the number the driver returns for a row, or the text `Infinity` or `-Infinity` an include carries, because JSON has no infinity.\n*/\nfunction floatWire(codecId, wire) {\n\tif (typeof wire === \"number\") return wire;\n\tif (wire === \"Infinity\") return Number.POSITIVE_INFINITY;\n\tif (wire === \"-Infinity\") return Number.NEGATIVE_INFINITY;\n\tthrow sqliteError(\"RUNTIME.DECODE_FAILED\", `${codecId} wire value must be a number, or the text Infinity or -Infinity`, { meta: {\n\t\tcodecId,\n\t\treceived: wire\n\t} });\n}\n/** The hex text SQLite's `hex()` writes: two uppercase digits for each byte. */\nconst BLOB_HEX_TEXT = /^(?:[0-9A-F]{2})*$/;\n/**\n* Projects a `sql/char@1` value without trailing spaces, as its `decode` reads it on a flat read, so an include reads the same value. SQLite does not pad the value; the rule is the family codec's.\n*/\nconst unpaddedCharJsonProjection = (expression) => FunctionCallExpr.of(\"rtrim\", [expression, LiteralExpr.of(\" \")]);\nconst sqliteSqlCharDescriptor = sqliteCodec(sqlCharDescriptor, {\n\tdataType: sqliteCharacter,\n\trenderValueLiteral: renderTsLiteral,\n\tjsonProjection: unpaddedCharJsonProjection,\n\tfactory: (descriptor, dataType, params) => () => new SqlCharCodec(descriptor, dataType, params)\n});\nconst sqliteSqlVarcharDescriptor = sqliteCodec(sqlVarcharDescriptor, {\n\tdataType: sqliteCharacterVarying,\n\trenderValueLiteral: renderTsLiteral,\n\tjsonProjection: identityJsonProjection,\n\tfactory: (descriptor, dataType, params) => () => new SqlVarcharCodec(descriptor, dataType, params)\n});\n/**\n* `sql/raw@1` as SQLite reads it: a value keeps the shape the driver returns for its storage class. An include carries a BLOB as the array of its hex text that the projection writes, because SQLite's JSON functions refuse a blob; a column value never reaches the JSON constructor as an array, so the array is a BLOB.\n*/\nvar SqliteSqlRawCodec = class extends SqlRawCodec {\n\tasync fromWire(wire, _ctx) {\n\t\tif (!Array.isArray(wire)) return wire;\n\t\tconst [hex] = wire.length === 1 ? wire : [];\n\t\tif (typeof hex !== \"string\" || !BLOB_HEX_TEXT.test(hex)) throw sqliteError(\"RUNTIME.DECODE_FAILED\", `${this.id} wire value in an include must be the array of a BLOB's hex text`, { meta: {\n\t\t\tcodecId: this.id,\n\t\t\treceived: String(wire)\n\t\t} });\n\t\treturn new Uint8Array(Buffer.from(hex, \"hex\"));\n\t}\n};\nconst sqliteSqlRawDescriptor = sqliteCodec(sqlRawDescriptor, {\n\tdataType: sqlRawDataType,\n\tjsonProjection: hexJsonProjection,\n\tfactory: (descriptor, dataType, params) => () => new SqliteSqlRawCodec(descriptor, dataType, params)\n});\n/** `sql/int@1` as SQLite stores it: its stored form is `sqlite/integer`'s digit text. */\nvar SqliteSqlIntCodec = class extends SqlIntCodec {\n\tasync fromWire(wire, _ctx) {\n\t\treturn safeIntegerWire(this.id, wire);\n\t}\n\tfromDataTypeValue(value) {\n\t\treturn safeIntegerFromDigitText(this.id, value.value);\n\t}\n\ttoDataTypeValue(input) {\n\t\treturn this.dataTypeValueOf(digitTextOfSafeInteger(this.id, input));\n\t}\n};\nconst sqliteSqlIntDescriptor = sqliteCodec(sqlIntDescriptor, {\n\tdataType: sqliteInteger,\n\trenderValueLiteral: decimalTextNumberLiteral,\n\tjsonProjection: decimalTextJsonProjection,\n\tfactory: (descriptor, dataType) => () => new SqliteSqlIntCodec(descriptor, dataType)\n});\nconst sqliteSqlFloatDescriptor = sqliteCodec(sqlFloatDescriptor, {\n\tdataType: sqliteReal,\n\trenderValueLiteral: floatNumberLiteral,\n\tjsonProjection: floatJsonProjection,\n\tfactory: (descriptor, dataType) => () => new SqliteFloatCodec(descriptor, dataType)\n});\nvar SqliteTextCodec = class extends CodecImpl {\n\tasync toWire(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync fromWire(wire, _ctx) {\n\t\treturn wire;\n\t}\n\tfromDataTypeValue(value) {\n\t\treturn value.value;\n\t}\n\ttoDataTypeValue(input) {\n\t\treturn this.dataTypeValueOf(input);\n\t}\n};\nvar SqliteTextDescriptor = class extends SqliteCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = sqliteText.id;\n\tcodecId = SQLITE_TEXT_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"textual\"\n\t];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn renderTsLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new SqliteTextCodec(this, sqliteText);\n\t}\n};\nconst sqliteTextDescriptor = new SqliteTextDescriptor();\nconst sqliteTextColumn = () => column(sqliteTextDescriptor.factory(), sqliteTextDescriptor.codecId, void 0);\nvar SqliteIntegerCodec = class extends CodecImpl {\n\tasync toWire(value, _ctx) {\n\t\treturn value;\n\t}\n\tasync fromWire(wire, _ctx) {\n\t\treturn safeIntegerWire(SQLITE_INTEGER_CODEC_ID, wire);\n\t}\n\tfromDataTypeValue(value) {\n\t\treturn safeIntegerFromDigitText(SQLITE_INTEGER_CODEC_ID, value.value);\n\t}\n\ttoDataTypeValue(input) {\n\t\treturn this.dataTypeValueOf(digitTextOfSafeInteger(SQLITE_INTEGER_CODEC_ID, input));\n\t}\n};\nvar SqliteIntegerDescriptor = class extends SqliteCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn decimalTextJsonProjection(expression);\n\t}\n\tdataType = sqliteInteger.id;\n\tcodecId = SQLITE_INTEGER_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn decimalTextNumberLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new SqliteIntegerCodec(this, sqliteInteger);\n\t}\n};\nconst sqliteIntegerDescriptor = new SqliteIntegerDescriptor();\nconst sqliteIntegerColumn = () => column(sqliteIntegerDescriptor.factory(), sqliteIntegerDescriptor.codecId, void 0);\nvar SqliteRealCodec = class extends CodecImpl {\n\tasync toWire(value, _ctx) {\n\t\treturn refuseNaN(SQLITE_REAL_CODEC_ID, value);\n\t}\n\tasync fromWire(wire, _ctx) {\n\t\treturn floatWire(SQLITE_REAL_CODEC_ID, wire);\n\t}\n\tfromDataTypeValue(value) {\n\t\treturn readJsonFloatWithoutNaN(SQLITE_REAL_CODEC_ID, value.value);\n\t}\n\ttoDataTypeValue(input) {\n\t\treturn this.dataTypeValueOf(floatToJson(refuseNaN(SQLITE_REAL_CODEC_ID, input)));\n\t}\n};\nvar SqliteRealDescriptor = class extends SqliteCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn floatJsonProjection(expression);\n\t}\n\tdataType = sqliteReal.id;\n\tcodecId = SQLITE_REAL_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn floatNumberLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new SqliteRealCodec(this, sqliteReal);\n\t}\n};\nconst sqliteRealDescriptor = new SqliteRealDescriptor();\nconst sqliteRealColumn = () => column(sqliteRealDescriptor.factory(), sqliteRealDescriptor.codecId, void 0);\nvar SqliteBlobCodec = class extends CodecImpl {\n\tasync toWire(value, _ctx) {\n\t\treturn value;\n\t}\n\t/** A row carries the blob's bytes; an include carries the array of their hex text that its projection writes, because SQLite's JSON functions refuse a blob. Anything else a BLOB column holds is refused. */\n\tasync fromWire(wire, _ctx) {\n\t\tif (wire instanceof Uint8Array) return wire;\n\t\tconst [hex] = Array.isArray(wire) && wire.length === 1 ? wire : [];\n\t\tif (typeof hex !== \"string\" || !BLOB_HEX_TEXT.test(hex)) throw sqliteError(\"RUNTIME.DECODE_FAILED\", \"sqlite/blob@1 wire value must be bytes, or the array of their hex text an include carries\", { meta: {\n\t\t\tcodecId: SQLITE_BLOB_CODEC_ID,\n\t\t\treceived: String(wire)\n\t\t} });\n\t\treturn new Uint8Array(Buffer.from(hex, \"hex\"));\n\t}\n\tfromDataTypeValue(value) {\n\t\treturn new Uint8Array(Buffer.from(value.value, \"hex\"));\n\t}\n\ttoDataTypeValue(input) {\n\t\treturn this.dataTypeValueOf(Buffer.from(input).toString(\"hex\").toUpperCase());\n\t}\n};\nvar SqliteBlobDescriptor = class extends SqliteCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn hexJsonProjection(expression);\n\t}\n\tdataType = sqliteBlob.id;\n\tcodecId = SQLITE_BLOB_CODEC_ID;\n\ttraits = [\"equality\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new SqliteBlobCodec(this, sqliteBlob);\n\t}\n};\nconst sqliteBlobDescriptor = new SqliteBlobDescriptor();\nconst sqliteBlobColumn = () => column(sqliteBlobDescriptor.factory(), sqliteBlobDescriptor.codecId, void 0);\n/**\n* Reads what SQLite holds for an instant as `Date` reads it, with text without a UTC offset read as UTC, as SQLite's own date and time functions read it, never in the machine's time zone. A number is milliseconds since 1970, as the Prisma ORM query engine wrote a `DateTime`. Digits below a millisecond are cut, as `Date` cuts them.\n*/\nfunction decodeSqliteDatetime(value) {\n\tconst date = new Date(typeof value === \"number\" ? value : asUtcWhenUnmarked(value));\n\tif (Number.isNaN(date.getTime())) throw sqliteError(\"RUNTIME.DECODE_FAILED\", `sqlite/datetime@1 wire value must be a date and time as text, or a number of milliseconds since 1970: ${String(value)}`, { meta: {\n\t\tcodecId: SQLITE_DATETIME_CODEC_ID,\n\t\treceived: String(value)\n\t} });\n\treturn date;\n}\nconst DATE_ONLY = /^\\d{4}-\\d{2}-\\d{2}$/;\nconst DATE_TIME_WITHOUT_OFFSET = /^(\\d{4}-\\d{2}-\\d{2})[Tt ](\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d+)?)?)$/;\n/** A date alone as its midnight in UTC, and a date and time without an offset as UTC. */\nfunction asUtcWhenUnmarked(text) {\n\tif (DATE_ONLY.test(text)) return `${text}T00:00:00Z`;\n\tconst unmarked = DATE_TIME_WITHOUT_OFFSET.exec(text);\n\treturn unmarked === null ? text : `${unmarked[1]}T${unmarked[2]}Z`;\n}\n/** The text SQLite holds for an instant: what the codec writes for every row, and for a default. */\nfunction encodeSqliteDatetime(value) {\n\treturn value.toISOString();\n}\nvar SqliteDatetimeCodec = class extends CodecImpl {\n\tasync toWire(value, _ctx) {\n\t\treturn encodeSqliteDatetime(value);\n\t}\n\tasync fromWire(wire, _ctx) {\n\t\treturn decodeSqliteDatetime(wire);\n\t}\n\tfromDataTypeValue(value) {\n\t\treturn new Date(value.value);\n\t}\n\ttoDataTypeValue(input) {\n\t\treturn this.dataTypeValueOf(input.toISOString());\n\t}\n};\nvar SqliteDatetimeDescriptor = class extends SqliteCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = sqliteDatetime.id;\n\tcodecId = SQLITE_DATETIME_CODEC_ID;\n\ttraits = [\"equality\", \"order\"];\n\tparamsSchema = void 0;\n\tfactory() {\n\t\treturn () => new SqliteDatetimeCodec(this, sqliteDatetime);\n\t}\n};\nconst sqliteDatetimeDescriptor = new SqliteDatetimeDescriptor();\nconst sqliteDatetimeColumn = () => column(sqliteDatetimeDescriptor.factory(), sqliteDatetimeDescriptor.codecId, void 0);\nvar SqliteJsonCodec = class extends CodecImpl {\n\tasync toWire(value, _ctx) {\n\t\treturn JSON.stringify(value);\n\t}\n\tasync fromWire(wire, _ctx) {\n\t\treturn typeof wire === \"string\" ? blindCast(JSON.parse(wire)) : wire;\n\t}\n\tfromDataTypeValue(value) {\n\t\treturn blindCast(JSON.parse(value.value));\n\t}\n\ttoDataTypeValue(input) {\n\t\treturn this.dataTypeValueOf(JSON.stringify(input));\n\t}\n};\n/**\n* The column stores the document's JSON text and the stored form is that text, so the stored\n* value is projected as it is: a string the enclosing JSON constructor embeds as a string.\n*/\nvar SqliteJsonDescriptor = class extends SqliteCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn expression;\n\t}\n\tdataType = sqliteJson.id;\n\tcodecId = SQLITE_JSON_CODEC_ID;\n\ttraits = [\"equality\"];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn jsonTextLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new SqliteJsonCodec(this, sqliteJson);\n\t}\n};\nconst sqliteJsonDescriptor = new SqliteJsonDescriptor();\nconst sqliteJsonColumn = () => column(sqliteJsonDescriptor.factory(), sqliteJsonDescriptor.codecId, void 0);\nvar SqliteBigintCodec = class extends CodecImpl {\n\tasync toWire(value, _ctx) {\n\t\trequireJsType(SQLITE_BIGINT_CODEC_ID, \"bigint\", value);\n\t\treturn value;\n\t}\n\t/**\n\t* The wire value is text wherever the value could outrun a JS number: an\n\t* aggregate SQLite computes leaves the database through the descriptor's cast\n\t* to text, because the driver reads an integer no number can hold as an error\n\t* rather than a value. A number-typed wire value must therefore be a safe\n\t* integer — past ±(2^53 − 1) it has already rounded, and converting it would\n\t* mint a spuriously-exact `bigint` that need not equal the stored value.\n\t*/\n\tasync fromWire(wire, _ctx) {\n\t\tif (typeof wire === \"number\" && !Number.isSafeInteger(wire)) throw sqliteError(\"RUNTIME.DECODE_FAILED\", `sqlite/bigint@1 wire number must be an integer within the safe integer range, got ${String(wire)}`, { meta: {\n\t\t\tcodecId: SQLITE_BIGINT_CODEC_ID,\n\t\t\treceived: String(wire)\n\t\t} });\n\t\tif (typeof wire === \"string\" && !DECIMAL_INTEGER.test(wire)) throw sqliteError(\"RUNTIME.DECODE_FAILED\", \"sqlite/bigint@1 wire value must be a decimal string\", { meta: {\n\t\t\tcodecId: SQLITE_BIGINT_CODEC_ID,\n\t\t\treceived: wire\n\t\t} });\n\t\treturn BigInt(wire);\n\t}\n\tfromDataTypeValue(value) {\n\t\treturn BigInt(value.value);\n\t}\n\ttoDataTypeValue(input) {\n\t\treturn this.dataTypeValueOf(bigintEncodeJson(SQLITE_BIGINT_CODEC_ID, input));\n\t}\n};\nvar SqliteBigintDescriptor = class extends SqliteCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn decimalTextJsonProjection(expression);\n\t}\n\tdataType = sqliteInteger.id;\n\tcodecId = SQLITE_BIGINT_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn decimalTextBigintLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new SqliteBigintCodec(this, sqliteInteger);\n\t}\n};\nconst sqliteBigintDescriptor = new SqliteBigintDescriptor();\nconst sqliteBigintColumn = () => column(sqliteBigintDescriptor.factory(), sqliteBigintDescriptor.codecId, void 0);\n/**\n* A SQLite INTEGER 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* `sqlite/integer` carries, which every codec of that data type shares.\n*/\nvar SqliteBigintNumberCodec = class extends CodecImpl {\n\tasync toWire(value, _ctx) {\n\t\treturn encodableSafeInteger(SQLITE_BIGINT_NUMBER_CODEC_ID, value);\n\t}\n\t/**\n\t* The driver hands an INTEGER over as a `number` or, in safe-integer mode, a\n\t* `bigint`; a bigint (or decimal text) is range-checked exactly before any\n\t* conversion to `number`, so an out-of-range value throws rather than rounds.\n\t*/\n\tasync fromWire(wire, _ctx) {\n\t\tif (typeof wire === \"number\") return safeIntegerNumber(SQLITE_BIGINT_NUMBER_CODEC_ID, wire, \"RUNTIME.DECODE_FAILED\");\n\t\tif (typeof wire === \"string\" && !DECIMAL_INTEGER.test(wire)) throw sqliteError(\"RUNTIME.DECODE_FAILED\", \"sqlite/bigintnumber@1 wire value must be a decimal string\", { meta: {\n\t\t\tcodecId: SQLITE_BIGINT_NUMBER_CODEC_ID,\n\t\t\treceived: wire\n\t\t} });\n\t\treturn safeIntegerFromBigint(SQLITE_BIGINT_NUMBER_CODEC_ID, BigInt(wire));\n\t}\n\tfromDataTypeValue(value) {\n\t\treturn safeIntegerFromDigitText(SQLITE_BIGINT_NUMBER_CODEC_ID, value.value);\n\t}\n\ttoDataTypeValue(input) {\n\t\treturn this.dataTypeValueOf(digitTextOfSafeInteger(SQLITE_BIGINT_NUMBER_CODEC_ID, input));\n\t}\n};\nvar SqliteBigintNumberDescriptor = class extends SqliteCodecDescriptor {\n\tjsonProjection(expression) {\n\t\treturn decimalTextJsonProjection(expression);\n\t}\n\tdataType = sqliteInteger.id;\n\tcodecId = SQLITE_BIGINT_NUMBER_CODEC_ID;\n\ttraits = [\n\t\t\"equality\",\n\t\t\"order\",\n\t\t\"numeric\"\n\t];\n\tparamsSchema = void 0;\n\trenderValueLiteral(value) {\n\t\treturn decimalTextNumberLiteral(value);\n\t}\n\tfactory() {\n\t\treturn () => new SqliteBigintNumberCodec(this, sqliteInteger);\n\t}\n};\nconst sqliteBigintNumberDescriptor = new SqliteBigintNumberDescriptor();\nconst sqliteBigintNumberColumn = () => column(sqliteBigintNumberDescriptor.factory(), sqliteBigintNumberDescriptor.codecId, void 0);\nconst codecDescriptors = defineSqliteCodecs([\n\tsqliteSqlCharDescriptor,\n\tsqliteSqlVarcharDescriptor,\n\tsqliteSqlIntDescriptor,\n\tsqliteSqlFloatDescriptor,\n\tsqliteSqlRawDescriptor,\n\tsqliteTextDescriptor,\n\tsqliteIntegerDescriptor,\n\tsqliteRealDescriptor,\n\tsqliteBlobDescriptor,\n\tsqliteDatetimeDescriptor,\n\tsqliteJsonDescriptor,\n\tsqliteBigintDescriptor,\n\tsqliteBigintNumberDescriptor\n]);\n//#endregion\nexport { sqliteBigintNumberColumn as a, sqliteIntegerColumn as c, sqliteTextColumn as d, sqliteBigintColumn as i, sqliteJsonColumn as l, encodeSqliteDatetime as n, sqliteBlobColumn as o, jsonDocumentRetag as r, sqliteDatetimeColumn as s, codecDescriptors as t, sqliteRealColumn as u };\n\n//# sourceMappingURL=codecs-yZoH21Yj.mjs.map"],"mappings":"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"}
|