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":"driver.cjs","names":["PgAsyncDatabase","entityKind","
|
|
1
|
+
{"version":3,"file":"driver.cjs","names":["PgAsyncDatabase","entityKind","PgDialect","nodePgCodecs","DefaultLogger","NodePgSession"],"sources":["../../src/node-postgres/driver.ts"],"sourcesContent":["import pg, { type Pool, type PoolConfig } from 'pg';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { jitCompatCheck } from '~/utils.ts';\nimport { nodePgCodecs } from './codecs.ts';\nimport type { NodePgClient, NodePgQueryResultHKT } from './session.ts';\nimport { NodePgSession } from './session.ts';\n\nexport class NodePgDatabase<\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<NodePgQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'NodePgDatabase';\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NodePgClient = NodePgClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): NodePgDatabase<TRelations> & {\n\t$client: NodePgClient extends TClient ? Pool : TClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t\tcodecs: config.codecs ?? nodePgCodecs,\n\t});\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst relations = config.relations ?? {};\n\tconst session = new NodePgSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\n\tconst db = new NodePgDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t) as NodePgDatabase<TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NodePgClient = Pool,\n>(\n\t...params:\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzlePgConfig<TRelations>,\n\t\t]\n\t\t| [\n\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tclient: TClient;\n\t\t\t} | {\n\t\t\t\tconnection: string | PoolConfig;\n\t\t\t}),\n\t\t]\n): NodePgDatabase<TRelations> & {\n\t$client: NodePgClient extends TClient ? Pool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new pg.Pool({\n\t\t\tconnectionString: params[0],\n\t\t});\n\n\t\treturn construct(\n\t\t\tinstance,\n\t\t\tparams[1] as DrizzlePgConfig<TRelations> | undefined,\n\t\t) as any;\n\t}\n\n\tconst { connection, client, ...drizzlePgCDrizzlePgConfig } = params[0] as (\n\t\t& ({ connection?: PoolConfig | string; client?: TClient })\n\t\t& DrizzlePgConfig<TRelations>\n\t);\n\n\tif (client) return construct(client, drizzlePgCDrizzlePgConfig);\n\n\tconst instance = typeof connection === 'string'\n\t\t? new pg.Pool({\n\t\t\tconnectionString: connection,\n\t\t})\n\t\t: new pg.Pool(connection!);\n\n\treturn construct(instance, drizzlePgCDrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): NodePgDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;AAYA,IAAa,iBAAb,cAEUA,sCAAkD;CAC3D,QAA0BC,0BAAsB;;AAGjD,SAAS,UAIR,QACA,SAAsC,EAAE,EAGvC;CACD,MAAM,UAAU,IAAIC,+BAAU;EAC7B,8CAA8B,OAAO,cAAc;EACnD,QAAQ,OAAO,UAAUC;EACzB,CAAC;CACF,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,MAAM,YAAY,OAAO,aAAa,EAAE;CAMxC,MAAM,KAAK,IAAI,eACd,SANe,IAAIC,4CAAc,QAAQ,SAAS,WAAW;EAC7D;EACA,OAAO,OAAO;EACd,CAAC,EAKD,UACA;AACD,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAkBF;AACD,KAAI,OAAO,OAAO,OAAO,SAKxB,QAAO,UAJU,IAAI,WAAG,KAAK,EAC5B,kBAAkB,OAAO,IACzB,CAAC,EAID,OAAO,GACP;CAGF,MAAM,EAAE,YAAY,QAAQ,GAAG,8BAA8B,OAAO;AAKpE,KAAI,OAAQ,QAAO,UAAU,QAAQ,0BAA0B;AAQ/D,QAAO,UANU,OAAO,eAAe,WACpC,IAAI,WAAG,KAAK,EACb,kBAAkB,YAClB,CAAC,GACA,IAAI,WAAG,KAAK,WAAY,EAEA,0BAA0B;;;CAI9C,SAAS,KAGf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import { PartialWithUndefined } from "../utils.cjs";
|
|
2
|
-
import { Codec } from "../codecs.cjs";
|
|
3
1
|
import { NodePgClient, NodePgQueryResultHKT } from "./session.cjs";
|
|
4
2
|
import { entityKind } from "../entity.cjs";
|
|
5
3
|
import { AnyRelations, EmptyRelations } from "../relations.cjs";
|
|
6
|
-
import * as __pg_core_codecs_ts0 from "../pg-core/codecs.cjs";
|
|
7
4
|
import { PgAsyncDatabase } from "../pg-core/async/db.cjs";
|
|
8
5
|
import { DrizzlePgConfig } from "../pg-core/utils.cjs";
|
|
9
6
|
import { Pool, PoolConfig } from "pg";
|
|
@@ -12,7 +9,6 @@ import { Pool, PoolConfig } from "pg";
|
|
|
12
9
|
declare class NodePgDatabase<TRelations extends AnyRelations = EmptyRelations> extends PgAsyncDatabase<NodePgQueryResultHKT, TRelations> {
|
|
13
10
|
static readonly [entityKind]: string;
|
|
14
11
|
}
|
|
15
|
-
declare const nodePgCodecs: PartialWithUndefined<Record<__pg_core_codecs_ts0.PostgresType, Codec>>;
|
|
16
12
|
declare function drizzle<TRelations extends AnyRelations = EmptyRelations, TClient extends NodePgClient = Pool>(...params: [string] | [string, DrizzlePgConfig<TRelations>] | [DrizzlePgConfig<TRelations> & ({
|
|
17
13
|
client: TClient;
|
|
18
14
|
} | {
|
|
@@ -26,5 +22,5 @@ declare namespace drizzle {
|
|
|
26
22
|
};
|
|
27
23
|
}
|
|
28
24
|
//#endregion
|
|
29
|
-
export { NodePgDatabase, drizzle
|
|
25
|
+
export { NodePgDatabase, drizzle };
|
|
30
26
|
//# sourceMappingURL=driver.d.cts.map
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import { PartialWithUndefined } from "../utils.js";
|
|
2
|
-
import { Codec } from "../codecs.js";
|
|
3
1
|
import { NodePgClient, NodePgQueryResultHKT } from "./session.js";
|
|
4
2
|
import { entityKind } from "../entity.js";
|
|
5
3
|
import { PgAsyncDatabase } from "../pg-core/async/db.js";
|
|
6
|
-
import * as __pg_core_codecs_ts0 from "../pg-core/codecs.js";
|
|
7
4
|
import { AnyRelations, EmptyRelations } from "../relations.js";
|
|
8
5
|
import { Pool, PoolConfig } from "pg";
|
|
9
6
|
import { DrizzlePgConfig } from "../pg-core/utils.js";
|
|
@@ -12,7 +9,6 @@ import { DrizzlePgConfig } from "../pg-core/utils.js";
|
|
|
12
9
|
declare class NodePgDatabase<TRelations extends AnyRelations = EmptyRelations> extends PgAsyncDatabase<NodePgQueryResultHKT, TRelations> {
|
|
13
10
|
static readonly [entityKind]: string;
|
|
14
11
|
}
|
|
15
|
-
declare const nodePgCodecs: PartialWithUndefined<Record<__pg_core_codecs_ts0.PostgresType, Codec>>;
|
|
16
12
|
declare function drizzle<TRelations extends AnyRelations = EmptyRelations, TClient extends NodePgClient = Pool>(...params: [string] | [string, DrizzlePgConfig<TRelations>] | [DrizzlePgConfig<TRelations> & ({
|
|
17
13
|
client: TClient;
|
|
18
14
|
} | {
|
|
@@ -26,5 +22,5 @@ declare namespace drizzle {
|
|
|
26
22
|
};
|
|
27
23
|
}
|
|
28
24
|
//#endregion
|
|
29
|
-
export { NodePgDatabase, drizzle
|
|
25
|
+
export { NodePgDatabase, drizzle };
|
|
30
26
|
//# sourceMappingURL=driver.d.ts.map
|
package/node-postgres/driver.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { nodePgCodecs } from "./codecs.js";
|
|
1
2
|
import { NodePgSession } from "./session.js";
|
|
2
3
|
import { entityKind } from "../entity.js";
|
|
4
|
+
import { jitCompatCheck } from "../utils.js";
|
|
3
5
|
import { DefaultLogger } from "../logger.js";
|
|
4
|
-
import { parsePgArray } from "../pg-core/array.js";
|
|
5
6
|
import { PgAsyncDatabase } from "../pg-core/async/db.js";
|
|
6
|
-
import { arrayCompatNormalize, castToText, castToTextArr, parseGeometryTuple, parseGeometryXY, parsePgArrayAndNormalize, refineGenericPgCodecs, textToDate, textToDateWithTz } from "../pg-core/codecs.js";
|
|
7
7
|
import { PgDialect } from "../pg-core/dialect.js";
|
|
8
8
|
import pg from "pg";
|
|
9
9
|
|
|
@@ -11,64 +11,9 @@ import pg from "pg";
|
|
|
11
11
|
var NodePgDatabase = class extends PgAsyncDatabase {
|
|
12
12
|
static [entityKind] = "NodePgDatabase";
|
|
13
13
|
};
|
|
14
|
-
const nodePgCodecs = refineGenericPgCodecs({
|
|
15
|
-
bigint: {
|
|
16
|
-
normalize: BigInt,
|
|
17
|
-
normalizeArray: arrayCompatNormalize(BigInt)
|
|
18
|
-
},
|
|
19
|
-
bigserial: {
|
|
20
|
-
normalize: BigInt,
|
|
21
|
-
normalizeArray: arrayCompatNormalize(BigInt)
|
|
22
|
-
},
|
|
23
|
-
bit: { normalizeArray: parsePgArray },
|
|
24
|
-
date: {
|
|
25
|
-
castArray: castToTextArr,
|
|
26
|
-
normalize: textToDate,
|
|
27
|
-
normalizeArray: arrayCompatNormalize(textToDate)
|
|
28
|
-
},
|
|
29
|
-
"date:string": { castArray: castToTextArr },
|
|
30
|
-
timestamp: {
|
|
31
|
-
castArray: castToTextArr,
|
|
32
|
-
normalize: textToDateWithTz,
|
|
33
|
-
normalizeArray: arrayCompatNormalize(textToDateWithTz)
|
|
34
|
-
},
|
|
35
|
-
timestamptz: {
|
|
36
|
-
castArray: castToTextArr,
|
|
37
|
-
normalize: textToDate,
|
|
38
|
-
normalizeArray: arrayCompatNormalize(textToDate)
|
|
39
|
-
},
|
|
40
|
-
"timestamp:string": { castArray: castToTextArr },
|
|
41
|
-
"timestamptz:string": { castArray: castToTextArr },
|
|
42
|
-
geometry: { normalizeArray: parsePgArrayAndNormalize(parseGeometryXY) },
|
|
43
|
-
"geometry:tuple": { normalizeArray: parsePgArrayAndNormalize(parseGeometryTuple) },
|
|
44
|
-
interval: { castArray: castToTextArr },
|
|
45
|
-
json: { normalizeParam: (v) => typeof v === "object" && !Array.isArray(v) ? v : JSON.stringify(v) },
|
|
46
|
-
jsonb: { normalizeParam: (v) => typeof v === "object" && !Array.isArray(v) ? v : JSON.stringify(v) },
|
|
47
|
-
line: {
|
|
48
|
-
cast: castToText,
|
|
49
|
-
castArray: castToTextArr
|
|
50
|
-
},
|
|
51
|
-
"line:tuple": {
|
|
52
|
-
cast: castToText,
|
|
53
|
-
castArray: castToTextArr
|
|
54
|
-
},
|
|
55
|
-
macaddr8: {
|
|
56
|
-
castArrayInJson: castToTextArr,
|
|
57
|
-
castArray: castToTextArr
|
|
58
|
-
},
|
|
59
|
-
point: {
|
|
60
|
-
cast: castToText,
|
|
61
|
-
castArray: castToTextArr
|
|
62
|
-
},
|
|
63
|
-
"point:tuple": {
|
|
64
|
-
cast: castToText,
|
|
65
|
-
castArray: castToTextArr
|
|
66
|
-
},
|
|
67
|
-
sparsevec: { normalizeArray: parsePgArray }
|
|
68
|
-
});
|
|
69
14
|
function construct(client, config = {}) {
|
|
70
15
|
const dialect = new PgDialect({
|
|
71
|
-
useJitMappers: config.useJitMappers,
|
|
16
|
+
useJitMappers: jitCompatCheck(config.useJitMappers),
|
|
72
17
|
codecs: config.codecs ?? nodePgCodecs
|
|
73
18
|
});
|
|
74
19
|
let logger;
|
|
@@ -98,5 +43,5 @@ function drizzle(...params) {
|
|
|
98
43
|
})(drizzle || (drizzle = {}));
|
|
99
44
|
|
|
100
45
|
//#endregion
|
|
101
|
-
export { NodePgDatabase, drizzle
|
|
46
|
+
export { NodePgDatabase, drizzle };
|
|
102
47
|
//# sourceMappingURL=driver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","names":[],"sources":["../../src/node-postgres/driver.ts"],"sourcesContent":["import pg, { type Pool, type PoolConfig } from 'pg';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport {
|
|
1
|
+
{"version":3,"file":"driver.js","names":[],"sources":["../../src/node-postgres/driver.ts"],"sourcesContent":["import pg, { type Pool, type PoolConfig } from 'pg';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { jitCompatCheck } from '~/utils.ts';\nimport { nodePgCodecs } from './codecs.ts';\nimport type { NodePgClient, NodePgQueryResultHKT } from './session.ts';\nimport { NodePgSession } from './session.ts';\n\nexport class NodePgDatabase<\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<NodePgQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'NodePgDatabase';\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NodePgClient = NodePgClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): NodePgDatabase<TRelations> & {\n\t$client: NodePgClient extends TClient ? Pool : TClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t\tcodecs: config.codecs ?? nodePgCodecs,\n\t});\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst relations = config.relations ?? {};\n\tconst session = new NodePgSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\n\tconst db = new NodePgDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t) as NodePgDatabase<TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends NodePgClient = Pool,\n>(\n\t...params:\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzlePgConfig<TRelations>,\n\t\t]\n\t\t| [\n\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tclient: TClient;\n\t\t\t} | {\n\t\t\t\tconnection: string | PoolConfig;\n\t\t\t}),\n\t\t]\n): NodePgDatabase<TRelations> & {\n\t$client: NodePgClient extends TClient ? Pool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new pg.Pool({\n\t\t\tconnectionString: params[0],\n\t\t});\n\n\t\treturn construct(\n\t\t\tinstance,\n\t\t\tparams[1] as DrizzlePgConfig<TRelations> | undefined,\n\t\t) as any;\n\t}\n\n\tconst { connection, client, ...drizzlePgCDrizzlePgConfig } = params[0] as (\n\t\t& ({ connection?: PoolConfig | string; client?: TClient })\n\t\t& DrizzlePgConfig<TRelations>\n\t);\n\n\tif (client) return construct(client, drizzlePgCDrizzlePgConfig);\n\n\tconst instance = typeof connection === 'string'\n\t\t? new pg.Pool({\n\t\t\tconnectionString: connection,\n\t\t})\n\t\t: new pg.Pool(connection!);\n\n\treturn construct(instance, drizzlePgCDrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): NodePgDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;AAYA,IAAa,iBAAb,cAEU,gBAAkD;CAC3D,QAA0B,cAAsB;;AAGjD,SAAS,UAIR,QACA,SAAsC,EAAE,EAGvC;CACD,MAAM,UAAU,IAAI,UAAU;EAC7B,eAAe,eAAe,OAAO,cAAc;EACnD,QAAQ,OAAO,UAAU;EACzB,CAAC;CACF,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,MAAM,YAAY,OAAO,aAAa,EAAE;CAMxC,MAAM,KAAK,IAAI,eACd,SANe,IAAI,cAAc,QAAQ,SAAS,WAAW;EAC7D;EACA,OAAO,OAAO;EACd,CAAC,EAKD,UACA;AACD,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAkBF;AACD,KAAI,OAAO,OAAO,OAAO,SAKxB,QAAO,UAJU,IAAI,GAAG,KAAK,EAC5B,kBAAkB,OAAO,IACzB,CAAC,EAID,OAAO,GACP;CAGF,MAAM,EAAE,YAAY,QAAQ,GAAG,8BAA8B,OAAO;AAKpE,KAAI,OAAQ,QAAO,UAAU,QAAQ,0BAA0B;AAQ/D,QAAO,UANU,OAAO,eAAe,WACpC,IAAI,GAAG,KAAK,EACb,kBAAkB,YAClB,CAAC,GACA,IAAI,GAAG,KAAK,WAAY,EAEA,0BAA0B;;;CAI9C,SAAS,KAGf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
|
package/node-postgres/index.cjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_node_postgres_codecs = require('./codecs.cjs');
|
|
2
3
|
const require_node_postgres_session = require('./session.cjs');
|
|
3
4
|
const require_node_postgres_driver = require('./driver.cjs');
|
|
4
5
|
|
|
@@ -11,4 +12,4 @@ Object.defineProperty(exports, 'drizzle', {
|
|
|
11
12
|
return require_node_postgres_driver.drizzle;
|
|
12
13
|
}
|
|
13
14
|
});
|
|
14
|
-
exports.nodePgCodecs =
|
|
15
|
+
exports.nodePgCodecs = require_node_postgres_codecs.nodePgCodecs;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { NodePgClient, NodePgQueryResultHKT, NodePgSession, NodePgSessionOptions, NodePgTransaction } from "./session.cjs";
|
|
2
|
-
import { NodePgDatabase, drizzle
|
|
2
|
+
import { NodePgDatabase, drizzle } from "./driver.cjs";
|
|
3
|
+
import { nodePgCodecs } from "./codecs.cjs";
|
|
3
4
|
export { NodePgClient, NodePgDatabase, NodePgQueryResultHKT, NodePgSession, NodePgSessionOptions, NodePgTransaction, drizzle, nodePgCodecs };
|
package/node-postgres/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { NodePgClient, NodePgQueryResultHKT, NodePgSession, NodePgSessionOptions, NodePgTransaction } from "./session.js";
|
|
2
|
-
import { NodePgDatabase, drizzle
|
|
2
|
+
import { NodePgDatabase, drizzle } from "./driver.js";
|
|
3
|
+
import { nodePgCodecs } from "./codecs.js";
|
|
3
4
|
export { NodePgClient, NodePgDatabase, NodePgQueryResultHKT, NodePgSession, NodePgSessionOptions, NodePgTransaction, drizzle, nodePgCodecs };
|
package/node-postgres/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import { nodePgCodecs } from "./codecs.js";
|
|
1
2
|
import { NodePgSession, NodePgTransaction } from "./session.js";
|
|
2
|
-
import { NodePgDatabase, drizzle
|
|
3
|
+
import { NodePgDatabase, drizzle } from "./driver.js";
|
|
3
4
|
|
|
4
5
|
export { NodePgDatabase, NodePgSession, NodePgTransaction, drizzle, nodePgCodecs };
|
package/node-sqlite/driver.cjs
CHANGED
|
@@ -2,6 +2,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
2
2
|
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
|
|
3
3
|
const require_node_sqlite_session = require('./session.cjs');
|
|
4
4
|
let __entity_ts = require("../entity.cjs");
|
|
5
|
+
let __utils_ts = require("../utils.cjs");
|
|
5
6
|
let __logger_ts = require("../logger.cjs");
|
|
6
7
|
let ___relations_ts = require("../_relations.cjs");
|
|
7
8
|
___relations_ts = require_runtime.__toESM(___relations_ts);
|
|
@@ -28,7 +29,10 @@ function construct(client, config = {}) {
|
|
|
28
29
|
};
|
|
29
30
|
}
|
|
30
31
|
const relations = config.relations ?? {};
|
|
31
|
-
const db = new NodeSQLiteDatabase("sync", dialect, new require_node_sqlite_session.NodeSQLiteSession(client, dialect, relations, schema, {
|
|
32
|
+
const db = new NodeSQLiteDatabase("sync", dialect, new require_node_sqlite_session.NodeSQLiteSession(client, dialect, relations, schema, {
|
|
33
|
+
logger,
|
|
34
|
+
useJitMappers: (0, __utils_ts.jitCompatCheck)(config.useJitMappers)
|
|
35
|
+
}), relations, schema);
|
|
32
36
|
db.$client = client;
|
|
33
37
|
return db;
|
|
34
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.cjs","names":["BaseSQLiteDatabase","entityKind","SQLiteSyncDialect","DefaultLogger","V1","NodeSQLiteSession","DatabaseSync"],"sources":["../../src/node-sqlite/driver.ts"],"sourcesContent":["import { DatabaseSync, type DatabaseSyncOptions, type StatementResultingChanges } from 'node:sqlite';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport type
|
|
1
|
+
{"version":3,"file":"driver.cjs","names":["BaseSQLiteDatabase","entityKind","SQLiteSyncDialect","DefaultLogger","V1","NodeSQLiteSession","DatabaseSync"],"sources":["../../src/node-sqlite/driver.ts"],"sourcesContent":["import { DatabaseSync, type DatabaseSyncOptions, type StatementResultingChanges } from 'node:sqlite';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport { type DrizzleConfig, jitCompatCheck } from '~/utils.ts';\nimport { NodeSQLiteSession } from './session.ts';\n\nexport class NodeSQLiteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'sync', StatementResultingChanges, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'NodeSQLiteDatabase';\n}\n\nexport type DrizzleNodeSQLiteDatabaseConfig =\n\t| ({\n\t\tpath?: string;\n\t} & DatabaseSyncOptions)\n\t| string\n\t| undefined;\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: DatabaseSync,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): NodeSQLiteDatabase<TSchema, TRelations> & {\n\t$client: DatabaseSync;\n} {\n\tconst dialect = new SQLiteSyncDialect();\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new NodeSQLiteSession<\n\t\tTSchema,\n\t\tTRelations,\n\t\tV1.ExtractTablesWithRelations<TSchema>\n\t>(client, dialect, relations, schema as V1.RelationalSchemaConfig<any>, {\n\t\tlogger,\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t});\n\tconst db = new NodeSQLiteDatabase(\n\t\t'sync',\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t) as NodeSQLiteDatabase<\n\t\tTSchema,\n\t\tTRelations\n\t>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends DatabaseSync = DatabaseSync,\n>(\n\t...params:\n\t\t| []\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzleConfig<TSchema, TRelations>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t\t& ({\n\t\t\t\t\tconnection?: DrizzleNodeSQLiteDatabaseConfig | string;\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): NodeSQLiteDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = params[0] === undefined ? new DatabaseSync(':memory:') : new DatabaseSync(params[0]);\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t& ({\n\t\t\tconnection?: DrizzleNodeSQLiteDatabaseConfig | string;\n\t\t\tclient?: TClient;\n\t\t})\n\t\t& DrizzleConfig<TSchema, TRelations>;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tif (typeof connection === 'object') {\n\t\tconst { path, ...options } = connection;\n\n\t\tconst instance = new DatabaseSync(path ?? ':memory:', options);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\tconst instance = new DatabaseSync(connection ?? ':memory:');\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): NodeSQLiteDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;AAUA,IAAa,qBAAb,cAGUA,uCAA2E;CACpF,QAA0BC,0BAAsB;;AAUjD,SAAS,UAIR,QACA,SAA6C,EAAE,EAG9C;CACD,MAAM,UAAU,IAAIC,4CAAmB;CACvC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,eAAeC,gBAAG,8BACvB,OAAO,QACPA,gBAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CASxC,MAAM,KAAK,IAAI,mBACd,QACA,SAVe,IAAIC,8CAIlB,QAAQ,SAAS,WAAW,QAA0C;EACvE;EACA,8CAA8B,OAAO,cAAc;EACnD,CAAC,EAKD,WACA,OACA;AAID,CAAO,GAAI,UAAU;AAErB,QAAO;;AAGR,SAAgB,QAKf,GAAG,QAqBF;AACD,KAAI,OAAO,OAAO,UAAa,OAAO,OAAO,OAAO,SAGnD,QAAO,UAFU,OAAO,OAAO,SAAY,IAAIC,yBAAa,WAAW,GAAG,IAAIA,yBAAa,OAAO,GAAG,EAE1E,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAOxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAEnD,KAAI,OAAO,eAAe,UAAU;EACnC,MAAM,EAAE,MAAM,GAAG,YAAY;AAI7B,SAAO,UAFU,IAAIA,yBAAa,QAAQ,YAAY,QAAQ,EAEnC,cAAc;;AAK1C,QAAO,UAFU,IAAIA,yBAAa,cAAc,WAAW,EAEhC,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
|
package/node-sqlite/driver.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { NodeSQLiteSession } from "./session.js";
|
|
2
2
|
import { entityKind } from "../entity.js";
|
|
3
|
+
import { jitCompatCheck } from "../utils.js";
|
|
3
4
|
import { DefaultLogger } from "../logger.js";
|
|
4
5
|
import * as V1 from "../_relations.js";
|
|
5
6
|
import { BaseSQLiteDatabase } from "../sqlite-core/db.js";
|
|
@@ -25,7 +26,10 @@ function construct(client, config = {}) {
|
|
|
25
26
|
};
|
|
26
27
|
}
|
|
27
28
|
const relations = config.relations ?? {};
|
|
28
|
-
const db = new NodeSQLiteDatabase("sync", dialect, new NodeSQLiteSession(client, dialect, relations, schema, {
|
|
29
|
+
const db = new NodeSQLiteDatabase("sync", dialect, new NodeSQLiteSession(client, dialect, relations, schema, {
|
|
30
|
+
logger,
|
|
31
|
+
useJitMappers: jitCompatCheck(config.useJitMappers)
|
|
32
|
+
}), relations, schema);
|
|
29
33
|
db.$client = client;
|
|
30
34
|
return db;
|
|
31
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","names":[],"sources":["../../src/node-sqlite/driver.ts"],"sourcesContent":["import { DatabaseSync, type DatabaseSyncOptions, type StatementResultingChanges } from 'node:sqlite';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport type
|
|
1
|
+
{"version":3,"file":"driver.js","names":[],"sources":["../../src/node-sqlite/driver.ts"],"sourcesContent":["import { DatabaseSync, type DatabaseSyncOptions, type StatementResultingChanges } from 'node:sqlite';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { BaseSQLiteDatabase } from '~/sqlite-core/db.ts';\nimport { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport { type DrizzleConfig, jitCompatCheck } from '~/utils.ts';\nimport { NodeSQLiteSession } from './session.ts';\n\nexport class NodeSQLiteDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends BaseSQLiteDatabase<'sync', StatementResultingChanges, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'NodeSQLiteDatabase';\n}\n\nexport type DrizzleNodeSQLiteDatabaseConfig =\n\t| ({\n\t\tpath?: string;\n\t} & DatabaseSyncOptions)\n\t| string\n\t| undefined;\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: DatabaseSync,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): NodeSQLiteDatabase<TSchema, TRelations> & {\n\t$client: DatabaseSync;\n} {\n\tconst dialect = new SQLiteSyncDialect();\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new NodeSQLiteSession<\n\t\tTSchema,\n\t\tTRelations,\n\t\tV1.ExtractTablesWithRelations<TSchema>\n\t>(client, dialect, relations, schema as V1.RelationalSchemaConfig<any>, {\n\t\tlogger,\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t});\n\tconst db = new NodeSQLiteDatabase(\n\t\t'sync',\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t) as NodeSQLiteDatabase<\n\t\tTSchema,\n\t\tTRelations\n\t>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends DatabaseSync = DatabaseSync,\n>(\n\t...params:\n\t\t| []\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzleConfig<TSchema, TRelations>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t\t& ({\n\t\t\t\t\tconnection?: DrizzleNodeSQLiteDatabaseConfig | string;\n\t\t\t\t} | {\n\t\t\t\t\tclient: TClient;\n\t\t\t\t})\n\t\t\t),\n\t\t]\n): NodeSQLiteDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = params[0] === undefined ? new DatabaseSync(':memory:') : new DatabaseSync(params[0]);\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t& ({\n\t\t\tconnection?: DrizzleNodeSQLiteDatabaseConfig | string;\n\t\t\tclient?: TClient;\n\t\t})\n\t\t& DrizzleConfig<TSchema, TRelations>;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tif (typeof connection === 'object') {\n\t\tconst { path, ...options } = connection;\n\n\t\tconst instance = new DatabaseSync(path ?? ':memory:', options);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\tconst instance = new DatabaseSync(connection ?? ':memory:');\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): NodeSQLiteDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;AAUA,IAAa,qBAAb,cAGU,mBAA2E;CACpF,QAA0B,cAAsB;;AAUjD,SAAS,UAIR,QACA,SAA6C,EAAE,EAG9C;CACD,MAAM,UAAU,IAAI,mBAAmB;CACvC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,eAAe,GAAG,8BACvB,OAAO,QACP,GAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CASxC,MAAM,KAAK,IAAI,mBACd,QACA,SAVe,IAAI,kBAIlB,QAAQ,SAAS,WAAW,QAA0C;EACvE;EACA,eAAe,eAAe,OAAO,cAAc;EACnD,CAAC,EAKD,WACA,OACA;AAID,CAAO,GAAI,UAAU;AAErB,QAAO;;AAGR,SAAgB,QAKf,GAAG,QAqBF;AACD,KAAI,OAAO,OAAO,UAAa,OAAO,OAAO,OAAO,SAGnD,QAAO,UAFU,OAAO,OAAO,SAAY,IAAI,aAAa,WAAW,GAAG,IAAI,aAAa,OAAO,GAAG,EAE1E,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAOxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAEnD,KAAI,OAAO,eAAe,UAAU;EACnC,MAAM,EAAE,MAAM,GAAG,YAAY;AAI7B,SAAO,UAFU,IAAI,aAAa,QAAQ,YAAY,QAAQ,EAEnC,cAAc;;AAK1C,QAAO,UAFU,IAAI,aAAa,cAAc,WAAW,EAEhC,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
|
package/node-sqlite/session.cjs
CHANGED
|
@@ -4,6 +4,7 @@ let __entity_ts = require("../entity.cjs");
|
|
|
4
4
|
let __utils_ts = require("../utils.cjs");
|
|
5
5
|
let __sql_sql_ts = require("../sql/sql.cjs");
|
|
6
6
|
let __logger_ts = require("../logger.cjs");
|
|
7
|
+
let __relations_ts = require("../relations.cjs");
|
|
7
8
|
let __sqlite_core_index_ts = require("../sqlite-core/index.cjs");
|
|
8
9
|
let __sqlite_core_session_ts = require("../sqlite-core/session.cjs");
|
|
9
10
|
|
|
@@ -16,13 +17,14 @@ var NodeSQLiteSession = class extends __sqlite_core_session_ts.SQLiteSession {
|
|
|
16
17
|
this.client = client;
|
|
17
18
|
this.relations = relations;
|
|
18
19
|
this.schema = schema;
|
|
20
|
+
this.options = options;
|
|
19
21
|
this.logger = options.logger ?? new __logger_ts.NoopLogger();
|
|
20
22
|
}
|
|
21
23
|
prepareQuery(query, fields, executeMethod, customResultMapper) {
|
|
22
|
-
return new NodeSQLitePreparedQuery(this.client.prepare(query.sql), query, this.logger, fields, executeMethod, customResultMapper);
|
|
24
|
+
return new NodeSQLitePreparedQuery(this.client.prepare(query.sql), query, this.logger, fields, executeMethod, this.options.useJitMappers, customResultMapper);
|
|
23
25
|
}
|
|
24
|
-
prepareRelationalQuery(query, fields, executeMethod, customResultMapper) {
|
|
25
|
-
return new NodeSQLitePreparedQuery(this.client.prepare(query.sql), query, this.logger, fields, executeMethod, customResultMapper, true);
|
|
26
|
+
prepareRelationalQuery(query, fields, executeMethod, customResultMapper, config) {
|
|
27
|
+
return new NodeSQLitePreparedQuery(this.client.prepare(query.sql), query, this.logger, fields, executeMethod, this.options.useJitMappers, customResultMapper, true, config);
|
|
26
28
|
}
|
|
27
29
|
transaction(transaction, config = {}) {
|
|
28
30
|
const tx = new NodeSQLiteTransaction("sync", this.dialect, this, this.relations, this.schema);
|
|
@@ -55,13 +57,16 @@ var NodeSQLiteTransaction = class NodeSQLiteTransaction extends __sqlite_core_in
|
|
|
55
57
|
};
|
|
56
58
|
var NodeSQLitePreparedQuery = class extends __sqlite_core_session_ts.SQLitePreparedQuery {
|
|
57
59
|
static [__entity_ts.entityKind] = "SQLJsPreparedQuery";
|
|
58
|
-
|
|
60
|
+
jitMapper;
|
|
61
|
+
constructor(stmt, query, logger, fields, executeMethod, useJitMappers, customResultMapper, isRqbV2Query, rqbConfig) {
|
|
59
62
|
super("sync", executeMethod, query);
|
|
60
63
|
this.stmt = stmt;
|
|
61
64
|
this.logger = logger;
|
|
62
65
|
this.fields = fields;
|
|
66
|
+
this.useJitMappers = useJitMappers;
|
|
63
67
|
this.customResultMapper = customResultMapper;
|
|
64
68
|
this.isRqbV2Query = isRqbV2Query;
|
|
69
|
+
this.rqbConfig = rqbConfig;
|
|
65
70
|
}
|
|
66
71
|
run(placeholderValues = {}) {
|
|
67
72
|
const { stmt } = this;
|
|
@@ -82,7 +87,7 @@ var NodeSQLitePreparedQuery = class extends __sqlite_core_session_ts.SQLitePrepa
|
|
|
82
87
|
stmt.setReturnArrays(true);
|
|
83
88
|
const rows = this.values(placeholderValues);
|
|
84
89
|
if (customResultMapper) return customResultMapper(rows);
|
|
85
|
-
return rows.map((row) => (0, __utils_ts.mapResultRow)(fields, row, joinsNotNullableMap));
|
|
90
|
+
return this.useJitMappers ? (this.jitMapper = this.jitMapper ?? (0, __utils_ts.makeJitQueryMapper)(fields, joinsNotNullableMap))(rows) : rows.map((row) => (0, __utils_ts.mapResultRow)(fields, row, joinsNotNullableMap));
|
|
86
91
|
}
|
|
87
92
|
allRqbV2(placeholderValues = {}) {
|
|
88
93
|
const { stmt } = this;
|
|
@@ -90,7 +95,8 @@ var NodeSQLitePreparedQuery = class extends __sqlite_core_session_ts.SQLitePrepa
|
|
|
90
95
|
const params = (0, __sql_sql_ts.fillPlaceholders)(query.params, placeholderValues);
|
|
91
96
|
logger.logQuery(query.sql, params);
|
|
92
97
|
stmt.setReturnArrays(false);
|
|
93
|
-
|
|
98
|
+
const rows = stmt.all(...params).map((row) => ({ ...row }));
|
|
99
|
+
return this.useJitMappers ? (this.jitMapper = this.jitMapper ?? (0, __relations_ts.makeJitRqbMapper)(this.rqbConfig))(rows) : customResultMapper(rows);
|
|
94
100
|
}
|
|
95
101
|
get(placeholderValues = {}) {
|
|
96
102
|
if (this.isRqbV2Query) return this.getRqbV2(placeholderValues);
|
|
@@ -106,7 +112,7 @@ var NodeSQLitePreparedQuery = class extends __sqlite_core_session_ts.SQLitePrepa
|
|
|
106
112
|
const row = stmt.get(...params);
|
|
107
113
|
if (!row) return;
|
|
108
114
|
if (customResultMapper) return customResultMapper([row]);
|
|
109
|
-
return (0, __utils_ts.mapResultRow)(fields, row, joinsNotNullableMap);
|
|
115
|
+
return this.useJitMappers ? (this.jitMapper = this.jitMapper ?? (0, __utils_ts.makeJitQueryMapper)(fields, joinsNotNullableMap))([row])[0] : (0, __utils_ts.mapResultRow)(fields, row, joinsNotNullableMap);
|
|
110
116
|
}
|
|
111
117
|
getRqbV2(placeholderValues = {}) {
|
|
112
118
|
const { stmt } = this;
|
|
@@ -116,7 +122,7 @@ var NodeSQLitePreparedQuery = class extends __sqlite_core_session_ts.SQLitePrepa
|
|
|
116
122
|
stmt.setReturnArrays(false);
|
|
117
123
|
const row = stmt.get(...params);
|
|
118
124
|
if (!row) return;
|
|
119
|
-
return customResultMapper([{ ...row }]);
|
|
125
|
+
return this.useJitMappers ? (this.jitMapper = this.jitMapper ?? (0, __relations_ts.makeJitRqbMapper)(this.rqbConfig))([row]) : customResultMapper([{ ...row }]);
|
|
120
126
|
}
|
|
121
127
|
values(placeholderValues = {}) {
|
|
122
128
|
const { stmt } = this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.cjs","names":["SQLiteSession","entityKind","NoopLogger","sql","SQLiteTransaction","PreparedQueryBase"],"sources":["../../src/node-sqlite/session.ts"],"sourcesContent":["import type { DatabaseSync, SQLInputValue, StatementResultingChanges, StatementSync } from 'node:sqlite';\nimport type * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport type {\n\tPreparedQueryConfig as PreparedQueryConfigBase,\n\tSQLiteExecuteMethod,\n\tSQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { SQLitePreparedQuery as PreparedQueryBase, SQLiteSession } from '~/sqlite-core/session.ts';\nimport { type DrizzleTypeError, mapResultRow } from '~/utils.ts';\n\nexport interface NodeSQLiteSessionOptions {\n\tlogger?: Logger;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class NodeSQLiteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteSession<'sync', StatementResultingChanges, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'SQLJsSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: DatabaseSync,\n\t\tdialect: SQLiteSyncDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\toptions: NodeSQLiteSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tcustomResultMapper: (rows: unknown[][]) => unknown,\n\t): NodeSQLitePreparedQuery<T> {\n\t\tconst stmt = this.client.prepare(query.sql);\n\t\treturn new NodeSQLitePreparedQuery(stmt, query, this.logger, fields, executeMethod, customResultMapper);\n\t}\n\n\tprepareRelationalQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => unknown,\n\t): NodeSQLitePreparedQuery<T, true> {\n\t\tconst stmt = this.client.prepare(query.sql);\n\t\treturn new NodeSQLitePreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tcustomResultMapper,\n\t\t\ttrue,\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: NodeSQLiteTransaction<TFullSchema, TRelations, TSchema>) => T,\n\t\tconfig: SQLiteTransactionConfig = {},\n\t): T {\n\t\tconst tx = new NodeSQLiteTransaction('sync', this.dialect, this, this.relations, this.schema);\n\t\tthis.run(sql.raw(`begin${config.behavior ? ` ${config.behavior}` : ''}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class NodeSQLiteTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteTransaction<'sync', StatementResultingChanges, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'SQLJsTransaction';\n\n\toverride transaction<T>(\n\t\ttransaction: (\n\t\t\ttx: NodeSQLiteTransaction<TFullSchema, TRelations, TSchema>,\n\t\t) => T extends Promise<any> ? DrizzleTypeError<\"Sync drivers can't use async functions in transactions!\">\n\t\t\t: T,\n\t): T {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new NodeSQLiteTransaction(\n\t\t\t'sync',\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\ttx.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\ttx.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result as T;\n\t\t} catch (err) {\n\t\t\ttx.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class NodeSQLitePreparedQuery<\n\tT extends PreparedQueryConfig = PreparedQueryConfig,\n\tTIsRqbV2 extends boolean = false,\n> extends PreparedQueryBase<\n\t{ type: 'sync'; run: void; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'SQLJsPreparedQuery';\n\n\tconstructor(\n\t\tprivate stmt: StatementSync,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t) => unknown,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t) {\n\t\tsuper('sync', executeMethod, query);\n\t}\n\n\trun(placeholderValues: Record<string, unknown> = {}): StatementResultingChanges {\n\t\tconst { stmt } = this;\n\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues);\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst result = stmt.run(...params as SQLInputValue[]);\n\n\t\treturn result;\n\t}\n\n\tall(placeholderValues: Record<string, unknown> = {}): T['all'] {\n\t\tif (this.isRqbV2Query) return this.allRqbV2(placeholderValues);\n\t\tconst { stmt } = this;\n\n\t\tconst { fields, joinsNotNullableMap, logger, query, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues);\n\t\t\tlogger.logQuery(query.sql, params);\n\n\t\t\tstmt.setReturnArrays(false);\n\t\t\tconst rows = stmt.all(...params as SQLInputValue[]);\n\n\t\t\treturn rows;\n\t\t}\n\n\t\tstmt.setReturnArrays(true);\n\t\tconst rows = this.values(placeholderValues) as unknown[][];\n\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (\n\t\t\t\trows: unknown[][],\n\t\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t\t) => unknown)(rows) as T['all'];\n\t\t}\n\n\t\treturn rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate allRqbV2(placeholderValues: Record<string, unknown> = {}): T['all'] {\n\t\tconst { stmt } = this;\n\n\t\tconst { logger, query, customResultMapper } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues);\n\t\tlogger.logQuery(query.sql, params);\n\n\t\tstmt.setReturnArrays(false);\n\t\tconst rows = stmt.all(...params as SQLInputValue[]).map((row) => ({ ...row })); // [Object: null prototype] => Object\n\n\t\treturn (customResultMapper as (\n\t\t\trows: Record<string, unknown>[],\n\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t) => unknown)(rows) as T['all'];\n\t}\n\n\tget(placeholderValues: Record<string, unknown> = {}): T['get'] {\n\t\tif (this.isRqbV2Query) return this.getRqbV2(placeholderValues);\n\t\tconst { stmt } = this;\n\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues);\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst { fields, joinsNotNullableMap, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tstmt.setReturnArrays(false);\n\t\t\tconst result = stmt.get(...params as SQLInputValue[]);\n\n\t\t\treturn result;\n\t\t}\n\n\t\tstmt.setReturnArrays(true);\n\t\tconst row = stmt.get(...params as SQLInputValue[]) as any as unknown[];\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (\n\t\t\t\trows: unknown[][],\n\t\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t\t) => unknown)([row]) as T['get'];\n\t\t}\n\n\t\treturn mapResultRow(fields!, row, joinsNotNullableMap);\n\t}\n\n\tprivate getRqbV2(placeholderValues: Record<string, unknown> = {}): T['get'] {\n\t\tconst { stmt } = this;\n\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues);\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst { customResultMapper } = this;\n\n\t\tstmt.setReturnArrays(false);\n\t\tconst row = stmt.get(...params as SQLInputValue[]);\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn (customResultMapper as (\n\t\t\trows: Record<string, unknown>[],\n\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t) => unknown)([{ ...row }]) as T['get']; // [Object: null prototype] => Object\n\t}\n\n\tvalues(placeholderValues: Record<string, unknown> = {}): T['values'] {\n\t\tconst { stmt } = this;\n\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues);\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tstmt.setReturnArrays(true);\n\t\treturn stmt.all(...params as SQLInputValue[]);\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.cjs","names":["SQLiteSession","entityKind","NoopLogger","sql","SQLiteTransaction","PreparedQueryBase"],"sources":["../../src/node-sqlite/session.ts"],"sourcesContent":["import type { DatabaseSync, SQLInputValue, StatementResultingChanges, StatementSync } from 'node:sqlite';\nimport type * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport {\n\ttype AnyRelations,\n\tmakeJitRqbMapper,\n\ttype RelationalQueryMapperConfig,\n\ttype RelationalRowsMapper,\n} from '~/relations.ts';\nimport { fillPlaceholders, type Query, sql } from '~/sql/sql.ts';\nimport type { SQLiteSyncDialect } from '~/sqlite-core/dialect.ts';\nimport { SQLiteTransaction } from '~/sqlite-core/index.ts';\nimport type { SelectedFieldsOrdered } from '~/sqlite-core/query-builders/select.types.ts';\nimport type {\n\tPreparedQueryConfig as PreparedQueryConfigBase,\n\tSQLiteExecuteMethod,\n\tSQLiteTransactionConfig,\n} from '~/sqlite-core/session.ts';\nimport { SQLitePreparedQuery as PreparedQueryBase, SQLiteSession } from '~/sqlite-core/session.ts';\nimport { type DrizzleTypeError, makeJitQueryMapper, mapResultRow, type RowsMapper } from '~/utils.ts';\n\nexport interface NodeSQLiteSessionOptions {\n\tlogger?: Logger;\n\tuseJitMappers?: boolean;\n}\n\ntype PreparedQueryConfig = Omit<PreparedQueryConfigBase, 'statement' | 'run'>;\n\nexport class NodeSQLiteSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteSession<'sync', StatementResultingChanges, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'SQLJsSession';\n\n\tprivate logger: Logger;\n\n\tconstructor(\n\t\tprivate client: DatabaseSync,\n\t\tdialect: SQLiteSyncDialect,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: NodeSQLiteSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t}\n\n\tprepareQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tcustomResultMapper: (rows: unknown[][]) => unknown,\n\t): NodeSQLitePreparedQuery<T> {\n\t\tconst stmt = this.client.prepare(query.sql);\n\t\treturn new NodeSQLitePreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tthis.options.useJitMappers,\n\t\t\tcustomResultMapper,\n\t\t);\n\t}\n\n\tprepareRelationalQuery<T extends Omit<PreparedQueryConfig, 'run'>>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => unknown,\n\t\tconfig: RelationalQueryMapperConfig,\n\t): NodeSQLitePreparedQuery<T, true> {\n\t\tconst stmt = this.client.prepare(query.sql);\n\t\treturn new NodeSQLitePreparedQuery(\n\t\t\tstmt,\n\t\t\tquery,\n\t\t\tthis.logger,\n\t\t\tfields,\n\t\t\texecuteMethod,\n\t\t\tthis.options.useJitMappers,\n\t\t\tcustomResultMapper,\n\t\t\ttrue,\n\t\t\tconfig,\n\t\t);\n\t}\n\n\toverride transaction<T>(\n\t\ttransaction: (tx: NodeSQLiteTransaction<TFullSchema, TRelations, TSchema>) => T,\n\t\tconfig: SQLiteTransactionConfig = {},\n\t): T {\n\t\tconst tx = new NodeSQLiteTransaction('sync', this.dialect, this, this.relations, this.schema);\n\t\tthis.run(sql.raw(`begin${config.behavior ? ` ${config.behavior}` : ''}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\tthis.run(sql`commit`);\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthis.run(sql`rollback`);\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class NodeSQLiteTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends SQLiteTransaction<'sync', StatementResultingChanges, TFullSchema, TRelations, TSchema> {\n\tstatic override readonly [entityKind]: string = 'SQLJsTransaction';\n\n\toverride transaction<T>(\n\t\ttransaction: (\n\t\t\ttx: NodeSQLiteTransaction<TFullSchema, TRelations, TSchema>,\n\t\t) => T extends Promise<any> ? DrizzleTypeError<\"Sync drivers can't use async functions in transactions!\">\n\t\t\t: T,\n\t): T {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new NodeSQLiteTransaction(\n\t\t\t'sync',\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\ttx.run(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = transaction(tx);\n\t\t\ttx.run(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result as T;\n\t\t} catch (err) {\n\t\t\ttx.run(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class NodeSQLitePreparedQuery<\n\tT extends PreparedQueryConfig = PreparedQueryConfig,\n\tTIsRqbV2 extends boolean = false,\n> extends PreparedQueryBase<\n\t{ type: 'sync'; run: void; all: T['all']; get: T['get']; values: T['values']; execute: T['execute'] }\n> {\n\tstatic override readonly [entityKind]: string = 'SQLJsPreparedQuery';\n\tprivate jitMapper?: RowsMapper<any> | RelationalRowsMapper<any>;\n\n\tconstructor(\n\t\tprivate stmt: StatementSync,\n\t\tquery: Query,\n\t\tprivate logger: Logger,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\texecuteMethod: SQLiteExecuteMethod,\n\t\tprivate useJitMappers: boolean | undefined,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t) => unknown,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t\tprivate rqbConfig?: RelationalQueryMapperConfig,\n\t) {\n\t\tsuper('sync', executeMethod, query);\n\t}\n\n\trun(placeholderValues: Record<string, unknown> = {}): StatementResultingChanges {\n\t\tconst { stmt } = this;\n\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues);\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst result = stmt.run(...params as SQLInputValue[]);\n\n\t\treturn result;\n\t}\n\n\tall(placeholderValues: Record<string, unknown> = {}): T['all'] {\n\t\tif (this.isRqbV2Query) return this.allRqbV2(placeholderValues);\n\t\tconst { stmt } = this;\n\n\t\tconst { fields, joinsNotNullableMap, logger, query, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst params = fillPlaceholders(query.params, placeholderValues);\n\t\t\tlogger.logQuery(query.sql, params);\n\n\t\t\tstmt.setReturnArrays(false);\n\t\t\tconst rows = stmt.all(...params as SQLInputValue[]);\n\n\t\t\treturn rows;\n\t\t}\n\n\t\tstmt.setReturnArrays(true);\n\t\tconst rows = this.values(placeholderValues) as unknown[][];\n\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (\n\t\t\t\trows: unknown[][],\n\t\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t\t) => unknown)(rows) as T['all'];\n\t\t}\n\n\t\treturn this.useJitMappers\n\t\t\t? (this.jitMapper = this.jitMapper as RowsMapper<T['all']>\n\t\t\t\t?? makeJitQueryMapper<T['all']>(fields!, joinsNotNullableMap))(rows)\n\t\t\t: rows.map((row) => mapResultRow(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate allRqbV2(placeholderValues: Record<string, unknown> = {}): T['all'] {\n\t\tconst { stmt } = this;\n\n\t\tconst { logger, query, customResultMapper } = this;\n\t\tconst params = fillPlaceholders(query.params, placeholderValues);\n\t\tlogger.logQuery(query.sql, params);\n\n\t\tstmt.setReturnArrays(false);\n\t\tconst rows = stmt.all(...params as SQLInputValue[]).map((row) => ({ ...row })); // [Object: null prototype] => Object\n\n\t\treturn this.useJitMappers\n\t\t\t? (this.jitMapper = this.jitMapper as RelationalRowsMapper<T['all']>\n\t\t\t\t?? makeJitRqbMapper<T['all']>(this.rqbConfig!))(rows)\n\t\t\t: (customResultMapper as (rows: Record<string, unknown>[]) => unknown)(rows);\n\t}\n\n\tget(placeholderValues: Record<string, unknown> = {}): T['get'] {\n\t\tif (this.isRqbV2Query) return this.getRqbV2(placeholderValues);\n\t\tconst { stmt } = this;\n\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues);\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst { fields, joinsNotNullableMap, customResultMapper } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tstmt.setReturnArrays(false);\n\t\t\tconst result = stmt.get(...params as SQLInputValue[]);\n\n\t\t\treturn result;\n\t\t}\n\n\t\tstmt.setReturnArrays(true);\n\t\tconst row = stmt.get(...params as SQLInputValue[]) as any as unknown[];\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (\n\t\t\t\trows: unknown[][],\n\t\t\t\tmapColumnValue?: (value: unknown) => unknown,\n\t\t\t) => unknown)([row]) as T['get'];\n\t\t}\n\n\t\treturn this.useJitMappers\n\t\t\t? (this.jitMapper = this.jitMapper as RowsMapper<T['get'][]>\n\t\t\t\t?? makeJitQueryMapper<T['get'][]>(fields!, joinsNotNullableMap))(\n\t\t\t\t\t[row],\n\t\t\t\t)[0]\n\t\t\t: mapResultRow(fields!, row, joinsNotNullableMap);\n\t}\n\n\tprivate getRqbV2(placeholderValues: Record<string, unknown> = {}): T['get'] {\n\t\tconst { stmt } = this;\n\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues);\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tconst { customResultMapper } = this;\n\n\t\tstmt.setReturnArrays(false);\n\t\tconst row = stmt.get(...params as SQLInputValue[]);\n\n\t\tif (!row) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\treturn this.useJitMappers\n\t\t\t? (this.jitMapper = this.jitMapper as RelationalRowsMapper<T['get'][]>\n\t\t\t\t?? makeJitRqbMapper<T['get'][]>(this.rqbConfig!))([row])\n\t\t\t: (customResultMapper as (rows: Record<string, unknown>[]) => unknown)(\n\t\t\t\t[{ ...row }], // [Object: null prototype] => Object\n\t\t\t);\n\t}\n\n\tvalues(placeholderValues: Record<string, unknown> = {}): T['values'] {\n\t\tconst { stmt } = this;\n\n\t\tconst params = fillPlaceholders(this.query.params, placeholderValues);\n\t\tthis.logger.logQuery(this.query.sql, params);\n\n\t\tstmt.setReturnArrays(true);\n\t\treturn stmt.all(...params as SQLInputValue[]);\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { entityKind } from "../entity.cjs";
|
|
|
2
2
|
import { Query } from "../sql/sql.cjs";
|
|
3
3
|
import { DrizzleTypeError } from "../utils.cjs";
|
|
4
4
|
import * as V1 from "../_relations.cjs";
|
|
5
|
-
import { AnyRelations } from "../relations.cjs";
|
|
5
|
+
import { AnyRelations, RelationalQueryMapperConfig } from "../relations.cjs";
|
|
6
6
|
import { Logger } from "../logger.cjs";
|
|
7
7
|
import { SQLiteSyncDialect } from "../sqlite-core/dialect.cjs";
|
|
8
8
|
import { PreparedQueryConfig, SQLiteExecuteMethod, SQLitePreparedQuery, SQLiteSession, SQLiteTransactionConfig } from "../sqlite-core/session.cjs";
|
|
@@ -13,17 +13,19 @@ import { DatabaseSync, StatementResultingChanges, StatementSync } from "node:sql
|
|
|
13
13
|
//#region src/node-sqlite/session.d.ts
|
|
14
14
|
interface NodeSQLiteSessionOptions {
|
|
15
15
|
logger?: Logger;
|
|
16
|
+
useJitMappers?: boolean;
|
|
16
17
|
}
|
|
17
18
|
type PreparedQueryConfig$1 = Omit<PreparedQueryConfig, 'statement' | 'run'>;
|
|
18
19
|
declare class NodeSQLiteSession<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TSchema extends V1.TablesRelationalConfig> extends SQLiteSession<'sync', StatementResultingChanges, TFullSchema, TRelations, TSchema> {
|
|
19
20
|
private client;
|
|
20
21
|
private relations;
|
|
21
22
|
private schema;
|
|
23
|
+
private options;
|
|
22
24
|
static readonly [entityKind]: string;
|
|
23
25
|
private logger;
|
|
24
26
|
constructor(client: DatabaseSync, dialect: SQLiteSyncDialect, relations: TRelations, schema: V1.RelationalSchemaConfig<TSchema> | undefined, options?: NodeSQLiteSessionOptions);
|
|
25
27
|
prepareQuery<T extends Omit<PreparedQueryConfig$1, 'run'>>(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper: (rows: unknown[][]) => unknown): NodeSQLitePreparedQuery<T>;
|
|
26
|
-
prepareRelationalQuery<T extends Omit<PreparedQueryConfig$1, 'run'>>(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper: (rows: Record<string, unknown>[]) => unknown): NodeSQLitePreparedQuery<T, true>;
|
|
28
|
+
prepareRelationalQuery<T extends Omit<PreparedQueryConfig$1, 'run'>>(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper: (rows: Record<string, unknown>[]) => unknown, config: RelationalQueryMapperConfig): NodeSQLitePreparedQuery<T, true>;
|
|
27
29
|
transaction<T>(transaction: (tx: NodeSQLiteTransaction<TFullSchema, TRelations, TSchema>) => T, config?: SQLiteTransactionConfig): T;
|
|
28
30
|
}
|
|
29
31
|
declare class NodeSQLiteTransaction<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TSchema extends V1.TablesRelationalConfig> extends SQLiteTransaction$1<'sync', StatementResultingChanges, TFullSchema, TRelations, TSchema> {
|
|
@@ -41,10 +43,13 @@ declare class NodeSQLitePreparedQuery<T extends PreparedQueryConfig$1 = Prepared
|
|
|
41
43
|
private stmt;
|
|
42
44
|
private logger;
|
|
43
45
|
private fields;
|
|
46
|
+
private useJitMappers;
|
|
44
47
|
private customResultMapper?;
|
|
45
48
|
private isRqbV2Query?;
|
|
49
|
+
private rqbConfig?;
|
|
46
50
|
static readonly [entityKind]: string;
|
|
47
|
-
|
|
51
|
+
private jitMapper?;
|
|
52
|
+
constructor(stmt: StatementSync, query: Query, logger: Logger, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, useJitMappers: boolean | undefined, customResultMapper?: ((rows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][], mapColumnValue?: (value: unknown) => unknown) => unknown) | undefined, isRqbV2Query?: TIsRqbV2 | undefined, rqbConfig?: RelationalQueryMapperConfig | undefined);
|
|
48
53
|
run(placeholderValues?: Record<string, unknown>): StatementResultingChanges;
|
|
49
54
|
all(placeholderValues?: Record<string, unknown>): T['all'];
|
|
50
55
|
private allRqbV2;
|
package/node-sqlite/session.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { DrizzleTypeError } from "../utils.js";
|
|
|
3
3
|
import { Query } from "../sql/sql.js";
|
|
4
4
|
import { Logger } from "../logger.js";
|
|
5
5
|
import * as V1 from "../_relations.js";
|
|
6
|
-
import { AnyRelations } from "../relations.js";
|
|
6
|
+
import { AnyRelations, RelationalQueryMapperConfig } from "../relations.js";
|
|
7
7
|
import { SQLiteSyncDialect } from "../sqlite-core/dialect.js";
|
|
8
8
|
import { SQLiteTransaction } from "../sqlite-core/index.js";
|
|
9
9
|
import { PreparedQueryConfig, SQLiteExecuteMethod, SQLitePreparedQuery, SQLiteSession, SQLiteTransactionConfig } from "../sqlite-core/session.js";
|
|
@@ -13,17 +13,19 @@ import { SelectedFieldsOrdered } from "../sqlite-core/query-builders/select.type
|
|
|
13
13
|
//#region src/node-sqlite/session.d.ts
|
|
14
14
|
interface NodeSQLiteSessionOptions {
|
|
15
15
|
logger?: Logger;
|
|
16
|
+
useJitMappers?: boolean;
|
|
16
17
|
}
|
|
17
18
|
type PreparedQueryConfig$1 = Omit<PreparedQueryConfig, 'statement' | 'run'>;
|
|
18
19
|
declare class NodeSQLiteSession<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TSchema extends V1.TablesRelationalConfig> extends SQLiteSession<'sync', StatementResultingChanges, TFullSchema, TRelations, TSchema> {
|
|
19
20
|
private client;
|
|
20
21
|
private relations;
|
|
21
22
|
private schema;
|
|
23
|
+
private options;
|
|
22
24
|
static readonly [entityKind]: string;
|
|
23
25
|
private logger;
|
|
24
26
|
constructor(client: DatabaseSync, dialect: SQLiteSyncDialect, relations: TRelations, schema: V1.RelationalSchemaConfig<TSchema> | undefined, options?: NodeSQLiteSessionOptions);
|
|
25
27
|
prepareQuery<T extends Omit<PreparedQueryConfig$1, 'run'>>(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper: (rows: unknown[][]) => unknown): NodeSQLitePreparedQuery<T>;
|
|
26
|
-
prepareRelationalQuery<T extends Omit<PreparedQueryConfig$1, 'run'>>(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper: (rows: Record<string, unknown>[]) => unknown): NodeSQLitePreparedQuery<T, true>;
|
|
28
|
+
prepareRelationalQuery<T extends Omit<PreparedQueryConfig$1, 'run'>>(query: Query, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, customResultMapper: (rows: Record<string, unknown>[]) => unknown, config: RelationalQueryMapperConfig): NodeSQLitePreparedQuery<T, true>;
|
|
27
29
|
transaction<T>(transaction: (tx: NodeSQLiteTransaction<TFullSchema, TRelations, TSchema>) => T, config?: SQLiteTransactionConfig): T;
|
|
28
30
|
}
|
|
29
31
|
declare class NodeSQLiteTransaction<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TSchema extends V1.TablesRelationalConfig> extends SQLiteTransaction<'sync', StatementResultingChanges, TFullSchema, TRelations, TSchema> {
|
|
@@ -41,10 +43,13 @@ declare class NodeSQLitePreparedQuery<T extends PreparedQueryConfig$1 = Prepared
|
|
|
41
43
|
private stmt;
|
|
42
44
|
private logger;
|
|
43
45
|
private fields;
|
|
46
|
+
private useJitMappers;
|
|
44
47
|
private customResultMapper?;
|
|
45
48
|
private isRqbV2Query?;
|
|
49
|
+
private rqbConfig?;
|
|
46
50
|
static readonly [entityKind]: string;
|
|
47
|
-
|
|
51
|
+
private jitMapper?;
|
|
52
|
+
constructor(stmt: StatementSync, query: Query, logger: Logger, fields: SelectedFieldsOrdered | undefined, executeMethod: SQLiteExecuteMethod, useJitMappers: boolean | undefined, customResultMapper?: ((rows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][], mapColumnValue?: (value: unknown) => unknown) => unknown) | undefined, isRqbV2Query?: TIsRqbV2 | undefined, rqbConfig?: RelationalQueryMapperConfig | undefined);
|
|
48
53
|
run(placeholderValues?: Record<string, unknown>): StatementResultingChanges;
|
|
49
54
|
all(placeholderValues?: Record<string, unknown>): T['all'];
|
|
50
55
|
private allRqbV2;
|