drizzle-orm 1.0.0-beta.22-eaa25cd → 1.0.0-beta.22-46020ee
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/aws-data-api/common/index.d.cts +1 -1
- package/aws-data-api/common/index.d.ts +1 -1
- package/aws-data-api/pg/codecs.cjs +162 -0
- package/aws-data-api/pg/codecs.cjs.map +1 -0
- package/aws-data-api/pg/codecs.d.cts +9 -0
- package/aws-data-api/pg/codecs.d.ts +9 -0
- package/aws-data-api/pg/codecs.js +160 -0
- package/aws-data-api/pg/codecs.js.map +1 -0
- package/aws-data-api/pg/driver.cjs +4 -157
- package/aws-data-api/pg/driver.cjs.map +1 -1
- package/aws-data-api/pg/driver.d.cts +1 -5
- package/aws-data-api/pg/driver.d.ts +1 -5
- package/aws-data-api/pg/driver.js +4 -156
- package/aws-data-api/pg/driver.js.map +1 -1
- package/aws-data-api/pg/index.cjs +2 -1
- package/aws-data-api/pg/index.d.cts +2 -1
- package/aws-data-api/pg/index.d.ts +2 -1
- package/aws-data-api/pg/index.js +2 -1
- package/better-sqlite3/driver.cjs +2 -1
- package/better-sqlite3/driver.cjs.map +1 -1
- package/better-sqlite3/driver.js +2 -1
- package/better-sqlite3/driver.js.map +1 -1
- package/better-sqlite3/session.cjs +8 -8
- package/better-sqlite3/session.cjs.map +1 -1
- package/better-sqlite3/session.d.cts +3 -3
- package/better-sqlite3/session.d.ts +3 -3
- package/better-sqlite3/session.js +8 -8
- package/better-sqlite3/session.js.map +1 -1
- package/bun-sql/mysql/driver.cjs +2 -1
- package/bun-sql/mysql/driver.cjs.map +1 -1
- package/bun-sql/mysql/driver.js +2 -1
- package/bun-sql/mysql/driver.js.map +1 -1
- package/bun-sql/mysql/session.cjs +8 -8
- package/bun-sql/mysql/session.cjs.map +1 -1
- package/bun-sql/mysql/session.d.cts +3 -3
- package/bun-sql/mysql/session.d.ts +3 -3
- package/bun-sql/mysql/session.js +8 -8
- package/bun-sql/mysql/session.js.map +1 -1
- package/bun-sql/postgres/codecs.cjs +176 -0
- package/bun-sql/postgres/codecs.cjs.map +1 -0
- package/bun-sql/postgres/codecs.d.cts +9 -0
- package/bun-sql/postgres/codecs.d.ts +9 -0
- package/bun-sql/postgres/codecs.js +174 -0
- package/bun-sql/postgres/codecs.js.map +1 -0
- package/bun-sql/postgres/driver.cjs +4 -171
- package/bun-sql/postgres/driver.cjs.map +1 -1
- package/bun-sql/postgres/driver.d.cts +1 -5
- package/bun-sql/postgres/driver.d.ts +1 -5
- package/bun-sql/postgres/driver.js +4 -170
- package/bun-sql/postgres/driver.js.map +1 -1
- package/bun-sql/postgres/index.cjs +2 -1
- package/bun-sql/postgres/index.d.cts +2 -1
- package/bun-sql/postgres/index.d.ts +2 -1
- package/bun-sql/postgres/index.js +2 -1
- package/bun-sql/sqlite/driver.cjs +2 -1
- package/bun-sql/sqlite/driver.cjs.map +1 -1
- package/bun-sql/sqlite/driver.js +2 -1
- package/bun-sql/sqlite/driver.js.map +1 -1
- package/bun-sql/sqlite/session.cjs +8 -8
- package/bun-sql/sqlite/session.cjs.map +1 -1
- package/bun-sql/sqlite/session.d.cts +3 -3
- package/bun-sql/sqlite/session.d.ts +3 -3
- package/bun-sql/sqlite/session.js +8 -8
- package/bun-sql/sqlite/session.js.map +1 -1
- package/bun-sqlite/driver.cjs +2 -1
- package/bun-sqlite/driver.cjs.map +1 -1
- package/bun-sqlite/driver.js +2 -1
- package/bun-sqlite/driver.js.map +1 -1
- package/bun-sqlite/session.cjs +8 -8
- package/bun-sqlite/session.cjs.map +1 -1
- package/bun-sqlite/session.d.cts +3 -3
- package/bun-sqlite/session.d.ts +3 -3
- package/bun-sqlite/session.js +8 -8
- package/bun-sqlite/session.js.map +1 -1
- package/cockroach/driver.cjs +3 -2
- package/cockroach/driver.cjs.map +1 -1
- package/cockroach/driver.d.cts +1 -1
- package/cockroach/driver.d.ts +1 -1
- package/cockroach/driver.js +3 -2
- package/cockroach/driver.js.map +1 -1
- package/cockroach/session.cjs +4 -4
- package/cockroach/session.cjs.map +1 -1
- package/cockroach/session.d.cts +3 -3
- package/cockroach/session.d.ts +3 -3
- package/cockroach/session.js +4 -4
- package/cockroach/session.js.map +1 -1
- package/durable-sqlite/driver.cjs +2 -1
- package/durable-sqlite/driver.cjs.map +1 -1
- package/durable-sqlite/driver.js +2 -1
- package/durable-sqlite/driver.js.map +1 -1
- package/durable-sqlite/session.cjs +8 -8
- package/durable-sqlite/session.cjs.map +1 -1
- package/durable-sqlite/session.d.cts +3 -3
- package/durable-sqlite/session.d.ts +3 -3
- package/durable-sqlite/session.js +8 -8
- package/durable-sqlite/session.js.map +1 -1
- package/effect-postgres/codecs.cjs +175 -0
- package/effect-postgres/codecs.cjs.map +1 -0
- package/effect-postgres/codecs.d.cts +9 -0
- package/effect-postgres/codecs.d.ts +9 -0
- package/effect-postgres/codecs.js +173 -0
- package/effect-postgres/codecs.js.map +1 -0
- package/effect-postgres/driver.cjs +5 -171
- package/effect-postgres/driver.cjs.map +1 -1
- package/effect-postgres/driver.d.cts +3 -7
- package/effect-postgres/driver.d.ts +3 -7
- package/effect-postgres/driver.js +5 -170
- package/effect-postgres/driver.js.map +1 -1
- package/effect-postgres/index.cjs +2 -1
- package/effect-postgres/index.d.cts +2 -1
- package/effect-postgres/index.d.ts +2 -1
- package/effect-postgres/index.js +2 -1
- package/effect-postgres/migrator.d.cts +1 -1
- package/effect-postgres/migrator.d.ts +1 -1
- package/effect-postgres/session.cjs.map +1 -1
- package/effect-postgres/session.d.cts +1 -1
- package/effect-postgres/session.d.ts +1 -1
- package/effect-postgres/session.js.map +1 -1
- package/expo-sqlite/driver.cjs +2 -1
- package/expo-sqlite/driver.cjs.map +1 -1
- package/expo-sqlite/driver.js +2 -1
- package/expo-sqlite/driver.js.map +1 -1
- package/expo-sqlite/session.cjs +8 -8
- package/expo-sqlite/session.cjs.map +1 -1
- package/expo-sqlite/session.d.cts +3 -3
- package/expo-sqlite/session.d.ts +3 -3
- package/expo-sqlite/session.js +8 -8
- package/expo-sqlite/session.js.map +1 -1
- package/index.cjs +1 -0
- package/index.js +2 -2
- package/libsql/driver-core.cjs +2 -1
- package/libsql/driver-core.cjs.map +1 -1
- package/libsql/driver-core.js +2 -1
- package/libsql/driver-core.js.map +1 -1
- package/libsql/session.cjs +8 -8
- package/libsql/session.cjs.map +1 -1
- package/libsql/session.d.cts +3 -3
- package/libsql/session.d.ts +3 -3
- package/libsql/session.js +8 -8
- package/libsql/session.js.map +1 -1
- package/mysql-proxy/driver.cjs +2 -1
- package/mysql-proxy/driver.cjs.map +1 -1
- package/mysql-proxy/driver.js +2 -1
- package/mysql-proxy/driver.js.map +1 -1
- package/mysql-proxy/session.cjs +6 -6
- package/mysql-proxy/session.cjs.map +1 -1
- package/mysql-proxy/session.d.cts +3 -3
- package/mysql-proxy/session.d.ts +3 -3
- package/mysql-proxy/session.js +6 -6
- package/mysql-proxy/session.js.map +1 -1
- package/mysql2/driver.cjs +2 -1
- package/mysql2/driver.cjs.map +1 -1
- package/mysql2/driver.d.cts +1 -1
- package/mysql2/driver.d.ts +1 -1
- package/mysql2/driver.js +2 -1
- package/mysql2/driver.js.map +1 -1
- package/mysql2/session.cjs +7 -7
- package/mysql2/session.cjs.map +1 -1
- package/mysql2/session.d.cts +3 -3
- package/mysql2/session.d.ts +3 -3
- package/mysql2/session.js +7 -7
- package/mysql2/session.js.map +1 -1
- package/neon-http/codecs.cjs +66 -0
- package/neon-http/codecs.cjs.map +1 -0
- package/neon-http/codecs.d.cts +9 -0
- package/neon-http/codecs.d.ts +9 -0
- package/neon-http/codecs.js +64 -0
- package/neon-http/codecs.js.map +1 -0
- package/neon-http/driver.cjs +4 -61
- package/neon-http/driver.cjs.map +1 -1
- package/neon-http/driver.d.cts +1 -5
- package/neon-http/driver.d.ts +1 -5
- package/neon-http/driver.js +4 -60
- package/neon-http/driver.js.map +1 -1
- package/neon-http/index.cjs +2 -1
- package/neon-http/index.d.cts +2 -1
- package/neon-http/index.d.ts +2 -1
- package/neon-http/index.js +2 -1
- package/neon-serverless/codecs.cjs +65 -0
- package/neon-serverless/codecs.cjs.map +1 -0
- package/neon-serverless/codecs.d.cts +9 -0
- package/neon-serverless/codecs.d.ts +9 -0
- package/neon-serverless/codecs.js +63 -0
- package/neon-serverless/codecs.js.map +1 -0
- package/neon-serverless/driver.cjs +4 -60
- package/neon-serverless/driver.cjs.map +1 -1
- package/neon-serverless/driver.d.cts +2 -6
- package/neon-serverless/driver.d.ts +2 -6
- package/neon-serverless/driver.js +4 -59
- package/neon-serverless/driver.js.map +1 -1
- package/neon-serverless/index.cjs +2 -1
- package/neon-serverless/index.d.cts +2 -1
- package/neon-serverless/index.d.ts +2 -1
- package/neon-serverless/index.js +2 -1
- package/netlify-db/codecs.cjs +122 -0
- package/netlify-db/codecs.cjs.map +1 -0
- package/netlify-db/codecs.d.cts +10 -0
- package/netlify-db/codecs.d.ts +10 -0
- package/netlify-db/codecs.js +119 -0
- package/netlify-db/codecs.js.map +1 -0
- package/netlify-db/driver.cjs +4 -118
- package/netlify-db/driver.cjs.map +1 -1
- package/netlify-db/driver.d.cts +1 -6
- package/netlify-db/driver.d.ts +1 -6
- package/netlify-db/driver.js +4 -116
- package/netlify-db/driver.js.map +1 -1
- package/netlify-db/index.cjs +3 -2
- package/netlify-db/index.d.cts +2 -1
- package/netlify-db/index.d.ts +2 -1
- package/netlify-db/index.js +2 -1
- package/netlify-db/session.d.ts +1 -1
- package/node-mssql/driver.cjs +3 -2
- package/node-mssql/driver.cjs.map +1 -1
- package/node-mssql/driver.d.cts +1 -1
- package/node-mssql/driver.d.ts +1 -1
- package/node-mssql/driver.js +3 -2
- package/node-mssql/driver.js.map +1 -1
- package/node-mssql/session.cjs +5 -5
- package/node-mssql/session.cjs.map +1 -1
- package/node-mssql/session.d.cts +3 -3
- package/node-mssql/session.d.ts +3 -3
- package/node-mssql/session.js +5 -5
- package/node-mssql/session.js.map +1 -1
- package/node-postgres/codecs.cjs +65 -0
- package/node-postgres/codecs.cjs.map +1 -0
- package/node-postgres/codecs.d.cts +9 -0
- package/node-postgres/codecs.d.ts +9 -0
- package/node-postgres/codecs.js +63 -0
- package/node-postgres/codecs.js.map +1 -0
- package/node-postgres/driver.cjs +4 -60
- package/node-postgres/driver.cjs.map +1 -1
- package/node-postgres/driver.d.cts +1 -5
- package/node-postgres/driver.d.ts +1 -5
- package/node-postgres/driver.js +4 -59
- package/node-postgres/driver.js.map +1 -1
- package/node-postgres/index.cjs +2 -1
- package/node-postgres/index.d.cts +2 -1
- package/node-postgres/index.d.ts +2 -1
- package/node-postgres/index.js +2 -1
- package/node-sqlite/driver.cjs +5 -1
- package/node-sqlite/driver.cjs.map +1 -1
- package/node-sqlite/driver.js +5 -1
- package/node-sqlite/driver.js.map +1 -1
- package/node-sqlite/session.cjs +14 -8
- package/node-sqlite/session.cjs.map +1 -1
- package/node-sqlite/session.d.cts +8 -3
- package/node-sqlite/session.d.ts +8 -3
- package/node-sqlite/session.js +15 -9
- package/node-sqlite/session.js.map +1 -1
- package/op-sqlite/driver.cjs +2 -1
- package/op-sqlite/driver.cjs.map +1 -1
- package/op-sqlite/driver.js +2 -1
- package/op-sqlite/driver.js.map +1 -1
- package/op-sqlite/session.cjs +8 -8
- package/op-sqlite/session.cjs.map +1 -1
- package/op-sqlite/session.d.cts +3 -3
- package/op-sqlite/session.d.ts +3 -3
- package/op-sqlite/session.js +8 -8
- package/op-sqlite/session.js.map +1 -1
- package/package.json +133 -1
- package/pg-core/effect/session.d.cts +1 -1
- package/pg-core/effect/session.d.ts +1 -1
- package/pg-proxy/driver.cjs +4 -4
- package/pg-proxy/driver.cjs.map +1 -1
- package/pg-proxy/driver.d.ts +1 -1
- package/pg-proxy/driver.js +4 -4
- package/pg-proxy/driver.js.map +1 -1
- package/pg-proxy/session.cjs.map +1 -1
- package/pg-proxy/session.d.cts +0 -1
- package/pg-proxy/session.d.ts +0 -1
- package/pg-proxy/session.js.map +1 -1
- package/pglite/codecs.cjs +92 -0
- package/pglite/codecs.cjs.map +1 -0
- package/pglite/codecs.d.cts +9 -0
- package/pglite/codecs.d.ts +9 -0
- package/pglite/codecs.js +90 -0
- package/pglite/codecs.js.map +1 -0
- package/pglite/driver.cjs +3 -86
- package/pglite/driver.cjs.map +1 -1
- package/pglite/driver.d.cts +1 -5
- package/pglite/driver.d.ts +1 -5
- package/pglite/driver.js +4 -86
- package/pglite/driver.js.map +1 -1
- package/pglite/index.cjs +2 -1
- package/pglite/index.d.cts +2 -1
- package/pglite/index.d.ts +2 -1
- package/pglite/index.js +2 -1
- package/planetscale-serverless/driver.cjs +2 -1
- package/planetscale-serverless/driver.cjs.map +1 -1
- package/planetscale-serverless/driver.d.cts +1 -1
- package/planetscale-serverless/driver.d.ts +1 -1
- package/planetscale-serverless/driver.js +2 -1
- package/planetscale-serverless/driver.js.map +1 -1
- package/planetscale-serverless/session.cjs +6 -6
- package/planetscale-serverless/session.cjs.map +1 -1
- package/planetscale-serverless/session.d.cts +3 -3
- package/planetscale-serverless/session.d.ts +3 -3
- package/planetscale-serverless/session.js +6 -6
- package/planetscale-serverless/session.js.map +1 -1
- package/postgres-js/codecs.cjs +147 -0
- package/postgres-js/codecs.cjs.map +1 -0
- package/postgres-js/codecs.d.cts +9 -0
- package/postgres-js/codecs.d.ts +9 -0
- package/postgres-js/codecs.js +145 -0
- package/postgres-js/codecs.js.map +1 -0
- package/postgres-js/driver.cjs +4 -142
- package/postgres-js/driver.cjs.map +1 -1
- package/postgres-js/driver.d.cts +1 -5
- package/postgres-js/driver.d.ts +1 -5
- package/postgres-js/driver.js +4 -141
- package/postgres-js/driver.js.map +1 -1
- package/postgres-js/index.cjs +2 -1
- package/postgres-js/index.d.cts +2 -1
- package/postgres-js/index.d.ts +2 -1
- package/postgres-js/index.js +2 -1
- package/singlestore/driver.cjs +3 -2
- package/singlestore/driver.cjs.map +1 -1
- package/singlestore/driver.d.cts +1 -1
- package/singlestore/driver.d.ts +1 -1
- package/singlestore/driver.js +3 -2
- package/singlestore/driver.js.map +1 -1
- package/singlestore/session.cjs +7 -7
- package/singlestore/session.cjs.map +1 -1
- package/singlestore/session.d.cts +3 -3
- package/singlestore/session.d.ts +3 -3
- package/singlestore/session.js +7 -7
- package/singlestore/session.js.map +1 -1
- package/singlestore-proxy/driver.cjs +2 -1
- package/singlestore-proxy/driver.cjs.map +1 -1
- package/singlestore-proxy/driver.js +2 -1
- package/singlestore-proxy/driver.js.map +1 -1
- package/singlestore-proxy/session.cjs +6 -6
- package/singlestore-proxy/session.cjs.map +1 -1
- package/singlestore-proxy/session.d.cts +3 -3
- package/singlestore-proxy/session.d.ts +3 -3
- package/singlestore-proxy/session.js +6 -6
- package/singlestore-proxy/session.js.map +1 -1
- package/sql-js/driver.cjs +2 -1
- package/sql-js/driver.cjs.map +1 -1
- package/sql-js/driver.js +2 -1
- package/sql-js/driver.js.map +1 -1
- package/sql-js/session.cjs +8 -8
- package/sql-js/session.cjs.map +1 -1
- package/sql-js/session.d.cts +3 -3
- package/sql-js/session.d.ts +3 -3
- package/sql-js/session.js +8 -8
- package/sql-js/session.js.map +1 -1
- package/sqlite-cloud/driver.cjs +2 -1
- package/sqlite-cloud/driver.cjs.map +1 -1
- package/sqlite-cloud/driver.js +2 -1
- package/sqlite-cloud/driver.js.map +1 -1
- package/sqlite-cloud/session.cjs +8 -8
- package/sqlite-cloud/session.cjs.map +1 -1
- package/sqlite-cloud/session.d.cts +3 -3
- package/sqlite-cloud/session.d.ts +3 -3
- package/sqlite-cloud/session.js +8 -8
- package/sqlite-cloud/session.js.map +1 -1
- package/sqlite-proxy/driver.cjs +2 -1
- package/sqlite-proxy/driver.cjs.map +1 -1
- package/sqlite-proxy/driver.js +2 -1
- package/sqlite-proxy/driver.js.map +1 -1
- package/sqlite-proxy/session.cjs +8 -8
- package/sqlite-proxy/session.cjs.map +1 -1
- package/sqlite-proxy/session.d.cts +3 -3
- package/sqlite-proxy/session.d.ts +3 -3
- package/sqlite-proxy/session.js +8 -8
- package/sqlite-proxy/session.js.map +1 -1
- package/tidb-serverless/driver.cjs +2 -1
- package/tidb-serverless/driver.cjs.map +1 -1
- package/tidb-serverless/driver.d.cts +1 -1
- package/tidb-serverless/driver.d.ts +1 -1
- package/tidb-serverless/driver.js +2 -1
- package/tidb-serverless/driver.js.map +1 -1
- package/tidb-serverless/session.cjs +6 -6
- package/tidb-serverless/session.cjs.map +1 -1
- package/tidb-serverless/session.d.cts +3 -3
- package/tidb-serverless/session.d.ts +3 -3
- package/tidb-serverless/session.js +6 -6
- package/tidb-serverless/session.js.map +1 -1
- package/tursodatabase/driver-core.cjs +2 -1
- package/tursodatabase/driver-core.cjs.map +1 -1
- package/tursodatabase/driver-core.js +2 -1
- package/tursodatabase/driver-core.js.map +1 -1
- package/tursodatabase/session.cjs +8 -8
- package/tursodatabase/session.cjs.map +1 -1
- package/tursodatabase/session.d.cts +3 -3
- package/tursodatabase/session.d.ts +3 -3
- package/tursodatabase/session.js +8 -8
- package/tursodatabase/session.js.map +1 -1
- package/utils.cjs +17 -0
- package/utils.cjs.map +1 -1
- package/utils.js +17 -1
- package/utils.js.map +1 -1
- package/vercel-postgres/codecs.cjs +65 -0
- package/vercel-postgres/codecs.cjs.map +1 -0
- package/vercel-postgres/codecs.d.cts +9 -0
- package/vercel-postgres/codecs.d.ts +9 -0
- package/vercel-postgres/codecs.js +63 -0
- package/vercel-postgres/codecs.js.map +1 -0
- package/vercel-postgres/driver.cjs +3 -60
- package/vercel-postgres/driver.cjs.map +1 -1
- package/vercel-postgres/driver.d.cts +1 -5
- package/vercel-postgres/driver.d.ts +1 -5
- package/vercel-postgres/driver.js +4 -60
- package/vercel-postgres/driver.js.map +1 -1
- package/vercel-postgres/index.cjs +2 -1
- package/vercel-postgres/index.d.cts +2 -1
- package/vercel-postgres/index.d.ts +2 -1
- package/vercel-postgres/index.js +2 -1
- package/version.cjs +1 -1
- package/version.cjs.map +1 -1
- package/version.d.cts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.js.map +1 -1
- package/xata-http/codecs.cjs +168 -0
- package/xata-http/codecs.cjs.map +1 -0
- package/xata-http/codecs.d.cts +9 -0
- package/xata-http/codecs.d.ts +9 -0
- package/xata-http/codecs.js +166 -0
- package/xata-http/codecs.js.map +1 -0
- package/xata-http/driver.cjs +4 -163
- package/xata-http/driver.cjs.map +1 -1
- package/xata-http/driver.d.cts +1 -5
- package/xata-http/driver.d.ts +1 -5
- package/xata-http/driver.js +4 -162
- package/xata-http/driver.js.map +1 -1
- package/xata-http/index.cjs +2 -1
- package/xata-http/index.d.cts +2 -1
- package/xata-http/index.d.ts +2 -1
- package/xata-http/index.js +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.cjs","names":["MySqlPreparedQuery","entityKind","Column","MySqlSession","NoopLogger","NoopCache","MySqlTransaction","sql"],"sources":["../../src/planetscale-serverless/session.ts"],"sourcesContent":["import type { Client, Connection, ExecutedQuery, Transaction } from '@planetscale/database';\nimport type * as V1 from '~/_relations.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/mysql-core/query-builders/select.types.ts';\nimport {\n\tMySqlPreparedQuery,\n\ttype MySqlPreparedQueryConfig,\n\ttype MySqlPreparedQueryHKT,\n\ttype MySqlQueryResultHKT,\n\tMySqlSession,\n\tMySqlTransaction,\n} from '~/mysql-core/session.ts';\nimport {\n\ttype AnyRelations,\n\tmakeJitRqbMapper,\n\ttype RelationalQueryMapperConfig,\n\ttype RelationalRowsMapper,\n} from '~/relations.ts';\nimport { fillPlaceholders, type Query, type SQL, sql } from '~/sql/sql.ts';\nimport { type Assume, makeJitQueryMapper, mapResultRow, type RowsMapper } from '~/utils.ts';\n\nexport class PlanetScalePreparedQuery<T extends MySqlPreparedQueryConfig, TIsRqbV2 extends boolean = false>\n\textends MySqlPreparedQuery<T>\n{\n\tstatic override readonly [entityKind]: string = 'PlanetScalePreparedQuery';\n\tprivate jitMapper?: RowsMapper<T['execute']> | RelationalRowsMapper<T['execute']>;\n\n\tprivate rawQuery = { as: 'object' } as const;\n\tprivate query = { as: 'array' } as const;\n\n\tconstructor(\n\t\tprivate client: Client | Transaction | Connection,\n\t\tprivate queryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate useJitMapper: boolean | undefined,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => T['execute'],\n\t\t// Keys that were used in $default and the value that was generated for them\n\t\tprivate generatedIds?: Record<string, unknown>[],\n\t\t// Keys that should be returned, it has the column with all properries + key from object\n\t\tprivate returningIds?: SelectedFieldsOrdered,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t\tprivate rqbConfig?: RelationalQueryMapperConfig,\n\t) {\n\t\tsuper(cache, queryMetadata, cacheConfig);\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tif (this.isRqbV2Query) return this.executeRqbV2(placeholderValues);\n\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.queryString, params);\n\n\t\tconst {\n\t\t\tfields,\n\t\t\tclient,\n\t\t\tqueryString,\n\t\t\trawQuery,\n\t\t\tquery,\n\t\t\tjoinsNotNullableMap,\n\t\t\tcustomResultMapper,\n\t\t\treturningIds,\n\t\t\tgeneratedIds,\n\t\t} = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst res = await this.queryWithCache(queryString, params, async () => {\n\t\t\t\treturn await client.execute(queryString, params, rawQuery);\n\t\t\t});\n\n\t\t\tconst insertId = Number.parseFloat(res.insertId);\n\t\t\tconst affectedRows = res.rowsAffected;\n\n\t\t\t// for each row, I need to check keys from\n\t\t\tif (returningIds) {\n\t\t\t\tconst returningResponse = [];\n\t\t\t\tlet j = 0;\n\t\t\t\tfor (let i = insertId; i < insertId + affectedRows; i++) {\n\t\t\t\t\tfor (const column of returningIds) {\n\t\t\t\t\t\tconst key = returningIds[0]!.path[0]!;\n\t\t\t\t\t\tif (is(column.field, Column)) {\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tif (column.field.primary && column.field.autoIncrement) {\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: i });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (column.field.defaultFn && generatedIds) {\n\t\t\t\t\t\t\t\t// generatedIds[rowIdx][key]\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: generatedIds[j]![key] });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tj++;\n\t\t\t\t}\n\t\t\t\treturn returningResponse;\n\t\t\t}\n\t\t\treturn res;\n\t\t}\n\t\tconst { rows } = await this.queryWithCache(queryString, params, async () => {\n\t\t\treturn await client.execute(queryString, params, query);\n\t\t});\n\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => T['execute'])(rows as unknown[][]);\n\t\t}\n\n\t\treturn this.useJitMapper\n\t\t\t? (this.jitMapper = this.jitMapper as RowsMapper<T['execute']>\n\t\t\t\t?? makeJitQueryMapper<T['execute']>(fields!, joinsNotNullableMap))(\n\t\t\t\t\trows as unknown[][],\n\t\t\t\t)\n\t\t\t: rows.map((row) => mapResultRow(fields!, row as unknown[], joinsNotNullableMap));\n\t}\n\n\tprivate async executeRqbV2(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.queryString, params);\n\n\t\tconst {\n\t\t\tclient,\n\t\t\tqueryString,\n\t\t\trawQuery,\n\t\t\tcustomResultMapper,\n\t\t} = this;\n\n\t\tconst res = await client.execute(queryString, params, rawQuery);\n\n\t\treturn this.useJitMapper\n\t\t\t? (this.jitMapper = this.jitMapper as RelationalRowsMapper<T['execute']>\n\t\t\t\t?? makeJitRqbMapper<T['execute']>(this.rqbConfig!))(res.rows as any as Record<string, unknown>[])\n\t\t\t: (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(\n\t\t\t\tres.rows as any as Record<string, unknown>[],\n\t\t\t);\n\t}\n\n\toverride iterator(_placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']> {\n\t\tthrow new Error('Streaming is not supported by the PlanetScale Serverless driver');\n\t}\n}\n\nexport interface PlanetscaleSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMapper?: boolean;\n}\n\nexport class PlanetscaleSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlSession<\n\tMySqlQueryResultHKT,\n\tPlanetScalePreparedQueryHKT,\n\tTFullSchema,\n\tTRelations,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'PlanetscaleSession';\n\n\tprivate logger: Logger;\n\tprivate client: Client | Transaction | Connection;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate baseClient: Client | Connection,\n\t\tdialect: MySqlDialect,\n\t\ttx: Transaction | undefined,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: PlanetscaleSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.client = tx ?? baseClient;\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends MySqlPreparedQueryConfig = MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): MySqlPreparedQuery<T> {\n\t\treturn new PlanetScalePreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\tthis.options.useJitMapper,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t);\n\t}\n\n\tprepareRelationalQuery<T extends MySqlPreparedQueryConfig = MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => T['execute'],\n\t\tconfig: RelationalQueryMapperConfig,\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t): MySqlPreparedQuery<T> {\n\t\treturn new PlanetScalePreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfields,\n\t\t\tthis.options.useJitMapper,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t\ttrue,\n\t\t\tconfig,\n\t\t);\n\t}\n\n\tasync query(query: string, params: unknown[]): Promise<ExecutedQuery> {\n\t\tthis.logger.logQuery(query, params);\n\n\t\treturn await this.client.execute(query, params, { as: 'array' });\n\t}\n\n\tasync queryObjects(\n\t\tquery: string,\n\t\tparams: unknown[],\n\t): Promise<ExecutedQuery> {\n\t\treturn this.client.execute(query, params, { as: 'object' });\n\t}\n\n\toverride all<T = unknown>(query: SQL): Promise<T[]> {\n\t\tconst querySql = this.dialect.sqlToQuery(query);\n\t\tthis.logger.logQuery(querySql.sql, querySql.params);\n\n\t\treturn this.client.execute<T>(querySql.sql, querySql.params, { as: 'object' }).then((\n\t\t\teQuery,\n\t\t) => eQuery.rows);\n\t}\n\n\toverride async count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<{ rows: [{ count: string }] }>(sql);\n\n\t\treturn Number(\n\t\t\tres['rows'][0]['count'],\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: PlanetScaleTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\treturn this.baseClient.transaction((pstx) => {\n\t\t\tconst session = new PlanetscaleSession(\n\t\t\t\tthis.baseClient,\n\t\t\t\tthis.dialect,\n\t\t\t\tpstx,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.options,\n\t\t\t);\n\t\t\tconst tx = new PlanetScaleTransaction<TFullSchema, TRelations, TSchema>(\n\t\t\t\tthis.dialect,\n\t\t\t\tsession as MySqlSession<any, any, any, any, any>,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t);\n\t\t\treturn transaction(tx);\n\t\t});\n\t}\n}\n\nexport class PlanetScaleTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlTransaction<\n\tPlanetscaleQueryResultHKT,\n\tPlanetScalePreparedQueryHKT,\n\tTFullSchema,\n\tTRelations,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'PlanetScaleTransaction';\n\n\tconstructor(\n\t\tdialect: MySqlDialect,\n\t\tsession: MySqlSession,\n\t\trelations: TRelations,\n\t\tschema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tnestedIndex = 0,\n\t) {\n\t\tsuper(dialect, session, relations, schema, nestedIndex, 'planetscale');\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: PlanetScaleTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new PlanetScaleTransaction<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t);\n\t\tawait tx.execute(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait tx.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport interface PlanetscaleQueryResultHKT extends MySqlQueryResultHKT {\n\ttype: ExecutedQuery;\n}\n\nexport interface PlanetScalePreparedQueryHKT extends MySqlPreparedQueryHKT {\n\ttype: PlanetScalePreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.cjs","names":["MySqlPreparedQuery","entityKind","Column","MySqlSession","NoopLogger","NoopCache","MySqlTransaction","sql"],"sources":["../../src/planetscale-serverless/session.ts"],"sourcesContent":["import type { Client, Connection, ExecutedQuery, Transaction } from '@planetscale/database';\nimport type * as V1 from '~/_relations.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/mysql-core/query-builders/select.types.ts';\nimport {\n\tMySqlPreparedQuery,\n\ttype MySqlPreparedQueryConfig,\n\ttype MySqlPreparedQueryHKT,\n\ttype MySqlQueryResultHKT,\n\tMySqlSession,\n\tMySqlTransaction,\n} from '~/mysql-core/session.ts';\nimport {\n\ttype AnyRelations,\n\tmakeJitRqbMapper,\n\ttype RelationalQueryMapperConfig,\n\ttype RelationalRowsMapper,\n} from '~/relations.ts';\nimport { fillPlaceholders, type Query, type SQL, sql } from '~/sql/sql.ts';\nimport { type Assume, makeJitQueryMapper, mapResultRow, type RowsMapper } from '~/utils.ts';\n\nexport class PlanetScalePreparedQuery<T extends MySqlPreparedQueryConfig, TIsRqbV2 extends boolean = false>\n\textends MySqlPreparedQuery<T>\n{\n\tstatic override readonly [entityKind]: string = 'PlanetScalePreparedQuery';\n\tprivate jitMapper?: RowsMapper<T['execute']> | RelationalRowsMapper<T['execute']>;\n\n\tprivate rawQuery = { as: 'object' } as const;\n\tprivate query = { as: 'array' } as const;\n\n\tconstructor(\n\t\tprivate client: Client | Transaction | Connection,\n\t\tprivate queryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate useJitMappers: boolean | undefined,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => T['execute'],\n\t\t// Keys that were used in $default and the value that was generated for them\n\t\tprivate generatedIds?: Record<string, unknown>[],\n\t\t// Keys that should be returned, it has the column with all properries + key from object\n\t\tprivate returningIds?: SelectedFieldsOrdered,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t\tprivate rqbConfig?: RelationalQueryMapperConfig,\n\t) {\n\t\tsuper(cache, queryMetadata, cacheConfig);\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tif (this.isRqbV2Query) return this.executeRqbV2(placeholderValues);\n\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.queryString, params);\n\n\t\tconst {\n\t\t\tfields,\n\t\t\tclient,\n\t\t\tqueryString,\n\t\t\trawQuery,\n\t\t\tquery,\n\t\t\tjoinsNotNullableMap,\n\t\t\tcustomResultMapper,\n\t\t\treturningIds,\n\t\t\tgeneratedIds,\n\t\t} = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst res = await this.queryWithCache(queryString, params, async () => {\n\t\t\t\treturn await client.execute(queryString, params, rawQuery);\n\t\t\t});\n\n\t\t\tconst insertId = Number.parseFloat(res.insertId);\n\t\t\tconst affectedRows = res.rowsAffected;\n\n\t\t\t// for each row, I need to check keys from\n\t\t\tif (returningIds) {\n\t\t\t\tconst returningResponse = [];\n\t\t\t\tlet j = 0;\n\t\t\t\tfor (let i = insertId; i < insertId + affectedRows; i++) {\n\t\t\t\t\tfor (const column of returningIds) {\n\t\t\t\t\t\tconst key = returningIds[0]!.path[0]!;\n\t\t\t\t\t\tif (is(column.field, Column)) {\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tif (column.field.primary && column.field.autoIncrement) {\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: i });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (column.field.defaultFn && generatedIds) {\n\t\t\t\t\t\t\t\t// generatedIds[rowIdx][key]\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: generatedIds[j]![key] });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tj++;\n\t\t\t\t}\n\t\t\t\treturn returningResponse;\n\t\t\t}\n\t\t\treturn res;\n\t\t}\n\t\tconst { rows } = await this.queryWithCache(queryString, params, async () => {\n\t\t\treturn await client.execute(queryString, params, query);\n\t\t});\n\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => T['execute'])(rows as unknown[][]);\n\t\t}\n\n\t\treturn this.useJitMappers\n\t\t\t? (this.jitMapper = this.jitMapper as RowsMapper<T['execute']>\n\t\t\t\t?? makeJitQueryMapper<T['execute']>(fields!, joinsNotNullableMap))(\n\t\t\t\t\trows as unknown[][],\n\t\t\t\t)\n\t\t\t: rows.map((row) => mapResultRow(fields!, row as unknown[], joinsNotNullableMap));\n\t}\n\n\tprivate async executeRqbV2(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.queryString, params);\n\n\t\tconst {\n\t\t\tclient,\n\t\t\tqueryString,\n\t\t\trawQuery,\n\t\t\tcustomResultMapper,\n\t\t} = this;\n\n\t\tconst res = await client.execute(queryString, params, rawQuery);\n\n\t\treturn this.useJitMappers\n\t\t\t? (this.jitMapper = this.jitMapper as RelationalRowsMapper<T['execute']>\n\t\t\t\t?? makeJitRqbMapper<T['execute']>(this.rqbConfig!))(res.rows as any as Record<string, unknown>[])\n\t\t\t: (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(\n\t\t\t\tres.rows as any as Record<string, unknown>[],\n\t\t\t);\n\t}\n\n\toverride iterator(_placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']> {\n\t\tthrow new Error('Streaming is not supported by the PlanetScale Serverless driver');\n\t}\n}\n\nexport interface PlanetscaleSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMappers?: boolean;\n}\n\nexport class PlanetscaleSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlSession<\n\tMySqlQueryResultHKT,\n\tPlanetScalePreparedQueryHKT,\n\tTFullSchema,\n\tTRelations,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'PlanetscaleSession';\n\n\tprivate logger: Logger;\n\tprivate client: Client | Transaction | Connection;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate baseClient: Client | Connection,\n\t\tdialect: MySqlDialect,\n\t\ttx: Transaction | undefined,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: PlanetscaleSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.client = tx ?? baseClient;\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends MySqlPreparedQueryConfig = MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): MySqlPreparedQuery<T> {\n\t\treturn new PlanetScalePreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\tthis.options.useJitMappers,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t);\n\t}\n\n\tprepareRelationalQuery<T extends MySqlPreparedQueryConfig = MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => T['execute'],\n\t\tconfig: RelationalQueryMapperConfig,\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t): MySqlPreparedQuery<T> {\n\t\treturn new PlanetScalePreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfields,\n\t\t\tthis.options.useJitMappers,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t\ttrue,\n\t\t\tconfig,\n\t\t);\n\t}\n\n\tasync query(query: string, params: unknown[]): Promise<ExecutedQuery> {\n\t\tthis.logger.logQuery(query, params);\n\n\t\treturn await this.client.execute(query, params, { as: 'array' });\n\t}\n\n\tasync queryObjects(\n\t\tquery: string,\n\t\tparams: unknown[],\n\t): Promise<ExecutedQuery> {\n\t\treturn this.client.execute(query, params, { as: 'object' });\n\t}\n\n\toverride all<T = unknown>(query: SQL): Promise<T[]> {\n\t\tconst querySql = this.dialect.sqlToQuery(query);\n\t\tthis.logger.logQuery(querySql.sql, querySql.params);\n\n\t\treturn this.client.execute<T>(querySql.sql, querySql.params, { as: 'object' }).then((\n\t\t\teQuery,\n\t\t) => eQuery.rows);\n\t}\n\n\toverride async count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<{ rows: [{ count: string }] }>(sql);\n\n\t\treturn Number(\n\t\t\tres['rows'][0]['count'],\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: PlanetScaleTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\treturn this.baseClient.transaction((pstx) => {\n\t\t\tconst session = new PlanetscaleSession(\n\t\t\t\tthis.baseClient,\n\t\t\t\tthis.dialect,\n\t\t\t\tpstx,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.options,\n\t\t\t);\n\t\t\tconst tx = new PlanetScaleTransaction<TFullSchema, TRelations, TSchema>(\n\t\t\t\tthis.dialect,\n\t\t\t\tsession as MySqlSession<any, any, any, any, any>,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t);\n\t\t\treturn transaction(tx);\n\t\t});\n\t}\n}\n\nexport class PlanetScaleTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlTransaction<\n\tPlanetscaleQueryResultHKT,\n\tPlanetScalePreparedQueryHKT,\n\tTFullSchema,\n\tTRelations,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'PlanetScaleTransaction';\n\n\tconstructor(\n\t\tdialect: MySqlDialect,\n\t\tsession: MySqlSession,\n\t\trelations: TRelations,\n\t\tschema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tnestedIndex = 0,\n\t) {\n\t\tsuper(dialect, session, relations, schema, nestedIndex, 'planetscale');\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: PlanetScaleTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new PlanetScaleTransaction<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t);\n\t\tawait tx.execute(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait tx.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport interface PlanetscaleQueryResultHKT extends MySqlQueryResultHKT {\n\ttype: ExecutedQuery;\n}\n\nexport interface PlanetScalePreparedQueryHKT extends MySqlPreparedQueryHKT {\n\ttype: PlanetScalePreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;\n}\n"],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ declare class PlanetScalePreparedQuery<T extends MySqlPreparedQueryConfig, TIsRq
|
|
|
18
18
|
private params;
|
|
19
19
|
private logger;
|
|
20
20
|
private fields;
|
|
21
|
-
private
|
|
21
|
+
private useJitMappers;
|
|
22
22
|
private customResultMapper?;
|
|
23
23
|
private generatedIds?;
|
|
24
24
|
private returningIds?;
|
|
@@ -31,7 +31,7 @@ declare class PlanetScalePreparedQuery<T extends MySqlPreparedQueryConfig, TIsRq
|
|
|
31
31
|
constructor(client: Client | Transaction | Connection, queryString: string, params: unknown[], logger: Logger, cache: Cache, queryMetadata: {
|
|
32
32
|
type: 'select' | 'update' | 'delete' | 'insert';
|
|
33
33
|
tables: string[];
|
|
34
|
-
} | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined,
|
|
34
|
+
} | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined, useJitMappers: boolean | undefined, customResultMapper?: ((rows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][]) => T["execute"]) | undefined, generatedIds?: Record<string, unknown>[] | undefined, returningIds?: SelectedFieldsOrdered | undefined, isRqbV2Query?: TIsRqbV2 | undefined, rqbConfig?: RelationalQueryMapperConfig | undefined);
|
|
35
35
|
execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
|
|
36
36
|
private executeRqbV2;
|
|
37
37
|
iterator(_placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']>;
|
|
@@ -39,7 +39,7 @@ declare class PlanetScalePreparedQuery<T extends MySqlPreparedQueryConfig, TIsRq
|
|
|
39
39
|
interface PlanetscaleSessionOptions {
|
|
40
40
|
logger?: Logger;
|
|
41
41
|
cache?: Cache;
|
|
42
|
-
|
|
42
|
+
useJitMappers?: boolean;
|
|
43
43
|
}
|
|
44
44
|
declare class PlanetscaleSession<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TSchema extends V1.TablesRelationalConfig> extends MySqlSession<MySqlQueryResultHKT, PlanetScalePreparedQueryHKT, TFullSchema, TRelations, TSchema> {
|
|
45
45
|
private baseClient;
|
|
@@ -18,7 +18,7 @@ declare class PlanetScalePreparedQuery<T extends MySqlPreparedQueryConfig, TIsRq
|
|
|
18
18
|
private params;
|
|
19
19
|
private logger;
|
|
20
20
|
private fields;
|
|
21
|
-
private
|
|
21
|
+
private useJitMappers;
|
|
22
22
|
private customResultMapper?;
|
|
23
23
|
private generatedIds?;
|
|
24
24
|
private returningIds?;
|
|
@@ -31,7 +31,7 @@ declare class PlanetScalePreparedQuery<T extends MySqlPreparedQueryConfig, TIsRq
|
|
|
31
31
|
constructor(client: Client | Transaction | Connection, queryString: string, params: unknown[], logger: Logger, cache: Cache, queryMetadata: {
|
|
32
32
|
type: 'select' | 'update' | 'delete' | 'insert';
|
|
33
33
|
tables: string[];
|
|
34
|
-
} | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined,
|
|
34
|
+
} | undefined, cacheConfig: WithCacheConfig | undefined, fields: SelectedFieldsOrdered | undefined, useJitMappers: boolean | undefined, customResultMapper?: ((rows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][]) => T["execute"]) | undefined, generatedIds?: Record<string, unknown>[] | undefined, returningIds?: SelectedFieldsOrdered | undefined, isRqbV2Query?: TIsRqbV2 | undefined, rqbConfig?: RelationalQueryMapperConfig | undefined);
|
|
35
35
|
execute(placeholderValues?: Record<string, unknown> | undefined): Promise<T['execute']>;
|
|
36
36
|
private executeRqbV2;
|
|
37
37
|
iterator(_placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']>;
|
|
@@ -39,7 +39,7 @@ declare class PlanetScalePreparedQuery<T extends MySqlPreparedQueryConfig, TIsRq
|
|
|
39
39
|
interface PlanetscaleSessionOptions {
|
|
40
40
|
logger?: Logger;
|
|
41
41
|
cache?: Cache;
|
|
42
|
-
|
|
42
|
+
useJitMappers?: boolean;
|
|
43
43
|
}
|
|
44
44
|
declare class PlanetscaleSession<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TSchema extends V1.TablesRelationalConfig> extends MySqlSession<MySqlQueryResultHKT, PlanetScalePreparedQueryHKT, TFullSchema, TRelations, TSchema> {
|
|
45
45
|
private baseClient;
|
|
@@ -13,14 +13,14 @@ var PlanetScalePreparedQuery = class extends MySqlPreparedQuery {
|
|
|
13
13
|
jitMapper;
|
|
14
14
|
rawQuery = { as: "object" };
|
|
15
15
|
query = { as: "array" };
|
|
16
|
-
constructor(client, queryString, params, logger, cache, queryMetadata, cacheConfig, fields,
|
|
16
|
+
constructor(client, queryString, params, logger, cache, queryMetadata, cacheConfig, fields, useJitMappers, customResultMapper, generatedIds, returningIds, isRqbV2Query, rqbConfig) {
|
|
17
17
|
super(cache, queryMetadata, cacheConfig);
|
|
18
18
|
this.client = client;
|
|
19
19
|
this.queryString = queryString;
|
|
20
20
|
this.params = params;
|
|
21
21
|
this.logger = logger;
|
|
22
22
|
this.fields = fields;
|
|
23
|
-
this.
|
|
23
|
+
this.useJitMappers = useJitMappers;
|
|
24
24
|
this.customResultMapper = customResultMapper;
|
|
25
25
|
this.generatedIds = generatedIds;
|
|
26
26
|
this.returningIds = returningIds;
|
|
@@ -59,14 +59,14 @@ var PlanetScalePreparedQuery = class extends MySqlPreparedQuery {
|
|
|
59
59
|
return await client.execute(queryString, params, query);
|
|
60
60
|
});
|
|
61
61
|
if (customResultMapper) return customResultMapper(rows);
|
|
62
|
-
return this.
|
|
62
|
+
return this.useJitMappers ? (this.jitMapper = this.jitMapper ?? makeJitQueryMapper(fields, joinsNotNullableMap))(rows) : rows.map((row) => mapResultRow(fields, row, joinsNotNullableMap));
|
|
63
63
|
}
|
|
64
64
|
async executeRqbV2(placeholderValues = {}) {
|
|
65
65
|
const params = fillPlaceholders(this.params, placeholderValues);
|
|
66
66
|
this.logger.logQuery(this.queryString, params);
|
|
67
67
|
const { client, queryString, rawQuery, customResultMapper } = this;
|
|
68
68
|
const res = await client.execute(queryString, params, rawQuery);
|
|
69
|
-
return this.
|
|
69
|
+
return this.useJitMappers ? (this.jitMapper = this.jitMapper ?? makeJitRqbMapper(this.rqbConfig))(res.rows) : customResultMapper(res.rows);
|
|
70
70
|
}
|
|
71
71
|
iterator(_placeholderValues) {
|
|
72
72
|
throw new Error("Streaming is not supported by the PlanetScale Serverless driver");
|
|
@@ -88,10 +88,10 @@ var PlanetscaleSession = class PlanetscaleSession extends MySqlSession {
|
|
|
88
88
|
this.cache = options.cache ?? new NoopCache();
|
|
89
89
|
}
|
|
90
90
|
prepareQuery(query, fields, customResultMapper, generatedIds, returningIds, queryMetadata, cacheConfig) {
|
|
91
|
-
return new PlanetScalePreparedQuery(this.client, query.sql, query.params, this.logger, this.cache, queryMetadata, cacheConfig, fields, this.options.
|
|
91
|
+
return new PlanetScalePreparedQuery(this.client, query.sql, query.params, this.logger, this.cache, queryMetadata, cacheConfig, fields, this.options.useJitMappers, customResultMapper, generatedIds, returningIds);
|
|
92
92
|
}
|
|
93
93
|
prepareRelationalQuery(query, fields, customResultMapper, config, generatedIds, returningIds) {
|
|
94
|
-
return new PlanetScalePreparedQuery(this.client, query.sql, query.params, this.logger, this.cache, void 0, void 0, fields, this.options.
|
|
94
|
+
return new PlanetScalePreparedQuery(this.client, query.sql, query.params, this.logger, this.cache, void 0, void 0, fields, this.options.useJitMappers, customResultMapper, generatedIds, returningIds, true, config);
|
|
95
95
|
}
|
|
96
96
|
async query(query, params) {
|
|
97
97
|
this.logger.logQuery(query, params);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","names":[],"sources":["../../src/planetscale-serverless/session.ts"],"sourcesContent":["import type { Client, Connection, ExecutedQuery, Transaction } from '@planetscale/database';\nimport type * as V1 from '~/_relations.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/mysql-core/query-builders/select.types.ts';\nimport {\n\tMySqlPreparedQuery,\n\ttype MySqlPreparedQueryConfig,\n\ttype MySqlPreparedQueryHKT,\n\ttype MySqlQueryResultHKT,\n\tMySqlSession,\n\tMySqlTransaction,\n} from '~/mysql-core/session.ts';\nimport {\n\ttype AnyRelations,\n\tmakeJitRqbMapper,\n\ttype RelationalQueryMapperConfig,\n\ttype RelationalRowsMapper,\n} from '~/relations.ts';\nimport { fillPlaceholders, type Query, type SQL, sql } from '~/sql/sql.ts';\nimport { type Assume, makeJitQueryMapper, mapResultRow, type RowsMapper } from '~/utils.ts';\n\nexport class PlanetScalePreparedQuery<T extends MySqlPreparedQueryConfig, TIsRqbV2 extends boolean = false>\n\textends MySqlPreparedQuery<T>\n{\n\tstatic override readonly [entityKind]: string = 'PlanetScalePreparedQuery';\n\tprivate jitMapper?: RowsMapper<T['execute']> | RelationalRowsMapper<T['execute']>;\n\n\tprivate rawQuery = { as: 'object' } as const;\n\tprivate query = { as: 'array' } as const;\n\n\tconstructor(\n\t\tprivate client: Client | Transaction | Connection,\n\t\tprivate queryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate useJitMapper: boolean | undefined,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => T['execute'],\n\t\t// Keys that were used in $default and the value that was generated for them\n\t\tprivate generatedIds?: Record<string, unknown>[],\n\t\t// Keys that should be returned, it has the column with all properries + key from object\n\t\tprivate returningIds?: SelectedFieldsOrdered,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t\tprivate rqbConfig?: RelationalQueryMapperConfig,\n\t) {\n\t\tsuper(cache, queryMetadata, cacheConfig);\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tif (this.isRqbV2Query) return this.executeRqbV2(placeholderValues);\n\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.queryString, params);\n\n\t\tconst {\n\t\t\tfields,\n\t\t\tclient,\n\t\t\tqueryString,\n\t\t\trawQuery,\n\t\t\tquery,\n\t\t\tjoinsNotNullableMap,\n\t\t\tcustomResultMapper,\n\t\t\treturningIds,\n\t\t\tgeneratedIds,\n\t\t} = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst res = await this.queryWithCache(queryString, params, async () => {\n\t\t\t\treturn await client.execute(queryString, params, rawQuery);\n\t\t\t});\n\n\t\t\tconst insertId = Number.parseFloat(res.insertId);\n\t\t\tconst affectedRows = res.rowsAffected;\n\n\t\t\t// for each row, I need to check keys from\n\t\t\tif (returningIds) {\n\t\t\t\tconst returningResponse = [];\n\t\t\t\tlet j = 0;\n\t\t\t\tfor (let i = insertId; i < insertId + affectedRows; i++) {\n\t\t\t\t\tfor (const column of returningIds) {\n\t\t\t\t\t\tconst key = returningIds[0]!.path[0]!;\n\t\t\t\t\t\tif (is(column.field, Column)) {\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tif (column.field.primary && column.field.autoIncrement) {\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: i });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (column.field.defaultFn && generatedIds) {\n\t\t\t\t\t\t\t\t// generatedIds[rowIdx][key]\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: generatedIds[j]![key] });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tj++;\n\t\t\t\t}\n\t\t\t\treturn returningResponse;\n\t\t\t}\n\t\t\treturn res;\n\t\t}\n\t\tconst { rows } = await this.queryWithCache(queryString, params, async () => {\n\t\t\treturn await client.execute(queryString, params, query);\n\t\t});\n\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => T['execute'])(rows as unknown[][]);\n\t\t}\n\n\t\treturn this.useJitMapper\n\t\t\t? (this.jitMapper = this.jitMapper as RowsMapper<T['execute']>\n\t\t\t\t?? makeJitQueryMapper<T['execute']>(fields!, joinsNotNullableMap))(\n\t\t\t\t\trows as unknown[][],\n\t\t\t\t)\n\t\t\t: rows.map((row) => mapResultRow(fields!, row as unknown[], joinsNotNullableMap));\n\t}\n\n\tprivate async executeRqbV2(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.queryString, params);\n\n\t\tconst {\n\t\t\tclient,\n\t\t\tqueryString,\n\t\t\trawQuery,\n\t\t\tcustomResultMapper,\n\t\t} = this;\n\n\t\tconst res = await client.execute(queryString, params, rawQuery);\n\n\t\treturn this.useJitMapper\n\t\t\t? (this.jitMapper = this.jitMapper as RelationalRowsMapper<T['execute']>\n\t\t\t\t?? makeJitRqbMapper<T['execute']>(this.rqbConfig!))(res.rows as any as Record<string, unknown>[])\n\t\t\t: (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(\n\t\t\t\tres.rows as any as Record<string, unknown>[],\n\t\t\t);\n\t}\n\n\toverride iterator(_placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']> {\n\t\tthrow new Error('Streaming is not supported by the PlanetScale Serverless driver');\n\t}\n}\n\nexport interface PlanetscaleSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMapper?: boolean;\n}\n\nexport class PlanetscaleSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlSession<\n\tMySqlQueryResultHKT,\n\tPlanetScalePreparedQueryHKT,\n\tTFullSchema,\n\tTRelations,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'PlanetscaleSession';\n\n\tprivate logger: Logger;\n\tprivate client: Client | Transaction | Connection;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate baseClient: Client | Connection,\n\t\tdialect: MySqlDialect,\n\t\ttx: Transaction | undefined,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: PlanetscaleSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.client = tx ?? baseClient;\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends MySqlPreparedQueryConfig = MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): MySqlPreparedQuery<T> {\n\t\treturn new PlanetScalePreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\tthis.options.useJitMapper,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t);\n\t}\n\n\tprepareRelationalQuery<T extends MySqlPreparedQueryConfig = MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => T['execute'],\n\t\tconfig: RelationalQueryMapperConfig,\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t): MySqlPreparedQuery<T> {\n\t\treturn new PlanetScalePreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfields,\n\t\t\tthis.options.useJitMapper,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t\ttrue,\n\t\t\tconfig,\n\t\t);\n\t}\n\n\tasync query(query: string, params: unknown[]): Promise<ExecutedQuery> {\n\t\tthis.logger.logQuery(query, params);\n\n\t\treturn await this.client.execute(query, params, { as: 'array' });\n\t}\n\n\tasync queryObjects(\n\t\tquery: string,\n\t\tparams: unknown[],\n\t): Promise<ExecutedQuery> {\n\t\treturn this.client.execute(query, params, { as: 'object' });\n\t}\n\n\toverride all<T = unknown>(query: SQL): Promise<T[]> {\n\t\tconst querySql = this.dialect.sqlToQuery(query);\n\t\tthis.logger.logQuery(querySql.sql, querySql.params);\n\n\t\treturn this.client.execute<T>(querySql.sql, querySql.params, { as: 'object' }).then((\n\t\t\teQuery,\n\t\t) => eQuery.rows);\n\t}\n\n\toverride async count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<{ rows: [{ count: string }] }>(sql);\n\n\t\treturn Number(\n\t\t\tres['rows'][0]['count'],\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: PlanetScaleTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\treturn this.baseClient.transaction((pstx) => {\n\t\t\tconst session = new PlanetscaleSession(\n\t\t\t\tthis.baseClient,\n\t\t\t\tthis.dialect,\n\t\t\t\tpstx,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.options,\n\t\t\t);\n\t\t\tconst tx = new PlanetScaleTransaction<TFullSchema, TRelations, TSchema>(\n\t\t\t\tthis.dialect,\n\t\t\t\tsession as MySqlSession<any, any, any, any, any>,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t);\n\t\t\treturn transaction(tx);\n\t\t});\n\t}\n}\n\nexport class PlanetScaleTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlTransaction<\n\tPlanetscaleQueryResultHKT,\n\tPlanetScalePreparedQueryHKT,\n\tTFullSchema,\n\tTRelations,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'PlanetScaleTransaction';\n\n\tconstructor(\n\t\tdialect: MySqlDialect,\n\t\tsession: MySqlSession,\n\t\trelations: TRelations,\n\t\tschema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tnestedIndex = 0,\n\t) {\n\t\tsuper(dialect, session, relations, schema, nestedIndex, 'planetscale');\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: PlanetScaleTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new PlanetScaleTransaction<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t);\n\t\tawait tx.execute(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait tx.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport interface PlanetscaleQueryResultHKT extends MySqlQueryResultHKT {\n\ttype: ExecutedQuery;\n}\n\nexport interface PlanetScalePreparedQueryHKT extends MySqlPreparedQueryHKT {\n\ttype: PlanetScalePreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","names":[],"sources":["../../src/planetscale-serverless/session.ts"],"sourcesContent":["import type { Client, Connection, ExecutedQuery, Transaction } from '@planetscale/database';\nimport type * as V1 from '~/_relations.ts';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/mysql-core/query-builders/select.types.ts';\nimport {\n\tMySqlPreparedQuery,\n\ttype MySqlPreparedQueryConfig,\n\ttype MySqlPreparedQueryHKT,\n\ttype MySqlQueryResultHKT,\n\tMySqlSession,\n\tMySqlTransaction,\n} from '~/mysql-core/session.ts';\nimport {\n\ttype AnyRelations,\n\tmakeJitRqbMapper,\n\ttype RelationalQueryMapperConfig,\n\ttype RelationalRowsMapper,\n} from '~/relations.ts';\nimport { fillPlaceholders, type Query, type SQL, sql } from '~/sql/sql.ts';\nimport { type Assume, makeJitQueryMapper, mapResultRow, type RowsMapper } from '~/utils.ts';\n\nexport class PlanetScalePreparedQuery<T extends MySqlPreparedQueryConfig, TIsRqbV2 extends boolean = false>\n\textends MySqlPreparedQuery<T>\n{\n\tstatic override readonly [entityKind]: string = 'PlanetScalePreparedQuery';\n\tprivate jitMapper?: RowsMapper<T['execute']> | RelationalRowsMapper<T['execute']>;\n\n\tprivate rawQuery = { as: 'object' } as const;\n\tprivate query = { as: 'array' } as const;\n\n\tconstructor(\n\t\tprivate client: Client | Transaction | Connection,\n\t\tprivate queryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate useJitMappers: boolean | undefined,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => T['execute'],\n\t\t// Keys that were used in $default and the value that was generated for them\n\t\tprivate generatedIds?: Record<string, unknown>[],\n\t\t// Keys that should be returned, it has the column with all properries + key from object\n\t\tprivate returningIds?: SelectedFieldsOrdered,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t\tprivate rqbConfig?: RelationalQueryMapperConfig,\n\t) {\n\t\tsuper(cache, queryMetadata, cacheConfig);\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tif (this.isRqbV2Query) return this.executeRqbV2(placeholderValues);\n\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.queryString, params);\n\n\t\tconst {\n\t\t\tfields,\n\t\t\tclient,\n\t\t\tqueryString,\n\t\t\trawQuery,\n\t\t\tquery,\n\t\t\tjoinsNotNullableMap,\n\t\t\tcustomResultMapper,\n\t\t\treturningIds,\n\t\t\tgeneratedIds,\n\t\t} = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst res = await this.queryWithCache(queryString, params, async () => {\n\t\t\t\treturn await client.execute(queryString, params, rawQuery);\n\t\t\t});\n\n\t\t\tconst insertId = Number.parseFloat(res.insertId);\n\t\t\tconst affectedRows = res.rowsAffected;\n\n\t\t\t// for each row, I need to check keys from\n\t\t\tif (returningIds) {\n\t\t\t\tconst returningResponse = [];\n\t\t\t\tlet j = 0;\n\t\t\t\tfor (let i = insertId; i < insertId + affectedRows; i++) {\n\t\t\t\t\tfor (const column of returningIds) {\n\t\t\t\t\t\tconst key = returningIds[0]!.path[0]!;\n\t\t\t\t\t\tif (is(column.field, Column)) {\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tif (column.field.primary && column.field.autoIncrement) {\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: i });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (column.field.defaultFn && generatedIds) {\n\t\t\t\t\t\t\t\t// generatedIds[rowIdx][key]\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: generatedIds[j]![key] });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tj++;\n\t\t\t\t}\n\t\t\t\treturn returningResponse;\n\t\t\t}\n\t\t\treturn res;\n\t\t}\n\t\tconst { rows } = await this.queryWithCache(queryString, params, async () => {\n\t\t\treturn await client.execute(queryString, params, query);\n\t\t});\n\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => T['execute'])(rows as unknown[][]);\n\t\t}\n\n\t\treturn this.useJitMappers\n\t\t\t? (this.jitMapper = this.jitMapper as RowsMapper<T['execute']>\n\t\t\t\t?? makeJitQueryMapper<T['execute']>(fields!, joinsNotNullableMap))(\n\t\t\t\t\trows as unknown[][],\n\t\t\t\t)\n\t\t\t: rows.map((row) => mapResultRow(fields!, row as unknown[], joinsNotNullableMap));\n\t}\n\n\tprivate async executeRqbV2(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.queryString, params);\n\n\t\tconst {\n\t\t\tclient,\n\t\t\tqueryString,\n\t\t\trawQuery,\n\t\t\tcustomResultMapper,\n\t\t} = this;\n\n\t\tconst res = await client.execute(queryString, params, rawQuery);\n\n\t\treturn this.useJitMappers\n\t\t\t? (this.jitMapper = this.jitMapper as RelationalRowsMapper<T['execute']>\n\t\t\t\t?? makeJitRqbMapper<T['execute']>(this.rqbConfig!))(res.rows as any as Record<string, unknown>[])\n\t\t\t: (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(\n\t\t\t\tres.rows as any as Record<string, unknown>[],\n\t\t\t);\n\t}\n\n\toverride iterator(_placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']> {\n\t\tthrow new Error('Streaming is not supported by the PlanetScale Serverless driver');\n\t}\n}\n\nexport interface PlanetscaleSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMappers?: boolean;\n}\n\nexport class PlanetscaleSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlSession<\n\tMySqlQueryResultHKT,\n\tPlanetScalePreparedQueryHKT,\n\tTFullSchema,\n\tTRelations,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'PlanetscaleSession';\n\n\tprivate logger: Logger;\n\tprivate client: Client | Transaction | Connection;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate baseClient: Client | Connection,\n\t\tdialect: MySqlDialect,\n\t\ttx: Transaction | undefined,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: PlanetscaleSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.client = tx ?? baseClient;\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends MySqlPreparedQueryConfig = MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): MySqlPreparedQuery<T> {\n\t\treturn new PlanetScalePreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\tthis.options.useJitMappers,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t);\n\t}\n\n\tprepareRelationalQuery<T extends MySqlPreparedQueryConfig = MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => T['execute'],\n\t\tconfig: RelationalQueryMapperConfig,\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t): MySqlPreparedQuery<T> {\n\t\treturn new PlanetScalePreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfields,\n\t\t\tthis.options.useJitMappers,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t\ttrue,\n\t\t\tconfig,\n\t\t);\n\t}\n\n\tasync query(query: string, params: unknown[]): Promise<ExecutedQuery> {\n\t\tthis.logger.logQuery(query, params);\n\n\t\treturn await this.client.execute(query, params, { as: 'array' });\n\t}\n\n\tasync queryObjects(\n\t\tquery: string,\n\t\tparams: unknown[],\n\t): Promise<ExecutedQuery> {\n\t\treturn this.client.execute(query, params, { as: 'object' });\n\t}\n\n\toverride all<T = unknown>(query: SQL): Promise<T[]> {\n\t\tconst querySql = this.dialect.sqlToQuery(query);\n\t\tthis.logger.logQuery(querySql.sql, querySql.params);\n\n\t\treturn this.client.execute<T>(querySql.sql, querySql.params, { as: 'object' }).then((\n\t\t\teQuery,\n\t\t) => eQuery.rows);\n\t}\n\n\toverride async count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<{ rows: [{ count: string }] }>(sql);\n\n\t\treturn Number(\n\t\t\tres['rows'][0]['count'],\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: PlanetScaleTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\treturn this.baseClient.transaction((pstx) => {\n\t\t\tconst session = new PlanetscaleSession(\n\t\t\t\tthis.baseClient,\n\t\t\t\tthis.dialect,\n\t\t\t\tpstx,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.options,\n\t\t\t);\n\t\t\tconst tx = new PlanetScaleTransaction<TFullSchema, TRelations, TSchema>(\n\t\t\t\tthis.dialect,\n\t\t\t\tsession as MySqlSession<any, any, any, any, any>,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t);\n\t\t\treturn transaction(tx);\n\t\t});\n\t}\n}\n\nexport class PlanetScaleTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlTransaction<\n\tPlanetscaleQueryResultHKT,\n\tPlanetScalePreparedQueryHKT,\n\tTFullSchema,\n\tTRelations,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'PlanetScaleTransaction';\n\n\tconstructor(\n\t\tdialect: MySqlDialect,\n\t\tsession: MySqlSession,\n\t\trelations: TRelations,\n\t\tschema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tnestedIndex = 0,\n\t) {\n\t\tsuper(dialect, session, relations, schema, nestedIndex, 'planetscale');\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: PlanetScaleTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new PlanetScaleTransaction<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t);\n\t\tawait tx.execute(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait tx.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport interface PlanetscaleQueryResultHKT extends MySqlQueryResultHKT {\n\ttype: ExecutedQuery;\n}\n\nexport interface PlanetScalePreparedQueryHKT extends MySqlPreparedQueryHKT {\n\ttype: PlanetScalePreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
|
|
3
|
+
let __pg_core_array_ts = require("../pg-core/array.cjs");
|
|
4
|
+
let __pg_core_codecs_ts = require("../pg-core/codecs.cjs");
|
|
5
|
+
|
|
6
|
+
//#region src/postgres-js/codecs.ts
|
|
7
|
+
const postgresJsCodecs = (0, __pg_core_codecs_ts.refineGenericPgCodecs)({
|
|
8
|
+
interval: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
9
|
+
point: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
10
|
+
"point:tuple": { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
11
|
+
line: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
12
|
+
"line:tuple": { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
13
|
+
macaddr8: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
14
|
+
json: {
|
|
15
|
+
normalizeParam: (v) => JSON.stringify(v),
|
|
16
|
+
normalizeParamArray: (0, __pg_core_codecs_ts.arrayCompatNormalizeInput)((v) => JSON.stringify(v), true)
|
|
17
|
+
},
|
|
18
|
+
jsonb: {
|
|
19
|
+
normalizeParam: (v) => JSON.stringify(v),
|
|
20
|
+
normalizeParamArray: (0, __pg_core_codecs_ts.arrayCompatNormalizeInput)((v) => JSON.stringify(v), true)
|
|
21
|
+
},
|
|
22
|
+
bit: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
23
|
+
bool: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
24
|
+
box: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
25
|
+
box2d: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
26
|
+
box3d: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
27
|
+
char: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
28
|
+
cidr: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
29
|
+
circle: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
30
|
+
datemultirange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
31
|
+
daterange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
32
|
+
float8: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
33
|
+
geography: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
34
|
+
halfvec: {
|
|
35
|
+
normalize: __pg_core_codecs_ts.parsePgVector,
|
|
36
|
+
normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.parsePgVector),
|
|
37
|
+
normalizeParamArray: __pg_core_array_ts.makePgArray
|
|
38
|
+
},
|
|
39
|
+
inet: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
40
|
+
int4multirange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
41
|
+
int4range: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
42
|
+
int8multirange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
43
|
+
int8range: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
44
|
+
lseg: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
45
|
+
macaddr: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
46
|
+
money: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
47
|
+
nummultirange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
48
|
+
numrange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
49
|
+
oid: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
50
|
+
path: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
51
|
+
polygon: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
52
|
+
raster: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
53
|
+
regclass: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
54
|
+
regconfig: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
55
|
+
regdictionary: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
56
|
+
regnamespace: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
57
|
+
regoper: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
58
|
+
regoperator: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
59
|
+
regproc: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
60
|
+
regprocedure: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
61
|
+
regrole: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
62
|
+
regtype: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
63
|
+
serial: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
64
|
+
smallint: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
65
|
+
smallserial: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
66
|
+
sparsevec: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
67
|
+
text: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
68
|
+
time: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
69
|
+
timetz: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
70
|
+
tsmultirange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
71
|
+
tsquery: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
72
|
+
tsrange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
73
|
+
tstzmultirange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
74
|
+
tstzrange: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
75
|
+
tsvector: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
76
|
+
varbit: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
77
|
+
varchar: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
78
|
+
vector: {
|
|
79
|
+
normalize: __pg_core_codecs_ts.parsePgVector,
|
|
80
|
+
normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.parsePgVector),
|
|
81
|
+
normalizeParamArray: __pg_core_array_ts.makePgArray
|
|
82
|
+
},
|
|
83
|
+
xml: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
84
|
+
bytea: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
85
|
+
enum: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
86
|
+
geometry: {
|
|
87
|
+
normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.parseGeometryXY),
|
|
88
|
+
normalizeParamArray: __pg_core_array_ts.makePgArray
|
|
89
|
+
},
|
|
90
|
+
"geometry:tuple": {
|
|
91
|
+
normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.parseGeometryTuple),
|
|
92
|
+
normalizeParamArray: __pg_core_array_ts.makePgArray
|
|
93
|
+
},
|
|
94
|
+
numeric: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
95
|
+
"numeric:number": { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
96
|
+
"numeric:bigint": { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
97
|
+
bigint: {
|
|
98
|
+
normalize: BigInt,
|
|
99
|
+
normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(BigInt),
|
|
100
|
+
normalizeParamArray: __pg_core_array_ts.makePgArray
|
|
101
|
+
},
|
|
102
|
+
"bigint:number": { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
103
|
+
"bigint:string": { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
104
|
+
bigserial: {
|
|
105
|
+
normalize: BigInt,
|
|
106
|
+
normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(BigInt),
|
|
107
|
+
normalizeParamArray: __pg_core_array_ts.makePgArray
|
|
108
|
+
},
|
|
109
|
+
"bigserial:number": { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
110
|
+
float4: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
111
|
+
int: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
112
|
+
uuid: { normalizeParamArray: __pg_core_array_ts.makePgArray },
|
|
113
|
+
date: {
|
|
114
|
+
castArray: __pg_core_codecs_ts.castToTextArr,
|
|
115
|
+
normalize: __pg_core_codecs_ts.textToDate,
|
|
116
|
+
normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.textToDate),
|
|
117
|
+
normalizeParamArray: __pg_core_array_ts.makePgArray
|
|
118
|
+
},
|
|
119
|
+
"date:string": {
|
|
120
|
+
castArray: __pg_core_codecs_ts.castToTextArr,
|
|
121
|
+
normalizeParamArray: __pg_core_array_ts.makePgArray
|
|
122
|
+
},
|
|
123
|
+
timestamp: {
|
|
124
|
+
castArray: __pg_core_codecs_ts.castToTextArr,
|
|
125
|
+
normalize: __pg_core_codecs_ts.textToDateWithTz,
|
|
126
|
+
normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.textToDateWithTz),
|
|
127
|
+
normalizeParamArray: __pg_core_array_ts.makePgArray
|
|
128
|
+
},
|
|
129
|
+
timestamptz: {
|
|
130
|
+
castArray: __pg_core_codecs_ts.castToTextArr,
|
|
131
|
+
normalize: __pg_core_codecs_ts.textToDate,
|
|
132
|
+
normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.textToDate),
|
|
133
|
+
normalizeParamArray: __pg_core_array_ts.makePgArray
|
|
134
|
+
},
|
|
135
|
+
"timestamp:string": {
|
|
136
|
+
castArray: __pg_core_codecs_ts.castToTextArr,
|
|
137
|
+
normalizeParamArray: __pg_core_array_ts.makePgArray
|
|
138
|
+
},
|
|
139
|
+
"timestamptz:string": {
|
|
140
|
+
castArray: __pg_core_codecs_ts.castToTextArr,
|
|
141
|
+
normalizeParamArray: __pg_core_array_ts.makePgArray
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
//#endregion
|
|
146
|
+
exports.postgresJsCodecs = postgresJsCodecs;
|
|
147
|
+
//# sourceMappingURL=codecs.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codecs.cjs","names":["makePgArray","parsePgVector","parseGeometryXY","parseGeometryTuple","castToTextArr","textToDate","textToDateWithTz"],"sources":["../../src/postgres-js/codecs.ts"],"sourcesContent":["import { makePgArray } from '~/pg-core/array.ts';\nimport {\n\tarrayCompatNormalize,\n\tarrayCompatNormalizeInput,\n\tcastToTextArr,\n\tparseGeometryTuple,\n\tparseGeometryXY,\n\tparsePgVector,\n\trefineGenericPgCodecs,\n\ttextToDate,\n\ttextToDateWithTz,\n} from '~/pg-core/codecs.ts';\n\nexport const postgresJsCodecs = refineGenericPgCodecs({\n\tinterval: { normalizeParamArray: makePgArray },\n\tpoint: { normalizeParamArray: makePgArray },\n\t'point:tuple': { normalizeParamArray: makePgArray },\n\tline: { normalizeParamArray: makePgArray },\n\t'line:tuple': { normalizeParamArray: makePgArray },\n\tmacaddr8: { normalizeParamArray: makePgArray },\n\tjson: {\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\tjsonb: {\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\n\tbit: { normalizeParamArray: makePgArray },\n\tbool: { normalizeParamArray: makePgArray },\n\tbox: { normalizeParamArray: makePgArray },\n\tbox2d: { normalizeParamArray: makePgArray },\n\tbox3d: { normalizeParamArray: makePgArray },\n\tchar: { normalizeParamArray: makePgArray },\n\tcidr: { normalizeParamArray: makePgArray },\n\tcircle: { normalizeParamArray: makePgArray },\n\tdatemultirange: { normalizeParamArray: makePgArray },\n\tdaterange: { normalizeParamArray: makePgArray },\n\tfloat8: { normalizeParamArray: makePgArray },\n\tgeography: { normalizeParamArray: makePgArray },\n\thalfvec: {\n\t\tnormalize: parsePgVector,\n\t\tnormalizeArray: arrayCompatNormalize(parsePgVector),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tinet: { normalizeParamArray: makePgArray },\n\tint4multirange: { normalizeParamArray: makePgArray },\n\tint4range: { normalizeParamArray: makePgArray },\n\tint8multirange: { normalizeParamArray: makePgArray },\n\tint8range: { normalizeParamArray: makePgArray },\n\tlseg: { normalizeParamArray: makePgArray },\n\tmacaddr: { normalizeParamArray: makePgArray },\n\tmoney: { normalizeParamArray: makePgArray },\n\tnummultirange: { normalizeParamArray: makePgArray },\n\tnumrange: { normalizeParamArray: makePgArray },\n\toid: { normalizeParamArray: makePgArray },\n\tpath: { normalizeParamArray: makePgArray },\n\tpolygon: { normalizeParamArray: makePgArray },\n\traster: { normalizeParamArray: makePgArray },\n\tregclass: { normalizeParamArray: makePgArray },\n\tregconfig: { normalizeParamArray: makePgArray },\n\tregdictionary: { normalizeParamArray: makePgArray },\n\tregnamespace: { normalizeParamArray: makePgArray },\n\tregoper: { normalizeParamArray: makePgArray },\n\tregoperator: { normalizeParamArray: makePgArray },\n\tregproc: { normalizeParamArray: makePgArray },\n\tregprocedure: { normalizeParamArray: makePgArray },\n\tregrole: { normalizeParamArray: makePgArray },\n\tregtype: { normalizeParamArray: makePgArray },\n\tserial: { normalizeParamArray: makePgArray },\n\tsmallint: { normalizeParamArray: makePgArray },\n\tsmallserial: { normalizeParamArray: makePgArray },\n\tsparsevec: { normalizeParamArray: makePgArray },\n\ttext: { normalizeParamArray: makePgArray },\n\ttime: { normalizeParamArray: makePgArray },\n\ttimetz: { normalizeParamArray: makePgArray },\n\ttsmultirange: { normalizeParamArray: makePgArray },\n\ttsquery: { normalizeParamArray: makePgArray },\n\ttsrange: { normalizeParamArray: makePgArray },\n\ttstzmultirange: { normalizeParamArray: makePgArray },\n\ttstzrange: { normalizeParamArray: makePgArray },\n\ttsvector: { normalizeParamArray: makePgArray },\n\tvarbit: { normalizeParamArray: makePgArray },\n\tvarchar: { normalizeParamArray: makePgArray },\n\tvector: {\n\t\tnormalize: parsePgVector,\n\t\tnormalizeArray: arrayCompatNormalize(parsePgVector),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\txml: { normalizeParamArray: makePgArray },\n\tbytea: { normalizeParamArray: makePgArray },\n\tenum: { normalizeParamArray: makePgArray },\n\tgeometry: {\n\t\tnormalizeArray: arrayCompatNormalize(parseGeometryXY),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'geometry:tuple': {\n\t\tnormalizeArray: arrayCompatNormalize(parseGeometryTuple),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tnumeric: { normalizeParamArray: makePgArray },\n\t'numeric:number': { normalizeParamArray: makePgArray },\n\t'numeric:bigint': { normalizeParamArray: makePgArray },\n\tbigint: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'bigint:number': { normalizeParamArray: makePgArray },\n\t'bigint:string': { normalizeParamArray: makePgArray },\n\tbigserial: { normalize: BigInt, normalizeArray: arrayCompatNormalize(BigInt), normalizeParamArray: makePgArray },\n\t'bigserial:number': { normalizeParamArray: makePgArray },\n\tfloat4: { normalizeParamArray: makePgArray },\n\tint: { normalizeParamArray: makePgArray },\n\tuuid: { normalizeParamArray: makePgArray },\n\tdate: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'date:string': {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\ttimestamp: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDateWithTz,\n\t\tnormalizeArray: arrayCompatNormalize(textToDateWithTz),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\ttimestamptz: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'timestamp:string': {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'timestamptz:string': {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n});\n"],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PartialWithUndefined } from "../utils.cjs";
|
|
2
|
+
import { Codec } from "../codecs.cjs";
|
|
3
|
+
import * as __pg_core_codecs_ts0 from "../pg-core/codecs.cjs";
|
|
4
|
+
|
|
5
|
+
//#region src/postgres-js/codecs.d.ts
|
|
6
|
+
declare const postgresJsCodecs: PartialWithUndefined<Record<__pg_core_codecs_ts0.PostgresType, Codec>>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { postgresJsCodecs };
|
|
9
|
+
//# sourceMappingURL=codecs.d.cts.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PartialWithUndefined } from "../utils.js";
|
|
2
|
+
import { Codec } from "../codecs.js";
|
|
3
|
+
import * as __pg_core_codecs_ts0 from "../pg-core/codecs.js";
|
|
4
|
+
|
|
5
|
+
//#region src/postgres-js/codecs.d.ts
|
|
6
|
+
declare const postgresJsCodecs: PartialWithUndefined<Record<__pg_core_codecs_ts0.PostgresType, Codec>>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { postgresJsCodecs };
|
|
9
|
+
//# sourceMappingURL=codecs.d.ts.map
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { makePgArray } from "../pg-core/array.js";
|
|
2
|
+
import { arrayCompatNormalize, arrayCompatNormalizeInput, castToTextArr, parseGeometryTuple, parseGeometryXY, parsePgVector, refineGenericPgCodecs, textToDate, textToDateWithTz } from "../pg-core/codecs.js";
|
|
3
|
+
|
|
4
|
+
//#region src/postgres-js/codecs.ts
|
|
5
|
+
const postgresJsCodecs = refineGenericPgCodecs({
|
|
6
|
+
interval: { normalizeParamArray: makePgArray },
|
|
7
|
+
point: { normalizeParamArray: makePgArray },
|
|
8
|
+
"point:tuple": { normalizeParamArray: makePgArray },
|
|
9
|
+
line: { normalizeParamArray: makePgArray },
|
|
10
|
+
"line:tuple": { normalizeParamArray: makePgArray },
|
|
11
|
+
macaddr8: { normalizeParamArray: makePgArray },
|
|
12
|
+
json: {
|
|
13
|
+
normalizeParam: (v) => JSON.stringify(v),
|
|
14
|
+
normalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true)
|
|
15
|
+
},
|
|
16
|
+
jsonb: {
|
|
17
|
+
normalizeParam: (v) => JSON.stringify(v),
|
|
18
|
+
normalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true)
|
|
19
|
+
},
|
|
20
|
+
bit: { normalizeParamArray: makePgArray },
|
|
21
|
+
bool: { normalizeParamArray: makePgArray },
|
|
22
|
+
box: { normalizeParamArray: makePgArray },
|
|
23
|
+
box2d: { normalizeParamArray: makePgArray },
|
|
24
|
+
box3d: { normalizeParamArray: makePgArray },
|
|
25
|
+
char: { normalizeParamArray: makePgArray },
|
|
26
|
+
cidr: { normalizeParamArray: makePgArray },
|
|
27
|
+
circle: { normalizeParamArray: makePgArray },
|
|
28
|
+
datemultirange: { normalizeParamArray: makePgArray },
|
|
29
|
+
daterange: { normalizeParamArray: makePgArray },
|
|
30
|
+
float8: { normalizeParamArray: makePgArray },
|
|
31
|
+
geography: { normalizeParamArray: makePgArray },
|
|
32
|
+
halfvec: {
|
|
33
|
+
normalize: parsePgVector,
|
|
34
|
+
normalizeArray: arrayCompatNormalize(parsePgVector),
|
|
35
|
+
normalizeParamArray: makePgArray
|
|
36
|
+
},
|
|
37
|
+
inet: { normalizeParamArray: makePgArray },
|
|
38
|
+
int4multirange: { normalizeParamArray: makePgArray },
|
|
39
|
+
int4range: { normalizeParamArray: makePgArray },
|
|
40
|
+
int8multirange: { normalizeParamArray: makePgArray },
|
|
41
|
+
int8range: { normalizeParamArray: makePgArray },
|
|
42
|
+
lseg: { normalizeParamArray: makePgArray },
|
|
43
|
+
macaddr: { normalizeParamArray: makePgArray },
|
|
44
|
+
money: { normalizeParamArray: makePgArray },
|
|
45
|
+
nummultirange: { normalizeParamArray: makePgArray },
|
|
46
|
+
numrange: { normalizeParamArray: makePgArray },
|
|
47
|
+
oid: { normalizeParamArray: makePgArray },
|
|
48
|
+
path: { normalizeParamArray: makePgArray },
|
|
49
|
+
polygon: { normalizeParamArray: makePgArray },
|
|
50
|
+
raster: { normalizeParamArray: makePgArray },
|
|
51
|
+
regclass: { normalizeParamArray: makePgArray },
|
|
52
|
+
regconfig: { normalizeParamArray: makePgArray },
|
|
53
|
+
regdictionary: { normalizeParamArray: makePgArray },
|
|
54
|
+
regnamespace: { normalizeParamArray: makePgArray },
|
|
55
|
+
regoper: { normalizeParamArray: makePgArray },
|
|
56
|
+
regoperator: { normalizeParamArray: makePgArray },
|
|
57
|
+
regproc: { normalizeParamArray: makePgArray },
|
|
58
|
+
regprocedure: { normalizeParamArray: makePgArray },
|
|
59
|
+
regrole: { normalizeParamArray: makePgArray },
|
|
60
|
+
regtype: { normalizeParamArray: makePgArray },
|
|
61
|
+
serial: { normalizeParamArray: makePgArray },
|
|
62
|
+
smallint: { normalizeParamArray: makePgArray },
|
|
63
|
+
smallserial: { normalizeParamArray: makePgArray },
|
|
64
|
+
sparsevec: { normalizeParamArray: makePgArray },
|
|
65
|
+
text: { normalizeParamArray: makePgArray },
|
|
66
|
+
time: { normalizeParamArray: makePgArray },
|
|
67
|
+
timetz: { normalizeParamArray: makePgArray },
|
|
68
|
+
tsmultirange: { normalizeParamArray: makePgArray },
|
|
69
|
+
tsquery: { normalizeParamArray: makePgArray },
|
|
70
|
+
tsrange: { normalizeParamArray: makePgArray },
|
|
71
|
+
tstzmultirange: { normalizeParamArray: makePgArray },
|
|
72
|
+
tstzrange: { normalizeParamArray: makePgArray },
|
|
73
|
+
tsvector: { normalizeParamArray: makePgArray },
|
|
74
|
+
varbit: { normalizeParamArray: makePgArray },
|
|
75
|
+
varchar: { normalizeParamArray: makePgArray },
|
|
76
|
+
vector: {
|
|
77
|
+
normalize: parsePgVector,
|
|
78
|
+
normalizeArray: arrayCompatNormalize(parsePgVector),
|
|
79
|
+
normalizeParamArray: makePgArray
|
|
80
|
+
},
|
|
81
|
+
xml: { normalizeParamArray: makePgArray },
|
|
82
|
+
bytea: { normalizeParamArray: makePgArray },
|
|
83
|
+
enum: { normalizeParamArray: makePgArray },
|
|
84
|
+
geometry: {
|
|
85
|
+
normalizeArray: arrayCompatNormalize(parseGeometryXY),
|
|
86
|
+
normalizeParamArray: makePgArray
|
|
87
|
+
},
|
|
88
|
+
"geometry:tuple": {
|
|
89
|
+
normalizeArray: arrayCompatNormalize(parseGeometryTuple),
|
|
90
|
+
normalizeParamArray: makePgArray
|
|
91
|
+
},
|
|
92
|
+
numeric: { normalizeParamArray: makePgArray },
|
|
93
|
+
"numeric:number": { normalizeParamArray: makePgArray },
|
|
94
|
+
"numeric:bigint": { normalizeParamArray: makePgArray },
|
|
95
|
+
bigint: {
|
|
96
|
+
normalize: BigInt,
|
|
97
|
+
normalizeArray: arrayCompatNormalize(BigInt),
|
|
98
|
+
normalizeParamArray: makePgArray
|
|
99
|
+
},
|
|
100
|
+
"bigint:number": { normalizeParamArray: makePgArray },
|
|
101
|
+
"bigint:string": { normalizeParamArray: makePgArray },
|
|
102
|
+
bigserial: {
|
|
103
|
+
normalize: BigInt,
|
|
104
|
+
normalizeArray: arrayCompatNormalize(BigInt),
|
|
105
|
+
normalizeParamArray: makePgArray
|
|
106
|
+
},
|
|
107
|
+
"bigserial:number": { normalizeParamArray: makePgArray },
|
|
108
|
+
float4: { normalizeParamArray: makePgArray },
|
|
109
|
+
int: { normalizeParamArray: makePgArray },
|
|
110
|
+
uuid: { normalizeParamArray: makePgArray },
|
|
111
|
+
date: {
|
|
112
|
+
castArray: castToTextArr,
|
|
113
|
+
normalize: textToDate,
|
|
114
|
+
normalizeArray: arrayCompatNormalize(textToDate),
|
|
115
|
+
normalizeParamArray: makePgArray
|
|
116
|
+
},
|
|
117
|
+
"date:string": {
|
|
118
|
+
castArray: castToTextArr,
|
|
119
|
+
normalizeParamArray: makePgArray
|
|
120
|
+
},
|
|
121
|
+
timestamp: {
|
|
122
|
+
castArray: castToTextArr,
|
|
123
|
+
normalize: textToDateWithTz,
|
|
124
|
+
normalizeArray: arrayCompatNormalize(textToDateWithTz),
|
|
125
|
+
normalizeParamArray: makePgArray
|
|
126
|
+
},
|
|
127
|
+
timestamptz: {
|
|
128
|
+
castArray: castToTextArr,
|
|
129
|
+
normalize: textToDate,
|
|
130
|
+
normalizeArray: arrayCompatNormalize(textToDate),
|
|
131
|
+
normalizeParamArray: makePgArray
|
|
132
|
+
},
|
|
133
|
+
"timestamp:string": {
|
|
134
|
+
castArray: castToTextArr,
|
|
135
|
+
normalizeParamArray: makePgArray
|
|
136
|
+
},
|
|
137
|
+
"timestamptz:string": {
|
|
138
|
+
castArray: castToTextArr,
|
|
139
|
+
normalizeParamArray: makePgArray
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
|
|
143
|
+
//#endregion
|
|
144
|
+
export { postgresJsCodecs };
|
|
145
|
+
//# sourceMappingURL=codecs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codecs.js","names":[],"sources":["../../src/postgres-js/codecs.ts"],"sourcesContent":["import { makePgArray } from '~/pg-core/array.ts';\nimport {\n\tarrayCompatNormalize,\n\tarrayCompatNormalizeInput,\n\tcastToTextArr,\n\tparseGeometryTuple,\n\tparseGeometryXY,\n\tparsePgVector,\n\trefineGenericPgCodecs,\n\ttextToDate,\n\ttextToDateWithTz,\n} from '~/pg-core/codecs.ts';\n\nexport const postgresJsCodecs = refineGenericPgCodecs({\n\tinterval: { normalizeParamArray: makePgArray },\n\tpoint: { normalizeParamArray: makePgArray },\n\t'point:tuple': { normalizeParamArray: makePgArray },\n\tline: { normalizeParamArray: makePgArray },\n\t'line:tuple': { normalizeParamArray: makePgArray },\n\tmacaddr8: { normalizeParamArray: makePgArray },\n\tjson: {\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\tjsonb: {\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t\tnormalizeParamArray: arrayCompatNormalizeInput((v) => JSON.stringify(v), true),\n\t},\n\n\tbit: { normalizeParamArray: makePgArray },\n\tbool: { normalizeParamArray: makePgArray },\n\tbox: { normalizeParamArray: makePgArray },\n\tbox2d: { normalizeParamArray: makePgArray },\n\tbox3d: { normalizeParamArray: makePgArray },\n\tchar: { normalizeParamArray: makePgArray },\n\tcidr: { normalizeParamArray: makePgArray },\n\tcircle: { normalizeParamArray: makePgArray },\n\tdatemultirange: { normalizeParamArray: makePgArray },\n\tdaterange: { normalizeParamArray: makePgArray },\n\tfloat8: { normalizeParamArray: makePgArray },\n\tgeography: { normalizeParamArray: makePgArray },\n\thalfvec: {\n\t\tnormalize: parsePgVector,\n\t\tnormalizeArray: arrayCompatNormalize(parsePgVector),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tinet: { normalizeParamArray: makePgArray },\n\tint4multirange: { normalizeParamArray: makePgArray },\n\tint4range: { normalizeParamArray: makePgArray },\n\tint8multirange: { normalizeParamArray: makePgArray },\n\tint8range: { normalizeParamArray: makePgArray },\n\tlseg: { normalizeParamArray: makePgArray },\n\tmacaddr: { normalizeParamArray: makePgArray },\n\tmoney: { normalizeParamArray: makePgArray },\n\tnummultirange: { normalizeParamArray: makePgArray },\n\tnumrange: { normalizeParamArray: makePgArray },\n\toid: { normalizeParamArray: makePgArray },\n\tpath: { normalizeParamArray: makePgArray },\n\tpolygon: { normalizeParamArray: makePgArray },\n\traster: { normalizeParamArray: makePgArray },\n\tregclass: { normalizeParamArray: makePgArray },\n\tregconfig: { normalizeParamArray: makePgArray },\n\tregdictionary: { normalizeParamArray: makePgArray },\n\tregnamespace: { normalizeParamArray: makePgArray },\n\tregoper: { normalizeParamArray: makePgArray },\n\tregoperator: { normalizeParamArray: makePgArray },\n\tregproc: { normalizeParamArray: makePgArray },\n\tregprocedure: { normalizeParamArray: makePgArray },\n\tregrole: { normalizeParamArray: makePgArray },\n\tregtype: { normalizeParamArray: makePgArray },\n\tserial: { normalizeParamArray: makePgArray },\n\tsmallint: { normalizeParamArray: makePgArray },\n\tsmallserial: { normalizeParamArray: makePgArray },\n\tsparsevec: { normalizeParamArray: makePgArray },\n\ttext: { normalizeParamArray: makePgArray },\n\ttime: { normalizeParamArray: makePgArray },\n\ttimetz: { normalizeParamArray: makePgArray },\n\ttsmultirange: { normalizeParamArray: makePgArray },\n\ttsquery: { normalizeParamArray: makePgArray },\n\ttsrange: { normalizeParamArray: makePgArray },\n\ttstzmultirange: { normalizeParamArray: makePgArray },\n\ttstzrange: { normalizeParamArray: makePgArray },\n\ttsvector: { normalizeParamArray: makePgArray },\n\tvarbit: { normalizeParamArray: makePgArray },\n\tvarchar: { normalizeParamArray: makePgArray },\n\tvector: {\n\t\tnormalize: parsePgVector,\n\t\tnormalizeArray: arrayCompatNormalize(parsePgVector),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\txml: { normalizeParamArray: makePgArray },\n\tbytea: { normalizeParamArray: makePgArray },\n\tenum: { normalizeParamArray: makePgArray },\n\tgeometry: {\n\t\tnormalizeArray: arrayCompatNormalize(parseGeometryXY),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'geometry:tuple': {\n\t\tnormalizeArray: arrayCompatNormalize(parseGeometryTuple),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tnumeric: { normalizeParamArray: makePgArray },\n\t'numeric:number': { normalizeParamArray: makePgArray },\n\t'numeric:bigint': { normalizeParamArray: makePgArray },\n\tbigint: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'bigint:number': { normalizeParamArray: makePgArray },\n\t'bigint:string': { normalizeParamArray: makePgArray },\n\tbigserial: { normalize: BigInt, normalizeArray: arrayCompatNormalize(BigInt), normalizeParamArray: makePgArray },\n\t'bigserial:number': { normalizeParamArray: makePgArray },\n\tfloat4: { normalizeParamArray: makePgArray },\n\tint: { normalizeParamArray: makePgArray },\n\tuuid: { normalizeParamArray: makePgArray },\n\tdate: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'date:string': {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\ttimestamp: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDateWithTz,\n\t\tnormalizeArray: arrayCompatNormalize(textToDateWithTz),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\ttimestamptz: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'timestamp:string': {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'timestamptz:string': {\n\t\tcastArray: castToTextArr,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n});\n"],"mappings":"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"}
|