@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-contributions-wweWdXMK-
|
|
1
|
+
{"version":3,"file":"contract-contributions-wweWdXMK-CwYZg4jC.mjs","names":[],"sources":["../../../../3-targets/sqlite/2-adapter/dist/contract-contributions-wweWdXMK.mjs"],"sourcesContent":["import { sqliteAggregateDescriptors } from \"@internal/target-sqlite/aggregates\";\n//#region src/core/capabilities.ts\nconst sqliteAdapterCapabilities = Object.freeze({ sql: {\n\torderBy: true,\n\tlimit: true,\n\tlateral: false,\n\tjsonAgg: true,\n\treturning: true,\n\tforeignKeys: true,\n\tenums: false,\n\tinsertOnConflictSkip: true,\n\tinsertOnConflictWithoutTarget: true\n} });\n//#endregion\n//#region src/core/contract-contributions.ts\n/**\n* What this adapter adds to every contract it runs: its capabilities and the aggregate overloads it lists. `prisma contract emit` reads them through the adapter's descriptor, and the TypeScript `defineContract` passes them to the contract build.\n*/\nconst sqliteAdapterContractContributions = {\n\tcapabilities: sqliteAdapterCapabilities,\n\ttypes: { aggregateDescriptors: sqliteAggregateDescriptors }\n};\n//#endregion\nexport { sqliteAdapterCapabilities as n, sqliteAdapterContractContributions as t };\n\n//# sourceMappingURL=contract-contributions-wweWdXMK.mjs.map"],"mappings":";;AAEA,MAAM,4BAA4B,OAAO,OAAO,EAAE,KAAK;CACtD,SAAS;CACT,OAAO;CACP,SAAS;CACT,SAAS;CACT,WAAW;CACX,aAAa;CACb,OAAO;CACP,sBAAsB;CACtB,+BAA+B;AAChC,EAAE,CAAC;;;;AAMH,MAAM,qCAAqC;CAC1C,cAAc;CACd,OAAO,EAAE,sBAAsB,2BAA2B;AAC3D"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { r as createTable } from "./ddl-
|
|
1
|
+
import { d as SQLITE_JSON_CODEC_ID, i as SQLITE_DATETIME_CODEC_ID, p as SQLITE_TEXT_CODEC_ID, u as SQLITE_INTEGER_CODEC_ID } from "./codec-ids-BHBFCNsQ-C1Af_LGF.mjs";
|
|
2
|
+
import { r as SQLITE_NOW_EXPRESSION } from "./datetime-text-CbgLX4q3-BKp563Ja.mjs";
|
|
3
|
+
import { r as createTable } from "./ddl-BvD-wVtg-BoEWa8CG.mjs";
|
|
4
4
|
import { TableSource } from "@prisma/orm-family-sql/relational-core/ast";
|
|
5
5
|
import { APP_SPACE_ID } from "@prisma/orm-framework/components/control";
|
|
6
6
|
import { col, fn, lit, table } from "@prisma/orm-family-sql/relational-core/contract-free";
|
|
@@ -88,4 +88,4 @@ function buildControlTableBootstrapQueries() {
|
|
|
88
88
|
//#endregion
|
|
89
89
|
export { jsonText as a, integer as i, buildSignMarkerBootstrapQueries as n, sqliteTable as o, datetime as r, text as s, buildControlTableBootstrapQueries as t };
|
|
90
90
|
|
|
91
|
-
//# sourceMappingURL=contract-free-
|
|
91
|
+
//# sourceMappingURL=contract-free-BH73BZHy.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-free-
|
|
1
|
+
{"version":3,"file":"contract-free-BH73BZHy.mjs","names":[],"sources":["../../../../3-targets/sqlite/1-target/dist/contract-free.mjs"],"sourcesContent":["import { d as SQLITE_JSON_CODEC_ID, i as SQLITE_DATETIME_CODEC_ID, p as SQLITE_TEXT_CODEC_ID, u as SQLITE_INTEGER_CODEC_ID } from \"./codec-ids-BHBFCNsQ.mjs\";\nimport { r as SQLITE_NOW_EXPRESSION } from \"./datetime-text-CbgLX4q3.mjs\";\nimport { a as tableExistsAst, i as indexExistsAst, n as columnExistsAst, t as createTable } from \"./ddl-BvD-wVtg.mjs\";\nimport { TableSource } from \"@internal/sql-relational-core/ast\";\nimport { APP_SPACE_ID } from \"@internal/framework-components/control\";\nimport { col, fn, lit, table } from \"@internal/sql-relational-core/contract-free\";\n//#region src/contract-free/columns.ts\nconst desc = (codecId, opts) => ({\n\tcodecId,\n\tnullable: opts?.nullable ?? false\n});\nconst text = (opts) => desc(SQLITE_TEXT_CODEC_ID, opts);\nconst integer = (opts) => desc(SQLITE_INTEGER_CODEC_ID, opts);\nconst jsonText = (opts) => desc(SQLITE_JSON_CODEC_ID, opts);\nconst datetime = (opts) => desc(SQLITE_DATETIME_CODEC_ID, opts);\n/**\n* Declare a SQLite control-plane table with a typed column schema. SQLite tables\n* are addressed by a flat name (no schema prefix).\n*\n* ```ts\n* const marker = sqliteTable('_prisma_marker', {\n* space: text(),\n* core_hash: text(),\n* updated_at: datetime(),\n* });\n* ```\n*/\nfunction sqliteTable(name, columns) {\n\treturn table(TableSource.named(name), columns);\n}\n//#endregion\n//#region src/contract-free/control-bootstrap.ts\nconst markerColumns = [\n\tcol(\"space\", \"TEXT\", {\n\t\tnotNull: true,\n\t\tprimaryKey: true,\n\t\tdefault: lit(APP_SPACE_ID)\n\t}),\n\tcol(\"core_hash\", \"TEXT\", { notNull: true }),\n\tcol(\"profile_hash\", \"TEXT\", { notNull: true }),\n\tcol(\"contract_json\", \"TEXT\"),\n\tcol(\"canonical_version\", \"INTEGER\"),\n\tcol(\"updated_at\", \"TEXT\", {\n\t\tnotNull: true,\n\t\tdefault: fn(SQLITE_NOW_EXPRESSION)\n\t}),\n\tcol(\"app_tag\", \"TEXT\"),\n\tcol(\"meta\", \"TEXT\", {\n\t\tnotNull: true,\n\t\tdefault: lit(\"{}\")\n\t}),\n\tcol(\"invariants\", \"TEXT\", {\n\t\tnotNull: true,\n\t\tdefault: lit(\"[]\")\n\t})\n];\nconst ledgerColumns = [\n\tcol(\"id\", \"INTEGER PRIMARY KEY AUTOINCREMENT\"),\n\tcol(\"created_at\", \"TEXT\", {\n\t\tnotNull: true,\n\t\tdefault: fn(SQLITE_NOW_EXPRESSION)\n\t}),\n\tcol(\"space\", \"TEXT\", { notNull: true }),\n\tcol(\"migration_name\", \"TEXT\", { notNull: true }),\n\tcol(\"migration_hash\", \"TEXT\", { notNull: true }),\n\tcol(\"origin_core_hash\", \"TEXT\"),\n\tcol(\"origin_profile_hash\", \"TEXT\"),\n\tcol(\"destination_core_hash\", \"TEXT\", { notNull: true }),\n\tcol(\"destination_profile_hash\", \"TEXT\"),\n\tcol(\"contract_json_before\", \"TEXT\"),\n\tcol(\"contract_json_after\", \"TEXT\"),\n\tcol(\"operations\", \"TEXT\", { notNull: true })\n];\nconst markerTable = createTable({\n\ttable: \"_prisma_marker\",\n\tifNotExists: true,\n\tcolumns: markerColumns\n});\nconst ledgerTable = createTable({\n\ttable: \"_prisma_ledger\",\n\tifNotExists: true,\n\tcolumns: ledgerColumns\n});\nfunction buildSignMarkerBootstrapQueries() {\n\treturn [markerTable];\n}\nfunction buildControlTableBootstrapQueries() {\n\treturn [markerTable, ledgerTable];\n}\n//#endregion\nexport { buildControlTableBootstrapQueries, buildSignMarkerBootstrapQueries, columnExistsAst, createTable, datetime, indexExistsAst, integer, jsonText, sqliteTable, tableExistsAst, text };\n\n//# sourceMappingURL=contract-free.mjs.map"],"mappings":";;;;;;;AAOA,MAAM,QAAQ,SAAS,UAAU;CAChC;CACA,UAAU,MAAM,YAAY;AAC7B;AACA,MAAM,QAAQ,SAAS,KAAK,sBAAsB,IAAI;AACtD,MAAM,WAAW,SAAS,KAAK,yBAAyB,IAAI;AAC5D,MAAM,YAAY,SAAS,KAAK,sBAAsB,IAAI;AAC1D,MAAM,YAAY,SAAS,KAAK,0BAA0B,IAAI;;;;;;;;;;;;;AAa9D,SAAS,YAAY,MAAM,SAAS;CACnC,OAAO,MAAM,YAAY,MAAM,IAAI,GAAG,OAAO;AAC9C;AAGA,MAAM,gBAAgB;CACrB,IAAI,SAAS,QAAQ;EACpB,SAAS;EACT,YAAY;EACZ,SAAS,IAAI,YAAY;CAC1B,CAAC;CACD,IAAI,aAAa,QAAQ,EAAE,SAAS,KAAK,CAAC;CAC1C,IAAI,gBAAgB,QAAQ,EAAE,SAAS,KAAK,CAAC;CAC7C,IAAI,iBAAiB,MAAM;CAC3B,IAAI,qBAAqB,SAAS;CAClC,IAAI,cAAc,QAAQ;EACzB,SAAS;EACT,SAAS,GAAG,qBAAqB;CAClC,CAAC;CACD,IAAI,WAAW,MAAM;CACrB,IAAI,QAAQ,QAAQ;EACnB,SAAS;EACT,SAAS,IAAI,IAAI;CAClB,CAAC;CACD,IAAI,cAAc,QAAQ;EACzB,SAAS;EACT,SAAS,IAAI,IAAI;CAClB,CAAC;AACF;AACA,MAAM,gBAAgB;CACrB,IAAI,MAAM,mCAAmC;CAC7C,IAAI,cAAc,QAAQ;EACzB,SAAS;EACT,SAAS,GAAG,qBAAqB;CAClC,CAAC;CACD,IAAI,SAAS,QAAQ,EAAE,SAAS,KAAK,CAAC;CACtC,IAAI,kBAAkB,QAAQ,EAAE,SAAS,KAAK,CAAC;CAC/C,IAAI,kBAAkB,QAAQ,EAAE,SAAS,KAAK,CAAC;CAC/C,IAAI,oBAAoB,MAAM;CAC9B,IAAI,uBAAuB,MAAM;CACjC,IAAI,yBAAyB,QAAQ,EAAE,SAAS,KAAK,CAAC;CACtD,IAAI,4BAA4B,MAAM;CACtC,IAAI,wBAAwB,MAAM;CAClC,IAAI,uBAAuB,MAAM;CACjC,IAAI,cAAc,QAAQ,EAAE,SAAS,KAAK,CAAC;AAC5C;AACA,MAAM,cAAc,YAAY;CAC/B,OAAO;CACP,aAAa;CACb,SAAS;AACV,CAAC;AACD,MAAM,cAAc,YAAY;CAC/B,OAAO;CACP,aAAa;CACb,SAAS;AACV,CAAC;AACD,SAAS,kCAAkC;CAC1C,OAAO,CAAC,WAAW;AACpB;AACA,SAAS,oCAAoC;CAC5C,OAAO,CAAC,aAAa,WAAW;AACjC"}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import { t as SqlitePlanTargetDetails } from "./planner-target-details-B-qtfkmj-DIGpv7YQ.mjs";
|
|
2
|
+
import { SqlStorage } from "@prisma/orm-family-sql/contract/types";
|
|
3
|
+
import { SqlControlTargetDescriptor } from "@prisma/orm-family-sql/family/control";
|
|
4
|
+
import { Contract } from "@prisma/orm-framework/contract/types";
|
|
5
|
+
//#region ../../../3-targets/sqlite/1-target/dist/control.d.mts
|
|
6
|
+
//#region src/core/migrations/control-target.d.ts
|
|
7
|
+
declare const sqliteControlTargetDescriptor: SqlControlTargetDescriptor<"sqlite", SqlitePlanTargetDetails, Contract<SqlStorage<string>>>;
|
|
8
|
+
//#endregion
|
|
9
|
+
//#region src/core/type-constructors.d.ts
|
|
10
|
+
/**
|
|
11
|
+
* The base scalars, the explicit date and time types and the convenience date and time types as type constructors. The target contributes them, so PSL and the TypeScript builder's `type.*` see the same names.
|
|
12
|
+
*/
|
|
13
|
+
declare const sqliteScalarTypeConstructors: {
|
|
14
|
+
readonly DateTime: {
|
|
15
|
+
readonly kind: "typeChoice";
|
|
16
|
+
readonly documentation: "A moment in time, stored as SQLite text. `as` is what the application reads: jsDate (a JavaScript Date), temporal (Temporal.Instant) or string, such as \"2024-01-01T00:00:00.000Z\".";
|
|
17
|
+
readonly args: readonly [{
|
|
18
|
+
readonly kind: "option";
|
|
19
|
+
readonly name: "as";
|
|
20
|
+
readonly values: readonly ["jsDate", "temporal", "string"];
|
|
21
|
+
readonly default: "jsDate";
|
|
22
|
+
readonly optional: true;
|
|
23
|
+
}, {
|
|
24
|
+
readonly kind: "option";
|
|
25
|
+
readonly name: "storage";
|
|
26
|
+
readonly values: readonly ["text"];
|
|
27
|
+
readonly default: "text";
|
|
28
|
+
readonly optional: true;
|
|
29
|
+
}];
|
|
30
|
+
readonly choices: readonly [{
|
|
31
|
+
readonly when: {
|
|
32
|
+
readonly as: "jsDate";
|
|
33
|
+
readonly storage: "text";
|
|
34
|
+
};
|
|
35
|
+
readonly type: "DatetimeJsDate";
|
|
36
|
+
}, {
|
|
37
|
+
readonly when: {
|
|
38
|
+
readonly as: "temporal";
|
|
39
|
+
readonly storage: "text";
|
|
40
|
+
};
|
|
41
|
+
readonly type: "DatetimeTemporal";
|
|
42
|
+
}, {
|
|
43
|
+
readonly when: {
|
|
44
|
+
readonly as: "string";
|
|
45
|
+
readonly storage: "text";
|
|
46
|
+
};
|
|
47
|
+
readonly type: "DatetimeString";
|
|
48
|
+
}];
|
|
49
|
+
};
|
|
50
|
+
readonly Date: {
|
|
51
|
+
readonly kind: "typeChoice";
|
|
52
|
+
readonly documentation: "A calendar date, stored as SQLite text. `as` is what the application reads: string, such as \"2024-02-29\", or temporal (Temporal.PlainDate).";
|
|
53
|
+
readonly args: readonly [{
|
|
54
|
+
readonly kind: "option";
|
|
55
|
+
readonly name: "as";
|
|
56
|
+
readonly values: readonly ["string", "temporal"];
|
|
57
|
+
readonly default: "string";
|
|
58
|
+
readonly optional: true;
|
|
59
|
+
}, {
|
|
60
|
+
readonly kind: "option";
|
|
61
|
+
readonly name: "storage";
|
|
62
|
+
readonly values: readonly ["text"];
|
|
63
|
+
readonly default: "text";
|
|
64
|
+
readonly optional: true;
|
|
65
|
+
}];
|
|
66
|
+
readonly choices: readonly [{
|
|
67
|
+
readonly when: {
|
|
68
|
+
readonly as: "string";
|
|
69
|
+
readonly storage: "text";
|
|
70
|
+
};
|
|
71
|
+
readonly type: "DateString";
|
|
72
|
+
}, {
|
|
73
|
+
readonly when: {
|
|
74
|
+
readonly as: "temporal";
|
|
75
|
+
readonly storage: "text";
|
|
76
|
+
};
|
|
77
|
+
readonly type: "DateTemporal";
|
|
78
|
+
}];
|
|
79
|
+
};
|
|
80
|
+
readonly Time: {
|
|
81
|
+
readonly kind: "typeChoice";
|
|
82
|
+
readonly documentation: "A time of day, stored as SQLite text. `as` is what the application reads: string, such as \"09:30:00.000\", or temporal (Temporal.PlainTime).";
|
|
83
|
+
readonly args: readonly [{
|
|
84
|
+
readonly kind: "option";
|
|
85
|
+
readonly name: "as";
|
|
86
|
+
readonly values: readonly ["string", "temporal"];
|
|
87
|
+
readonly default: "string";
|
|
88
|
+
readonly optional: true;
|
|
89
|
+
}, {
|
|
90
|
+
readonly kind: "option";
|
|
91
|
+
readonly name: "storage";
|
|
92
|
+
readonly values: readonly ["text"];
|
|
93
|
+
readonly default: "text";
|
|
94
|
+
readonly optional: true;
|
|
95
|
+
}];
|
|
96
|
+
readonly choices: readonly [{
|
|
97
|
+
readonly when: {
|
|
98
|
+
readonly as: "string";
|
|
99
|
+
readonly storage: "text";
|
|
100
|
+
};
|
|
101
|
+
readonly type: "TimeString";
|
|
102
|
+
}, {
|
|
103
|
+
readonly when: {
|
|
104
|
+
readonly as: "temporal";
|
|
105
|
+
readonly storage: "text";
|
|
106
|
+
};
|
|
107
|
+
readonly type: "TimeTemporal";
|
|
108
|
+
}];
|
|
109
|
+
};
|
|
110
|
+
readonly Duration: {
|
|
111
|
+
readonly kind: "typeChoice";
|
|
112
|
+
readonly documentation: "A length of time, stored as SQLite text. `as` is what the application reads: string, an ISO 8601 duration such as \"PT1H30M\".";
|
|
113
|
+
readonly args: readonly [{
|
|
114
|
+
readonly kind: "option";
|
|
115
|
+
readonly name: "as";
|
|
116
|
+
readonly values: readonly ["string"];
|
|
117
|
+
readonly default: "string";
|
|
118
|
+
readonly optional: true;
|
|
119
|
+
}, {
|
|
120
|
+
readonly kind: "option";
|
|
121
|
+
readonly name: "storage";
|
|
122
|
+
readonly values: readonly ["text"];
|
|
123
|
+
readonly default: "text";
|
|
124
|
+
readonly optional: true;
|
|
125
|
+
}];
|
|
126
|
+
readonly choices: readonly [{
|
|
127
|
+
readonly when: {
|
|
128
|
+
readonly as: "string";
|
|
129
|
+
readonly storage: "text";
|
|
130
|
+
};
|
|
131
|
+
readonly type: "DurationString";
|
|
132
|
+
}];
|
|
133
|
+
};
|
|
134
|
+
readonly DatetimeJsDate: {
|
|
135
|
+
readonly kind: "typeConstructor";
|
|
136
|
+
readonly documentation: "An instant stored as SQLite text, 2024-01-01T00:00:00.000Z, and represented as a JavaScript Date.";
|
|
137
|
+
readonly output: {
|
|
138
|
+
readonly codecId: "sqlite/datetime@1";
|
|
139
|
+
};
|
|
140
|
+
};
|
|
141
|
+
readonly DatetimeTemporal: {
|
|
142
|
+
readonly kind: "typeConstructor";
|
|
143
|
+
readonly documentation: "An instant stored as SQLite text, 2024-01-01T00:00:00.000Z, and represented as Temporal.Instant.";
|
|
144
|
+
readonly output: {
|
|
145
|
+
readonly codecId: "sqlite/datetime-temporal@1";
|
|
146
|
+
};
|
|
147
|
+
};
|
|
148
|
+
readonly DatetimeString: {
|
|
149
|
+
readonly kind: "typeConstructor";
|
|
150
|
+
readonly documentation: "An instant stored as SQLite text and represented as that text, 2024-01-01T00:00:00.000Z, the instant in UTC.";
|
|
151
|
+
readonly output: {
|
|
152
|
+
readonly codecId: "sqlite/datetime-string@1";
|
|
153
|
+
};
|
|
154
|
+
};
|
|
155
|
+
readonly DateString: {
|
|
156
|
+
readonly kind: "typeConstructor";
|
|
157
|
+
readonly documentation: "A calendar date stored as SQLite text and represented as that text, 2024-02-29.";
|
|
158
|
+
readonly output: {
|
|
159
|
+
readonly codecId: "sqlite/date-string@1";
|
|
160
|
+
};
|
|
161
|
+
};
|
|
162
|
+
readonly DateTemporal: {
|
|
163
|
+
readonly kind: "typeConstructor";
|
|
164
|
+
readonly documentation: "A calendar date stored as SQLite text, 2024-02-29, and represented as Temporal.PlainDate.";
|
|
165
|
+
readonly output: {
|
|
166
|
+
readonly codecId: "sqlite/date-temporal@1";
|
|
167
|
+
};
|
|
168
|
+
};
|
|
169
|
+
readonly TimeString: {
|
|
170
|
+
readonly kind: "typeConstructor";
|
|
171
|
+
readonly documentation: "A time of day stored as SQLite text and represented as that text, 09:30:00.000, always with three fraction digits.";
|
|
172
|
+
readonly output: {
|
|
173
|
+
readonly codecId: "sqlite/time-string@1";
|
|
174
|
+
};
|
|
175
|
+
};
|
|
176
|
+
readonly TimeTemporal: {
|
|
177
|
+
readonly kind: "typeConstructor";
|
|
178
|
+
readonly documentation: "A time of day stored as SQLite text, 09:30:00.000, and represented as Temporal.PlainTime.";
|
|
179
|
+
readonly output: {
|
|
180
|
+
readonly codecId: "sqlite/time-temporal@1";
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
readonly DurationString: {
|
|
184
|
+
readonly kind: "typeConstructor";
|
|
185
|
+
readonly documentation: "A length of time stored as SQLite text and represented as the ISO 8601 duration it was written as, such as PT1H30M.";
|
|
186
|
+
readonly output: {
|
|
187
|
+
readonly codecId: "sqlite/duration-string@1";
|
|
188
|
+
};
|
|
189
|
+
};
|
|
190
|
+
readonly String: {
|
|
191
|
+
readonly kind: "typeConstructor";
|
|
192
|
+
readonly documentation: "Variable-length text stored as SQLite text.";
|
|
193
|
+
readonly output: {
|
|
194
|
+
readonly codecId: "sqlite/text@1";
|
|
195
|
+
};
|
|
196
|
+
};
|
|
197
|
+
readonly Int: {
|
|
198
|
+
readonly kind: "typeConstructor";
|
|
199
|
+
readonly documentation: "An integer stored as SQLite integer and represented as a JavaScript number.";
|
|
200
|
+
readonly output: {
|
|
201
|
+
readonly codecId: "sqlite/integer@1";
|
|
202
|
+
};
|
|
203
|
+
};
|
|
204
|
+
readonly BigInt: {
|
|
205
|
+
readonly kind: "typeConstructor";
|
|
206
|
+
readonly documentation: "An integer stored as SQLite integer and represented as a JavaScript bigint.";
|
|
207
|
+
readonly output: {
|
|
208
|
+
readonly codecId: "sqlite/bigint@1";
|
|
209
|
+
};
|
|
210
|
+
};
|
|
211
|
+
readonly Float: {
|
|
212
|
+
readonly kind: "typeConstructor";
|
|
213
|
+
readonly documentation: "A floating-point number stored as SQLite real.";
|
|
214
|
+
readonly output: {
|
|
215
|
+
readonly codecId: "sqlite/real@1";
|
|
216
|
+
};
|
|
217
|
+
};
|
|
218
|
+
readonly Decimal: {
|
|
219
|
+
readonly kind: "typeConstructor";
|
|
220
|
+
readonly documentation: "A decimal value stored and represented as text to preserve precision.";
|
|
221
|
+
readonly output: {
|
|
222
|
+
readonly codecId: "sqlite/text@1";
|
|
223
|
+
};
|
|
224
|
+
};
|
|
225
|
+
readonly Json: {
|
|
226
|
+
readonly kind: "typeConstructor";
|
|
227
|
+
readonly documentation: "A JSON value serialized to SQLite text.";
|
|
228
|
+
readonly output: {
|
|
229
|
+
readonly codecId: "sqlite/json@1";
|
|
230
|
+
};
|
|
231
|
+
};
|
|
232
|
+
readonly Bytes: {
|
|
233
|
+
readonly kind: "typeConstructor";
|
|
234
|
+
readonly documentation: "Binary data stored as a SQLite blob.";
|
|
235
|
+
readonly output: {
|
|
236
|
+
readonly codecId: "sqlite/blob@1";
|
|
237
|
+
};
|
|
238
|
+
};
|
|
239
|
+
};
|
|
240
|
+
//#endregion
|
|
241
|
+
export { sqliteScalarTypeConstructors as n, sqliteControlTargetDescriptor as t };
|
|
242
|
+
//# sourceMappingURL=control-DGa_C2q6.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control-DGa_C2q6.d.mts","names":[],"sources":["../../../../3-targets/sqlite/1-target/dist/control.d.mts"],"mappings":";;;;;;cAKc,+BAA+B,qCAAqC,yBAAyB,SAAS;;;;;;cAMtG;WACH;aACE;aACA;aACA;eACE;eACA;eACA;eACA;eACA;;eAEA;eACA;eACA;eACA;eACA;;aAEF;eACE;iBACE;iBACA;;eAEF;;eAEA;iBACE;iBACA;;eAEF;;eAEA;iBACE;iBACA;;eAEF;;;WAGJ;aACE;aACA;aACA;eACE;eACA;eACA;eACA;eACA;;eAEA;eACA;eACA;eACA;eACA;;aAEF;eACE;iBACE;iBACA;;eAEF;;eAEA;iBACE;iBACA;;eAEF;;;WAGJ;aACE;aACA;aACA;eACE;eACA;eACA;eACA;eACA;;eAEA;eACA;eACA;eACA;eACA;;aAEF;eACE;iBACE;iBACA;;eAEF;;eAEA;iBACE;iBACA;;eAEF;;;WAGJ;aACE;aACA;aACA;eACE;eACA;eACA;eACA;eACA;;eAEA;eACA;eACA;eACA;eACA;;aAEF;eACE;iBACE;iBACA;;eAEF;;;WAGJ;aACE;aACA;aACA;eACE;;;WAGJ;aACE;aACA;aACA;eACE;;;WAGJ;aACE;aACA;aACA;eACE;;;WAGJ;aACE;aACA;aACA;eACE;;;WAGJ;aACE;aACA;aACA;eACE;;;WAGJ;aACE;aACA;aACA;eACE;;;WAGJ;aACE;aACA;aACA;eACE;;;WAGJ;aACE;aACA;aACA;eACE;;;WAGJ;aACE;aACA;aACA;eACE;;;WAGJ;aACE;aACA;aACA;eACE;;;WAGJ;aACE;aACA;aACA;eACE;;;WAGJ;aACE;aACA;aACA;eACE;;;WAGJ;aACE;aACA;aACA;eACE;;;WAGJ;aACE;aACA;aACA;eACE;;;WAGJ;aACE;aACA;aACA;eACE"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { o as SqliteCodecRegistry } from "./codecs-
|
|
2
|
-
import "./codecs-
|
|
1
|
+
import { o as SqliteCodecRegistry } from "./codecs-BqOj4EKm-BaGeNd2m.mjs";
|
|
2
|
+
import "./codecs-DzkRnjjE.mjs";
|
|
3
3
|
import { r as SqliteDdlNode } from "./nodes-D8EC1yCx-BS-fKla6.mjs";
|
|
4
4
|
import "./ddl-31OBcTco.mjs";
|
|
5
|
-
import "./default-normalizer-
|
|
5
|
+
import "./default-normalizer-CtNsZNRZ.mjs";
|
|
6
6
|
import { AnyQueryAst, DdlColumn, DdlNode, LoweredStatement, LowererContext, MarkerReadResult, SqlExecuteRequest } from "@prisma/orm-family-sql/relational-core/ast";
|
|
7
7
|
import { DataType } from "@prisma/orm-framework/components/codec";
|
|
8
8
|
import { SqlControlDriverInstance } from "@prisma/orm-family-sql/contract/types";
|
|
@@ -110,4 +110,4 @@ declare class SqliteControlAdapter implements SqlControlAdapter<'sqlite'> {
|
|
|
110
110
|
declare const sqliteAdapterDescriptor: SqlControlAdapterDescriptor<'sqlite'>;
|
|
111
111
|
//#endregion
|
|
112
112
|
export { sqliteAdapterDescriptor as n, SqliteControlAdapter as t };
|
|
113
|
-
//# sourceMappingURL=control-
|
|
113
|
+
//# sourceMappingURL=control-DXzV_IVS.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-
|
|
1
|
+
{"version":3,"file":"control-DXzV_IVS.d.mts","names":[],"sources":["../../../../3-targets/sqlite/2-adapter/dist/control.d.mts"],"mappings":";;;;;;;;;;;;;;cAYc,gCAAgC;WACnC;WACA;WACA;mBACQ;mBACA;;EAEjB,YAAY,eAAe,qBAAqB,4BAA4B;EAC5E,yCAAyC;EACzC,uCAAuC;;;;;;;;;EASvC,MAAM,KAAK,cAAc,eAAe,SAAS,0BAA0B;EAC3E,oBAAoB,QAAQ,WAAW,gBAAgB;;;;;;;;EAQvD,sBAAsB,KAAK,cAAc,eAAe,UAAU,0BAA0B,QAAQ;;;;;;EAMpG,WAAW,QAAQ,oCAAoC,gBAAgB,QAAQ;EAC/E,wBAAwB,QAAQ,oCAAoC,gBAAgB,QAAQ;;;;;;EAM5F,eAAe,QAAQ,qCAAqC,QAAQ,oBAAoB;UAChF;;;;;;EAMR,WAAW,QAAQ,oCAAoC,iBAAiB,iBAAiB;UACjF;;;;;;EAMR,aAAa,QAAQ,oCAAoC,eAAe;aAC7D;aACA;aACA;MACP;EACJ,WAAW,QAAQ,oCAAoC,eAAe;aAC3D;aACA;aACA;MACP;;;;;EAKJ,aAAa,QAAQ,oCAAoC,eAAe,sBAAsB;aACnF;aACA;aACA;MACP;EACJ,gBAAgB,GAAG,QAAQ,oCAAoC,UAAU,QAAQ,KAAK,QAAQ;EAC9F,WAAW,SAAS,qCAAqC;;;;EAIzD,iBAAiB,QAAQ,oCAAoC,eAAe;aACjE;aACA;aACA;aACA;aACA;aACA;MACP;UACI;;;;UAIA;EACR,WAAW,QAAQ,oCAAoC,qBAAqB,QAAQ;;;;cAIxE,yBAAyB"}
|
package/dist/{data-type-entries-yQ-qYugg-C_NnX5WO.mjs → data-type-entries-Cp4hBeJB-DYer43by.mjs}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { c as
|
|
1
|
+
import { _ as sqliteText, b as sqliteTimeText, c as sqliteDateText, f as sqliteDuration, g as sqliteReal, h as sqliteJson, l as sqliteDatetime, m as sqliteInteger, n as sqliteBlobFromHexText, p as sqliteDurationText, s as sqliteDate, t as sqliteBlob, u as sqliteDatetimeText, y as sqliteTime } from "./data-types-DXMZNR8j-CWrJOA8C.mjs";
|
|
2
2
|
import { createNumberClassifier, numeralText, parseJsonText, signedRange } from "@prisma/orm-framework/components/codec";
|
|
3
3
|
import { canonicalizeJson } from "@prisma/orm-framework/components/utils";
|
|
4
|
-
//#region ../../../3-targets/sqlite/1-target/dist/data-type-entries-
|
|
4
|
+
//#region ../../../3-targets/sqlite/1-target/dist/data-type-entries-Cp4hBeJB.mjs
|
|
5
5
|
const classifySqliteNumber = createNumberClassifier({
|
|
6
6
|
integers: [{
|
|
7
7
|
type: sqliteInteger.id,
|
|
@@ -67,10 +67,37 @@ function sqliteDataTypeEntries() {
|
|
|
67
67
|
},
|
|
68
68
|
print: (value) => String(value),
|
|
69
69
|
documentation: "An instant, as in datetime`2024-01-01T00:00:00Z`. Reads ISO 8601 with a UTC offset and stores the instant in UTC with three fraction digits, the text every row holds."
|
|
70
|
+
},
|
|
71
|
+
[sqliteDate.id]: {
|
|
72
|
+
written: {
|
|
73
|
+
kind: "tag",
|
|
74
|
+
tag: "date",
|
|
75
|
+
parse: sqliteDateText
|
|
76
|
+
},
|
|
77
|
+
print: (value) => String(value),
|
|
78
|
+
documentation: "A calendar date, as in date`2024-02-29`, in the years 0000 to 9999, stored as the text every row holds."
|
|
79
|
+
},
|
|
80
|
+
[sqliteTime.id]: {
|
|
81
|
+
written: {
|
|
82
|
+
kind: "tag",
|
|
83
|
+
tag: "time",
|
|
84
|
+
parse: sqliteTimeText
|
|
85
|
+
},
|
|
86
|
+
print: (value) => String(value),
|
|
87
|
+
documentation: "A time of day without a UTC offset, as in time`09:30:00`. Stores it with three fraction digits, as in 09:30:00.000, the text every row holds."
|
|
88
|
+
},
|
|
89
|
+
[sqliteDuration.id]: {
|
|
90
|
+
written: {
|
|
91
|
+
kind: "tag",
|
|
92
|
+
tag: "duration",
|
|
93
|
+
parse: sqliteDurationText
|
|
94
|
+
},
|
|
95
|
+
print: (value) => String(value),
|
|
96
|
+
documentation: "A length of time, as in duration`PT1H30M`. Reads an ISO 8601 duration and stores it as written."
|
|
70
97
|
}
|
|
71
98
|
};
|
|
72
99
|
}
|
|
73
100
|
//#endregion
|
|
74
101
|
export { sqliteDataTypeEntries as t };
|
|
75
102
|
|
|
76
|
-
//# sourceMappingURL=data-type-entries-
|
|
103
|
+
//# sourceMappingURL=data-type-entries-Cp4hBeJB-DYer43by.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-type-entries-Cp4hBeJB-DYer43by.mjs","names":[],"sources":["../../../../3-targets/sqlite/1-target/dist/data-type-entries-Cp4hBeJB.mjs"],"sourcesContent":["import { _ as sqliteText, b as sqliteTimeText, c as sqliteDateText, f as sqliteDuration, g as sqliteReal, h as sqliteJson, l as sqliteDatetime, m as sqliteInteger, n as sqliteBlobFromHexText, p as sqliteDurationText, s as sqliteDate, t as sqliteBlob, u as sqliteDatetimeText, y as sqliteTime } from \"./data-types-DXMZNR8j.mjs\";\nimport { createNumberClassifier, numeralText, parseJsonText, signedRange } from \"@internal/framework-components/codec\";\nimport { canonicalizeJson } from \"@internal/framework-components/utils\";\n//#region src/core/data-type-entries.ts\nconst classifySqliteNumber = createNumberClassifier({\n\tintegers: [{\n\t\ttype: sqliteInteger.id,\n\t\tform: \"text\",\n\t\t...signedRange(64)\n\t}],\n\tfraction: {\n\t\ttype: sqliteReal.id,\n\t\tform: \"number\"\n\t},\n\twords: {\n\t\ttype: sqliteReal.id,\n\t\tform: \"text\"\n\t}\n});\nfunction printNumber(value) {\n\treturn typeof value === \"number\" ? numeralText(value) : String(value);\n}\nfunction sqliteDataTypeEntries() {\n\treturn {\n\t\t[sqliteText.id]: {\n\t\t\twritten: {\n\t\t\t\tkind: \"plain\",\n\t\t\t\tsyntax: \"string\",\n\t\t\t\tparse: (text) => text\n\t\t\t},\n\t\t\tprint: (value) => String(value),\n\t\t\tdocumentation: \"Text.\"\n\t\t},\n\t\t[sqliteReal.id]: {\n\t\t\twritten: {\n\t\t\t\tkind: \"plain\",\n\t\t\t\tsyntax: \"number\",\n\t\t\t\ttypes: [sqliteInteger.id, sqliteReal.id],\n\t\t\t\tclassify: classifySqliteNumber\n\t\t\t},\n\t\t\tprint: printNumber,\n\t\t\tdocumentation: \"A number, whose type comes from its own size and precision.\"\n\t\t},\n\t\t[sqliteJson.id]: {\n\t\t\twritten: {\n\t\t\t\tkind: \"tag\",\n\t\t\t\ttag: \"json\",\n\t\t\t\tparse: (text) => canonicalizeJson(parseJsonText(text))\n\t\t\t},\n\t\t\tprint: (value) => String(value),\n\t\t\tdocumentation: \"Reads the text as a JSON document and stores its JSON text as the default value.\"\n\t\t},\n\t\t[sqliteBlob.id]: {\n\t\t\twritten: {\n\t\t\t\tkind: \"tag\",\n\t\t\t\ttag: \"blob\",\n\t\t\t\tparse: sqliteBlobFromHexText\n\t\t\t},\n\t\t\tprint: (value) => String(value).toLowerCase(),\n\t\t\tdocumentation: \"Bytes, written as hex text, two digits for each byte, as in blob`68656c6c6f`.\"\n\t\t},\n\t\t[sqliteDatetime.id]: {\n\t\t\twritten: {\n\t\t\t\tkind: \"tag\",\n\t\t\t\ttag: \"datetime\",\n\t\t\t\tparse: sqliteDatetimeText\n\t\t\t},\n\t\t\tprint: (value) => String(value),\n\t\t\tdocumentation: \"An instant, as in datetime`2024-01-01T00:00:00Z`. Reads ISO 8601 with a UTC offset and stores the instant in UTC with three fraction digits, the text every row holds.\"\n\t\t},\n\t\t[sqliteDate.id]: {\n\t\t\twritten: {\n\t\t\t\tkind: \"tag\",\n\t\t\t\ttag: \"date\",\n\t\t\t\tparse: sqliteDateText\n\t\t\t},\n\t\t\tprint: (value) => String(value),\n\t\t\tdocumentation: \"A calendar date, as in date`2024-02-29`, in the years 0000 to 9999, stored as the text every row holds.\"\n\t\t},\n\t\t[sqliteTime.id]: {\n\t\t\twritten: {\n\t\t\t\tkind: \"tag\",\n\t\t\t\ttag: \"time\",\n\t\t\t\tparse: sqliteTimeText\n\t\t\t},\n\t\t\tprint: (value) => String(value),\n\t\t\tdocumentation: \"A time of day without a UTC offset, as in time`09:30:00`. Stores it with three fraction digits, as in 09:30:00.000, the text every row holds.\"\n\t\t},\n\t\t[sqliteDuration.id]: {\n\t\t\twritten: {\n\t\t\t\tkind: \"tag\",\n\t\t\t\ttag: \"duration\",\n\t\t\t\tparse: sqliteDurationText\n\t\t\t},\n\t\t\tprint: (value) => String(value),\n\t\t\tdocumentation: \"A length of time, as in duration`PT1H30M`. Reads an ISO 8601 duration and stores it as written.\"\n\t\t}\n\t};\n}\n//#endregion\nexport { sqliteDataTypeEntries as t };\n\n//# sourceMappingURL=data-type-entries-Cp4hBeJB.mjs.map"],"mappings":";;;;AAIA,MAAM,uBAAuB,uBAAuB;CACnD,UAAU,CAAC;EACV,MAAM,cAAc;EACpB,MAAM;EACN,GAAG,YAAY,EAAE;CAClB,CAAC;CACD,UAAU;EACT,MAAM,WAAW;EACjB,MAAM;CACP;CACA,OAAO;EACN,MAAM,WAAW;EACjB,MAAM;CACP;AACD,CAAC;AACD,SAAS,YAAY,OAAO;CAC3B,OAAO,OAAO,UAAU,WAAW,YAAY,KAAK,IAAI,OAAO,KAAK;AACrE;AACA,SAAS,wBAAwB;CAChC,OAAO;GACL,WAAW,KAAK;GAChB,SAAS;IACR,MAAM;IACN,QAAQ;IACR,QAAQ,SAAS;GAClB;GACA,QAAQ,UAAU,OAAO,KAAK;GAC9B,eAAe;EAChB;GACC,WAAW,KAAK;GAChB,SAAS;IACR,MAAM;IACN,QAAQ;IACR,OAAO,CAAC,cAAc,IAAI,WAAW,EAAE;IACvC,UAAU;GACX;GACA,OAAO;GACP,eAAe;EAChB;GACC,WAAW,KAAK;GAChB,SAAS;IACR,MAAM;IACN,KAAK;IACL,QAAQ,SAAS,iBAAiB,cAAc,IAAI,CAAC;GACtD;GACA,QAAQ,UAAU,OAAO,KAAK;GAC9B,eAAe;EAChB;GACC,WAAW,KAAK;GAChB,SAAS;IACR,MAAM;IACN,KAAK;IACL,OAAO;GACR;GACA,QAAQ,UAAU,OAAO,KAAK,CAAC,CAAC,YAAY;GAC5C,eAAe;EAChB;GACC,eAAe,KAAK;GACpB,SAAS;IACR,MAAM;IACN,KAAK;IACL,OAAO;GACR;GACA,QAAQ,UAAU,OAAO,KAAK;GAC9B,eAAe;EAChB;GACC,WAAW,KAAK;GAChB,SAAS;IACR,MAAM;IACN,KAAK;IACL,OAAO;GACR;GACA,QAAQ,UAAU,OAAO,KAAK;GAC9B,eAAe;EAChB;GACC,WAAW,KAAK;GAChB,SAAS;IACR,MAAM;IACN,KAAK;IACL,OAAO;GACR;GACA,QAAQ,UAAU,OAAO,KAAK;GAC9B,eAAe;EAChB;GACC,eAAe,KAAK;GACpB,SAAS;IACR,MAAM;IACN,KAAK;IACL,OAAO;GACR;GACA,QAAQ,UAAU,OAAO,KAAK;GAC9B,eAAe;EAChB;CACD;AACD"}
|
|
@@ -27,8 +27,28 @@ declare const sqliteCharacterVarying: import("@prisma/orm-family-sql/contract/da
|
|
|
27
27
|
* The value of `sqlite/datetime` (ADR 254): the text `toISOString()` writes for every row. The range and the millisecond precision are those of a JavaScript `Date`, the codec's value.
|
|
28
28
|
*/
|
|
29
29
|
declare const sqliteDatetimeText: (text: string) => string;
|
|
30
|
+
/**
|
|
31
|
+
* The value of `sqlite/date`: a calendar date as ISO 8601 text, `2024-02-29`, in the years `0000` to `9999` that SQLite's `date()` reads. Throws `CONTRACT.CAST_REFUSED` for text that names no such date.
|
|
32
|
+
*/
|
|
33
|
+
declare function sqliteDateText(text: string): string;
|
|
34
|
+
/**
|
|
35
|
+
* The value of `sqlite/time`: a time of day with exactly three fraction digits, `09:30:00.000`, as SQLite's `strftime('%H:%M:%f')` writes it, so the text sorts in the order of the times. Zeros past the third fraction digit are dropped; any other digit there is refused. Throws `CONTRACT.CAST_REFUSED` for text that names no such time.
|
|
36
|
+
*/
|
|
37
|
+
declare function sqliteTimeText(text: string): string;
|
|
38
|
+
/**
|
|
39
|
+
* An instant as `sqlite/datetime` stores it, from ISO 8601 text with a UTC offset in which zeros past the third fraction digit are dropped. Throws `CONTRACT.CAST_REFUSED` for text that names no instant the type holds, including text with a digit below a millisecond.
|
|
40
|
+
*/
|
|
41
|
+
declare function sqliteDatetimeTextAtMilliseconds(text: string): string;
|
|
42
|
+
/** The value of `sqlite/duration`: an ISO 8601 duration, stored as written. Throws `CONTRACT.CAST_REFUSED` for other text. */
|
|
43
|
+
declare function sqliteDurationText(text: string): string;
|
|
30
44
|
/** An instant, stored as text in the form `toISOString()` writes. */
|
|
31
45
|
declare const sqliteDatetime: import("@prisma/orm-family-sql/contract/data-type").SqlDataType<Readonly<Record<string, unknown>>>;
|
|
46
|
+
/** A calendar date, stored as text in the form `2024-02-29`. */
|
|
47
|
+
declare const sqliteDate: import("@prisma/orm-family-sql/contract/data-type").SqlDataType<Readonly<Record<string, unknown>>>;
|
|
48
|
+
/** A time of day, stored as text with three fraction digits, `09:30:00.000`. */
|
|
49
|
+
declare const sqliteTime: import("@prisma/orm-family-sql/contract/data-type").SqlDataType<Readonly<Record<string, unknown>>>;
|
|
50
|
+
/** A length of time, stored as the ISO 8601 duration it was written as, `PT1H30M`. Equal durations can be written differently, `P1D` and `PT24H`, so a duration keeps its spelling. */
|
|
51
|
+
declare const sqliteDuration: import("@prisma/orm-family-sql/contract/data-type").SqlDataType<Readonly<Record<string, unknown>>>;
|
|
32
52
|
/** A JSON document, stored as its JSON text with sorted keys and no added whitespace. A column declared `JSON` would have numeric affinity and store the document `"42"` as the integer 42. */
|
|
33
53
|
declare const sqliteJson: import("@prisma/orm-family-sql/contract/data-type").SqlDataType<Readonly<Record<string, unknown>>>;
|
|
34
54
|
/** Every data type this target registers. */
|
|
@@ -36,5 +56,5 @@ declare const sqliteDataTypes: readonly DataType[];
|
|
|
36
56
|
/** SQLite's text data types: `text`, `character(n)` and `character varying(n)`. */
|
|
37
57
|
declare const sqliteTextDataTypes: readonly DataTypeId[];
|
|
38
58
|
//#endregion
|
|
39
|
-
export { sqliteCharacterVarying as a,
|
|
40
|
-
//# sourceMappingURL=data-types-
|
|
59
|
+
export { sqliteReal as _, sqliteCharacterVarying as a, sqliteTime as b, sqliteDate as c, sqliteDatetimeText as d, sqliteDatetimeTextAtMilliseconds as f, sqliteJson as g, sqliteInteger as h, sqliteCharacterLengthParams as i, sqliteDateText as l, sqliteDurationText as m, sqliteBlobFromHexText as n, sqliteDataTypeEntries as o, sqliteDuration as p, sqliteCharacter as r, sqliteDataTypes as s, sqliteBlob as t, sqliteDatetime as u, sqliteText as v, sqliteTimeText as x, sqliteTextDataTypes as y };
|
|
60
|
+
//# sourceMappingURL=data-types-CwpMoNK4.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-types-CwpMoNK4.d.mts","names":[],"sources":["../../../../3-targets/sqlite/1-target/dist/data-types.d.mts"],"mappings":";;;;iBAGiB,yBAAyB,SAAS,eAAe;;;cAGpD,uDAAuD,YAAY,SAAS;;cAE5E,0DAA0D,YAAY,SAAS;;cAE/E,uDAAuD,YAAY,SAAS;cAC5E,uDAAuD,YAAY,SAAS;;iBAEzE,sBAAsB;;cAEzB,2EAA2E;EACvF;;cAEY,4DAA4D;EACxE;;cAEY,mEAAmE;EAC/E;;;;;cAKY,qBAAqB;;;;iBAIlB,eAAe;;;;iBAIf,eAAe;;;;iBAIf,iCAAiC;;iBAEjC,mBAAmB;;cAEtB,2DAA2D,YAAY,SAAS;;cAEhF,uDAAuD,YAAY,SAAS;;cAE5E,uDAAuD,YAAY,SAAS;;cAE5E,2DAA2D,YAAY,SAAS;;cAEhF,uDAAuD,YAAY,SAAS;;cAE5E,0BAA0B;;cAE1B,8BAA8B"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { INT64_RANGE, castUnchanged, isoDateStringText, readJsonFloat, readJsonIntegerText, readJsonMatching, readJsonString, refuseJsonValue, refuseWrongShape } from "@prisma/orm-framework/components/codec";
|
|
1
|
+
import { INT64_RANGE, castUnchanged, dateTimeStoredText, isoDateStringText, readJsonFloat, readJsonIntegerText, readJsonMatching, readJsonString, refuseJsonValue, refuseWrongShape } from "@prisma/orm-framework/components/codec";
|
|
2
2
|
import { structuredError } from "@prisma/orm-framework/utils/structured-error";
|
|
3
3
|
import { canonicalizeJson } from "@prisma/orm-framework/components/utils";
|
|
4
4
|
import { sqlDataType, sqlRawDataType } from "@prisma/orm-family-sql/contract/data-type";
|
|
5
|
+
import { ISO_DURATION_AS_WRITTEN } from "@prisma/orm-framework/type-implementations/duration";
|
|
5
6
|
import { type } from "arktype";
|
|
6
|
-
//#region ../../../3-targets/sqlite/1-target/dist/data-types-
|
|
7
|
+
//#region ../../../3-targets/sqlite/1-target/dist/data-types-DXMZNR8j.mjs
|
|
7
8
|
/** Digit text as `real` stores it: the nearest double, as SQLite converts an integer to a real. */
|
|
8
9
|
const asReal = (value) => typeof value === "string" ? Number(value) : refuseWrongShape(value, "digit text");
|
|
9
10
|
/** A type written and reported by `name` and nothing else. */
|
|
@@ -89,6 +90,71 @@ function storedDatetime(text) {
|
|
|
89
90
|
const readDatetime = (json) => typeof json === "string" && storedDatetime(json) !== void 0 ? json : refuseJsonValue("sqlite/datetime", "ISO 8601 date and time text with a UTC offset and at most three fraction digits, as in \"2024-01-01T00:00:00Z\"", json);
|
|
90
91
|
/** An instant is stored in UTC with three fraction digits. */
|
|
91
92
|
const spellDatetime = (json) => typeof json === "string" ? storedDatetime(json) ?? json : json;
|
|
93
|
+
/** The fraction of `text` with any zeros past its third digit removed, so `09:30:00.500000` is the millisecond it names. */
|
|
94
|
+
function withoutZerosBelowAMillisecond(text) {
|
|
95
|
+
return text.replace(/(\.\d{3})0+(?!\d)/, "$1");
|
|
96
|
+
}
|
|
97
|
+
/** The fraction of stored text padded to exactly three digits, as `toISOString()` and SQLite's `%f` write it. */
|
|
98
|
+
function withThreeFractionDigits(text) {
|
|
99
|
+
return text.replace(/(\d{2}:\d{2}:\d{2})(?:\.(\d{1,3}))?(?=Z?$)/, (_whole, clock, fraction) => `${clock}.${(fraction ?? "").padEnd(3, "0")}`);
|
|
100
|
+
}
|
|
101
|
+
/** The years SQLite's date and time functions read, which are also the years whose text sorts in date order. */
|
|
102
|
+
const SQLITE_DATE_RANGE = {
|
|
103
|
+
earliest: "0000-01-01",
|
|
104
|
+
latest: "9999-12-31"
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
* The value of `sqlite/date`: a calendar date as ISO 8601 text, `2024-02-29`, in the years `0000` to `9999` that SQLite's `date()` reads. Throws `CONTRACT.CAST_REFUSED` for text that names no such date.
|
|
108
|
+
*/
|
|
109
|
+
function sqliteDateText(text) {
|
|
110
|
+
return dateTimeStoredText(text, {
|
|
111
|
+
shape: "date",
|
|
112
|
+
ownerId: "sqlite/date",
|
|
113
|
+
range: SQLITE_DATE_RANGE
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* The value of `sqlite/time`: a time of day with exactly three fraction digits, `09:30:00.000`, as SQLite's `strftime('%H:%M:%f')` writes it, so the text sorts in the order of the times. Zeros past the third fraction digit are dropped; any other digit there is refused. Throws `CONTRACT.CAST_REFUSED` for text that names no such time.
|
|
118
|
+
*/
|
|
119
|
+
function sqliteTimeText(text) {
|
|
120
|
+
return withThreeFractionDigits(dateTimeStoredText(withoutZerosBelowAMillisecond(text), {
|
|
121
|
+
shape: "time",
|
|
122
|
+
ownerId: "sqlite/time",
|
|
123
|
+
maxFractionDigits: 3
|
|
124
|
+
}, text));
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* An instant as `sqlite/datetime` stores it, from ISO 8601 text with a UTC offset in which zeros past the third fraction digit are dropped. Throws `CONTRACT.CAST_REFUSED` for text that names no instant the type holds, including text with a digit below a millisecond.
|
|
128
|
+
*/
|
|
129
|
+
function sqliteDatetimeTextAtMilliseconds(text) {
|
|
130
|
+
return sqliteDatetimeText(withoutZerosBelowAMillisecond(text));
|
|
131
|
+
}
|
|
132
|
+
/** The value of `sqlite/duration`: an ISO 8601 duration, stored as written. Throws `CONTRACT.CAST_REFUSED` for other text. */
|
|
133
|
+
function sqliteDurationText(text) {
|
|
134
|
+
if (ISO_DURATION_AS_WRITTEN.test(text)) return text;
|
|
135
|
+
throw structuredError("CONTRACT.CAST_REFUSED", `sqlite/duration cannot read "${text}". Write an ISO 8601 duration, as in "PT1H30M".`, {
|
|
136
|
+
why: "sqlite/duration holds an ISO 8601 duration as Temporal.Duration writes it: an optional sign, P, then years, months, weeks and days, then T and hours, minutes and seconds. A sign on each component instead is read too.",
|
|
137
|
+
fix: "Write the duration in ISO 8601, as in \"P1Y2M3DT4H5M6.5S\"."
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
/** What `read` writes for `text`, or `undefined` when `read` refuses it. */
|
|
141
|
+
function storedOrUndefined(read, text) {
|
|
142
|
+
try {
|
|
143
|
+
return read(text);
|
|
144
|
+
} catch {
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/** A text data type stored in one form for each value: it reads any spelling `stored` takes and spells each value in the form `stored` writes. */
|
|
149
|
+
function storedTextDataType(id, stored, expected, options) {
|
|
150
|
+
const read = (json) => typeof json === "string" && storedOrUndefined(stored, json) !== void 0 ? json : refuseJsonValue(id, expected, json);
|
|
151
|
+
const spell = (json) => typeof json === "string" ? storedOrUndefined(stored, json) ?? json : json;
|
|
152
|
+
return sqlDataType(id, {
|
|
153
|
+
storedAs: sqliteText.id,
|
|
154
|
+
read,
|
|
155
|
+
...options.respell ? { spell } : {}
|
|
156
|
+
});
|
|
157
|
+
}
|
|
92
158
|
/** The document JSON text holds, or `undefined` when the text is not JSON. */
|
|
93
159
|
function documentOf(text) {
|
|
94
160
|
try {
|
|
@@ -110,6 +176,12 @@ const sqliteDatetime = sqlDataType("sqlite/datetime", {
|
|
|
110
176
|
read: readDatetime,
|
|
111
177
|
spell: spellDatetime
|
|
112
178
|
});
|
|
179
|
+
/** A calendar date, stored as text in the form `2024-02-29`. */
|
|
180
|
+
const sqliteDate = storedTextDataType("sqlite/date", sqliteDateText, "ISO 8601 date text, as in \"2024-02-29\"", { respell: true });
|
|
181
|
+
/** A time of day, stored as text with three fraction digits, `09:30:00.000`. */
|
|
182
|
+
const sqliteTime = storedTextDataType("sqlite/time", sqliteTimeText, "ISO 8601 time of day text with at most three fraction digits, as in \"09:30:00\"", { respell: true });
|
|
183
|
+
/** A length of time, stored as the ISO 8601 duration it was written as, `PT1H30M`. Equal durations can be written differently, `P1D` and `PT24H`, so a duration keeps its spelling. */
|
|
184
|
+
const sqliteDuration = storedTextDataType("sqlite/duration", sqliteDurationText, "an ISO 8601 duration, as in \"PT1H30M\"", { respell: false });
|
|
113
185
|
/** A JSON document, stored as its JSON text with sorted keys and no added whitespace. A column declared `JSON` would have numeric affinity and store the document `"42"` as the integer 42. */
|
|
114
186
|
const sqliteJson = sqlDataType("sqlite/json", {
|
|
115
187
|
storedAs: sqliteText.id,
|
|
@@ -125,6 +197,9 @@ const sqliteDataTypes = [
|
|
|
125
197
|
sqliteCharacter,
|
|
126
198
|
sqliteCharacterVarying,
|
|
127
199
|
sqliteDatetime,
|
|
200
|
+
sqliteDate,
|
|
201
|
+
sqliteTime,
|
|
202
|
+
sqliteDuration,
|
|
128
203
|
sqliteJson,
|
|
129
204
|
sqlRawDataType
|
|
130
205
|
];
|
|
@@ -135,6 +210,6 @@ const sqliteTextDataTypes = [
|
|
|
135
210
|
sqliteCharacterVarying.id
|
|
136
211
|
];
|
|
137
212
|
//#endregion
|
|
138
|
-
export { sqliteCharacterVarying as a,
|
|
213
|
+
export { sqliteText as _, sqliteCharacterVarying as a, sqliteTimeText as b, sqliteDateText as c, sqliteDatetimeTextAtMilliseconds as d, sqliteDuration as f, sqliteReal as g, sqliteJson as h, sqliteCharacterLengthParams as i, sqliteDatetime as l, sqliteInteger as m, sqliteBlobFromHexText as n, sqliteDataTypes as o, sqliteDurationText as p, sqliteCharacter as r, sqliteDate as s, sqliteBlob as t, sqliteDatetimeText as u, sqliteTextDataTypes as v, sqliteTime as y };
|
|
139
214
|
|
|
140
|
-
//# sourceMappingURL=data-types-
|
|
215
|
+
//# sourceMappingURL=data-types-DXMZNR8j-CWrJOA8C.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-types-DXMZNR8j-CWrJOA8C.mjs","names":[],"sources":["../../../../3-targets/sqlite/1-target/dist/data-types-DXMZNR8j.mjs"],"sourcesContent":["import { INT64_RANGE, castUnchanged, dateTimeStoredText, isoDateStringText, readJsonFloat, readJsonIntegerText, readJsonMatching, readJsonString, refuseJsonValue, refuseWrongShape } from \"@internal/framework-components/codec\";\nimport { canonicalizeJson } from \"@internal/framework-components/utils\";\nimport { sqlDataType, sqlRawDataType } from \"@internal/sql-contract/data-type\";\nimport { ISO_DURATION_AS_WRITTEN } from \"@internal/type-implementations/duration\";\nimport { structuredError } from \"@internal/utils/structured-error\";\nimport { type } from \"arktype\";\n//#region src/core/data-types.ts\n/** Digit text as `real` stores it: the nearest double, as SQLite converts an integer to a real. */\nconst asReal = (value) => typeof value === \"string\" ? Number(value) : refuseWrongShape(value, \"digit text\");\n/** A type written and reported by `name` and nothing else. */\nconst storedAs = (id, name, read, casts = {}) => sqlDataType(id, {\n\ttexts: [{\n\t\ttext: name,\n\t\twritten: true,\n\t\tcatalog: true\n\t}],\n\tread,\n\tcasts\n});\nconst readText = (json) => readJsonString(\"sqlite/text\", json);\nconst UPPERCASE_HEX = /^(?:[0-9A-F]{2})*$/;\nconst sqliteText = storedAs(\"sqlite/text\", \"text\", readText);\n/** Digit text, which holds every 64-bit integer exactly; SQLite reads an INTEGER default back as a number. */\nconst sqliteInteger = sqlDataType(\"sqlite/integer\", {\n\ttexts: [{\n\t\ttext: \"integer\",\n\t\twritten: true,\n\t\tcatalog: true\n\t}],\n\tread: (json) => {\n\t\treadJsonIntegerText(\"sqlite/integer\", json, INT64_RANGE);\n\t\treturn json;\n\t},\n\tcasts: {}\n});\n/** SQLite cannot store NaN, but a codec refuses it, as ADR 254 places that limit, so the type reads it. */\nconst sqliteReal = storedAs(\"sqlite/real\", \"real\", (json) => {\n\treadJsonFloat(\"sqlite/real\", json);\n\treturn json;\n}, { [sqliteInteger.id]: asReal });\nconst sqliteBlob = storedAs(\"sqlite/blob\", \"blob\", (json) => readJsonMatching(\"sqlite/blob\", json, UPPERCASE_HEX, \"uppercase hexadecimal text\"), {});\nconst HEX_TEXT = /^(?:[0-9A-Fa-f]{2})*$/;\n/** The upper-case hex `sqlite/blob` stores for the hex text a `blob` tag holds, `68656c6c6f`. */\nfunction sqliteBlobFromHexText(text) {\n\tif (!HEX_TEXT.test(text)) throw structuredError(\"CONTRACT.CAST_REFUSED\", `\"${text}\" is not hex text: write two hexadecimal digits for each byte, as in blob\\`68656c6c6f\\`.`, {\n\t\twhy: \"The blob tag reads bytes as hex text, two digits for each byte.\",\n\t\tfix: \"Write the bytes in hex, as in blob`68656c6c6f`.\"\n\t});\n\treturn text.toUpperCase();\n}\n/** The length of `character` and `character varying`, which SQLite accepts and does not enforce, up to SQLite's largest string length, so a double holds every accepted length exactly. */\nconst sqliteCharacterLengthParams = type({ \"length?\": `number.integer >= 1 & number.integer <= 2147483647` });\n/** A character type is written without its length, so its normal form has none. */\nconst withoutLength = ({ length: _length, ...rest }) => rest;\nconst sqliteCharacter = sqlDataType(\"sqlite/character\", {\n\tparams: sqliteCharacterLengthParams,\n\ttexts: [{\n\t\ttext: \"character\",\n\t\twritten: true,\n\t\tcatalog: true\n\t}],\n\tread: (json) => readJsonString(\"sqlite/character\", json),\n\tnormalize: withoutLength,\n\tcasts: { [sqliteText.id]: castUnchanged }\n});\nconst sqliteCharacterVarying = sqlDataType(\"sqlite/character-varying\", {\n\tparams: sqliteCharacterLengthParams,\n\ttexts: [{\n\t\ttext: \"character varying\",\n\t\twritten: true,\n\t\tcatalog: true\n\t}],\n\tread: (json) => readJsonString(\"sqlite/character-varying\", json),\n\tnormalize: withoutLength,\n\tcasts: { [sqliteText.id]: castUnchanged }\n});\n/**\n* The value of `sqlite/datetime` (ADR 254): the text `toISOString()` writes for every row. The range and the millisecond precision are those of a JavaScript `Date`, the codec's value.\n*/\nconst sqliteDatetimeText = (text) => isoDateStringText(text, \"sqlite/datetime\");\n/** What `sqliteDatetimeText` writes for `text`, or `undefined` when it names no instant the type holds. */\nfunction storedDatetime(text) {\n\ttry {\n\t\treturn sqliteDatetimeText(text);\n\t} catch {\n\t\treturn;\n\t}\n}\n/** Reads an instant in any spelling the `datetime` tag reads; `spellDatetime` gives it the one it stores. */\nconst readDatetime = (json) => typeof json === \"string\" && storedDatetime(json) !== void 0 ? json : refuseJsonValue(\"sqlite/datetime\", \"ISO 8601 date and time text with a UTC offset and at most three fraction digits, as in \\\"2024-01-01T00:00:00Z\\\"\", json);\n/** An instant is stored in UTC with three fraction digits. */\nconst spellDatetime = (json) => typeof json === \"string\" ? storedDatetime(json) ?? json : json;\n/** The fraction of `text` with any zeros past its third digit removed, so `09:30:00.500000` is the millisecond it names. */\nfunction withoutZerosBelowAMillisecond(text) {\n\treturn text.replace(/(\\.\\d{3})0+(?!\\d)/, \"$1\");\n}\n/** The fraction of stored text padded to exactly three digits, as `toISOString()` and SQLite's `%f` write it. */\nfunction withThreeFractionDigits(text) {\n\treturn text.replace(/(\\d{2}:\\d{2}:\\d{2})(?:\\.(\\d{1,3}))?(?=Z?$)/, (_whole, clock, fraction) => `${clock}.${(fraction ?? \"\").padEnd(3, \"0\")}`);\n}\n/** The years SQLite's date and time functions read, which are also the years whose text sorts in date order. */\nconst SQLITE_DATE_RANGE = {\n\tearliest: \"0000-01-01\",\n\tlatest: \"9999-12-31\"\n};\n/**\n* The value of `sqlite/date`: a calendar date as ISO 8601 text, `2024-02-29`, in the years `0000` to `9999` that SQLite's `date()` reads. Throws `CONTRACT.CAST_REFUSED` for text that names no such date.\n*/\nfunction sqliteDateText(text) {\n\treturn dateTimeStoredText(text, {\n\t\tshape: \"date\",\n\t\townerId: \"sqlite/date\",\n\t\trange: SQLITE_DATE_RANGE\n\t});\n}\n/**\n* The value of `sqlite/time`: a time of day with exactly three fraction digits, `09:30:00.000`, as SQLite's `strftime('%H:%M:%f')` writes it, so the text sorts in the order of the times. Zeros past the third fraction digit are dropped; any other digit there is refused. Throws `CONTRACT.CAST_REFUSED` for text that names no such time.\n*/\nfunction sqliteTimeText(text) {\n\treturn withThreeFractionDigits(dateTimeStoredText(withoutZerosBelowAMillisecond(text), {\n\t\tshape: \"time\",\n\t\townerId: \"sqlite/time\",\n\t\tmaxFractionDigits: 3\n\t}, text));\n}\n/**\n* An instant as `sqlite/datetime` stores it, from ISO 8601 text with a UTC offset in which zeros past the third fraction digit are dropped. Throws `CONTRACT.CAST_REFUSED` for text that names no instant the type holds, including text with a digit below a millisecond.\n*/\nfunction sqliteDatetimeTextAtMilliseconds(text) {\n\treturn sqliteDatetimeText(withoutZerosBelowAMillisecond(text));\n}\n/** The value of `sqlite/duration`: an ISO 8601 duration, stored as written. Throws `CONTRACT.CAST_REFUSED` for other text. */\nfunction sqliteDurationText(text) {\n\tif (ISO_DURATION_AS_WRITTEN.test(text)) return text;\n\tthrow structuredError(\"CONTRACT.CAST_REFUSED\", `sqlite/duration cannot read \"${text}\". Write an ISO 8601 duration, as in \"PT1H30M\".`, {\n\t\twhy: \"sqlite/duration holds an ISO 8601 duration as Temporal.Duration writes it: an optional sign, P, then years, months, weeks and days, then T and hours, minutes and seconds. A sign on each component instead is read too.\",\n\t\tfix: \"Write the duration in ISO 8601, as in \\\"P1Y2M3DT4H5M6.5S\\\".\"\n\t});\n}\n/** What `read` writes for `text`, or `undefined` when `read` refuses it. */\nfunction storedOrUndefined(read, text) {\n\ttry {\n\t\treturn read(text);\n\t} catch {\n\t\treturn;\n\t}\n}\n/** A text data type stored in one form for each value: it reads any spelling `stored` takes and spells each value in the form `stored` writes. */\nfunction storedTextDataType(id, stored, expected, options) {\n\tconst read = (json) => typeof json === \"string\" && storedOrUndefined(stored, json) !== void 0 ? json : refuseJsonValue(id, expected, json);\n\tconst spell = (json) => typeof json === \"string\" ? storedOrUndefined(stored, json) ?? json : json;\n\treturn sqlDataType(id, {\n\t\tstoredAs: sqliteText.id,\n\t\tread,\n\t\t...options.respell ? { spell } : {}\n\t});\n}\n/** The document JSON text holds, or `undefined` when the text is not JSON. */\nfunction documentOf(text) {\n\ttry {\n\t\treturn { value: JSON.parse(text) };\n\t} catch {\n\t\treturn;\n\t}\n}\n/** Reads the JSON text of a document, in any spelling; `spellJson` gives it the one it stores. */\nconst readJson = (json) => typeof json === \"string\" && documentOf(json) !== void 0 ? json : refuseJsonValue(\"sqlite/json\", \"the JSON text of a document\", json);\n/** A document is stored as its JSON text with sorted keys and no added whitespace. */\nconst spellJson = (json) => {\n\tconst document = typeof json === \"string\" ? documentOf(json) : void 0;\n\treturn document === void 0 ? json : canonicalizeJson(document.value);\n};\n/** An instant, stored as text in the form `toISOString()` writes. */\nconst sqliteDatetime = sqlDataType(\"sqlite/datetime\", {\n\tstoredAs: sqliteText.id,\n\tread: readDatetime,\n\tspell: spellDatetime\n});\n/** A calendar date, stored as text in the form `2024-02-29`. */\nconst sqliteDate = storedTextDataType(\"sqlite/date\", sqliteDateText, \"ISO 8601 date text, as in \\\"2024-02-29\\\"\", { respell: true });\n/** A time of day, stored as text with three fraction digits, `09:30:00.000`. */\nconst sqliteTime = storedTextDataType(\"sqlite/time\", sqliteTimeText, \"ISO 8601 time of day text with at most three fraction digits, as in \\\"09:30:00\\\"\", { respell: true });\n/** A length of time, stored as the ISO 8601 duration it was written as, `PT1H30M`. Equal durations can be written differently, `P1D` and `PT24H`, so a duration keeps its spelling. */\nconst sqliteDuration = storedTextDataType(\"sqlite/duration\", sqliteDurationText, \"an ISO 8601 duration, as in \\\"PT1H30M\\\"\", { respell: false });\n/** A JSON document, stored as its JSON text with sorted keys and no added whitespace. A column declared `JSON` would have numeric affinity and store the document `\"42\"` as the integer 42. */\nconst sqliteJson = sqlDataType(\"sqlite/json\", {\n\tstoredAs: sqliteText.id,\n\tread: readJson,\n\tspell: spellJson\n});\n/** Every data type this target registers. */\nconst sqliteDataTypes = [\n\tsqliteText,\n\tsqliteInteger,\n\tsqliteReal,\n\tsqliteBlob,\n\tsqliteCharacter,\n\tsqliteCharacterVarying,\n\tsqliteDatetime,\n\tsqliteDate,\n\tsqliteTime,\n\tsqliteDuration,\n\tsqliteJson,\n\tsqlRawDataType\n];\n/** SQLite's text data types: `text`, `character(n)` and `character varying(n)`. */\nconst sqliteTextDataTypes = [\n\tsqliteText.id,\n\tsqliteCharacter.id,\n\tsqliteCharacterVarying.id\n];\n//#endregion\nexport { sqliteText as _, sqliteCharacterVarying as a, sqliteTimeText as b, sqliteDateText as c, sqliteDatetimeTextAtMilliseconds as d, sqliteDuration as f, sqliteReal as g, sqliteJson as h, sqliteCharacterLengthParams as i, sqliteDatetime as l, sqliteInteger as m, sqliteBlobFromHexText as n, sqliteDataTypes as o, sqliteDurationText as p, sqliteCharacter as r, sqliteDate as s, sqliteBlob as t, sqliteDatetimeText as u, sqliteTextDataTypes as v, sqliteTime as y };\n\n//# sourceMappingURL=data-types-DXMZNR8j.mjs.map"],"mappings":"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"}
|