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
package/netlify-db/driver.cjs
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
2
|
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
|
|
3
|
+
const require_netlify_db_codecs = require('./codecs.cjs');
|
|
3
4
|
const require_netlify_db_session = require('./session.cjs');
|
|
4
5
|
let __entity_ts = require("../entity.cjs");
|
|
5
6
|
let __utils_ts = require("../utils.cjs");
|
|
6
7
|
let __logger_ts = require("../logger.cjs");
|
|
7
|
-
let __pg_core_array_ts = require("../pg-core/array.cjs");
|
|
8
8
|
let __pg_core_async_db_ts = require("../pg-core/async/db.cjs");
|
|
9
|
-
let __pg_core_codecs_ts = require("../pg-core/codecs.cjs");
|
|
10
9
|
let __pg_core_dialect_ts = require("../pg-core/dialect.cjs");
|
|
11
10
|
let _neondatabase_serverless = require("@neondatabase/serverless");
|
|
12
11
|
let __node_postgres_driver_ts = require("../node-postgres/driver.cjs");
|
|
@@ -25,121 +24,10 @@ var NetlifyDbDatabase = class NetlifyDbDatabase extends __pg_core_async_db_ts.Pg
|
|
|
25
24
|
return this.session.batch(batch);
|
|
26
25
|
}
|
|
27
26
|
};
|
|
28
|
-
const netlifyDbCodecs = (0, __pg_core_codecs_ts.refineGenericPgCodecs)({
|
|
29
|
-
bigint: {
|
|
30
|
-
normalize: BigInt,
|
|
31
|
-
normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(BigInt)
|
|
32
|
-
},
|
|
33
|
-
bigserial: {
|
|
34
|
-
normalize: BigInt,
|
|
35
|
-
normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(BigInt)
|
|
36
|
-
},
|
|
37
|
-
bit: { normalizeArray: __pg_core_array_ts.parsePgArray },
|
|
38
|
-
bytea: { normalizeParam: String },
|
|
39
|
-
date: {
|
|
40
|
-
castArray: __pg_core_codecs_ts.castToTextArr,
|
|
41
|
-
normalize: __pg_core_codecs_ts.textToDate,
|
|
42
|
-
normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.textToDate)
|
|
43
|
-
},
|
|
44
|
-
"date:string": { castArray: __pg_core_codecs_ts.castToTextArr },
|
|
45
|
-
timestamp: {
|
|
46
|
-
castArray: __pg_core_codecs_ts.castToTextArr,
|
|
47
|
-
normalize: __pg_core_codecs_ts.textToDateWithTz,
|
|
48
|
-
normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.textToDateWithTz)
|
|
49
|
-
},
|
|
50
|
-
timestamptz: {
|
|
51
|
-
castArray: __pg_core_codecs_ts.castToTextArr,
|
|
52
|
-
normalize: __pg_core_codecs_ts.textToDate,
|
|
53
|
-
normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.textToDate)
|
|
54
|
-
},
|
|
55
|
-
"timestamp:string": { castArray: __pg_core_codecs_ts.castToTextArr },
|
|
56
|
-
"timestamptz:string": { castArray: __pg_core_codecs_ts.castToTextArr },
|
|
57
|
-
geometry: { normalizeArray: (0, __pg_core_codecs_ts.parsePgArrayAndNormalize)(__pg_core_codecs_ts.parseGeometryXY) },
|
|
58
|
-
"geometry:tuple": { normalizeArray: (0, __pg_core_codecs_ts.parsePgArrayAndNormalize)(__pg_core_codecs_ts.parseGeometryTuple) },
|
|
59
|
-
interval: { castArray: __pg_core_codecs_ts.castToTextArr },
|
|
60
|
-
json: { normalizeParam: (v) => JSON.stringify(v) },
|
|
61
|
-
jsonb: { normalizeParam: (v) => JSON.stringify(v) },
|
|
62
|
-
line: {
|
|
63
|
-
cast: __pg_core_codecs_ts.castToText,
|
|
64
|
-
castArray: __pg_core_codecs_ts.castToTextArr
|
|
65
|
-
},
|
|
66
|
-
"line:tuple": {
|
|
67
|
-
cast: __pg_core_codecs_ts.castToText,
|
|
68
|
-
castArray: __pg_core_codecs_ts.castToTextArr
|
|
69
|
-
},
|
|
70
|
-
macaddr8: {
|
|
71
|
-
castArrayInJson: __pg_core_codecs_ts.castToTextArr,
|
|
72
|
-
castArray: __pg_core_codecs_ts.castToTextArr
|
|
73
|
-
},
|
|
74
|
-
point: {
|
|
75
|
-
cast: __pg_core_codecs_ts.castToText,
|
|
76
|
-
castArray: __pg_core_codecs_ts.castToTextArr
|
|
77
|
-
},
|
|
78
|
-
"point:tuple": {
|
|
79
|
-
cast: __pg_core_codecs_ts.castToText,
|
|
80
|
-
castArray: __pg_core_codecs_ts.castToTextArr
|
|
81
|
-
},
|
|
82
|
-
sparsevec: { normalizeArray: __pg_core_array_ts.parsePgArray }
|
|
83
|
-
});
|
|
84
|
-
const netlifyDbTransactionCodecs = (0, __pg_core_codecs_ts.refineGenericPgCodecs)({
|
|
85
|
-
bigint: {
|
|
86
|
-
normalize: BigInt,
|
|
87
|
-
normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(BigInt)
|
|
88
|
-
},
|
|
89
|
-
bigserial: {
|
|
90
|
-
normalize: BigInt,
|
|
91
|
-
normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(BigInt)
|
|
92
|
-
},
|
|
93
|
-
bit: { normalizeArray: __pg_core_array_ts.parsePgArray },
|
|
94
|
-
date: {
|
|
95
|
-
castArray: __pg_core_codecs_ts.castToTextArr,
|
|
96
|
-
normalize: __pg_core_codecs_ts.textToDate,
|
|
97
|
-
normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.textToDate)
|
|
98
|
-
},
|
|
99
|
-
"date:string": { castArray: __pg_core_codecs_ts.castToTextArr },
|
|
100
|
-
timestamp: {
|
|
101
|
-
castArray: __pg_core_codecs_ts.castToTextArr,
|
|
102
|
-
normalize: __pg_core_codecs_ts.textToDateWithTz,
|
|
103
|
-
normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.textToDateWithTz)
|
|
104
|
-
},
|
|
105
|
-
timestamptz: {
|
|
106
|
-
castArray: __pg_core_codecs_ts.castToTextArr,
|
|
107
|
-
normalize: __pg_core_codecs_ts.textToDate,
|
|
108
|
-
normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.textToDate)
|
|
109
|
-
},
|
|
110
|
-
"timestamp:string": { castArray: __pg_core_codecs_ts.castToTextArr },
|
|
111
|
-
"timestamptz:string": { castArray: __pg_core_codecs_ts.castToTextArr },
|
|
112
|
-
geometry: { normalizeArray: (0, __pg_core_codecs_ts.parsePgArrayAndNormalize)(__pg_core_codecs_ts.parseGeometryXY) },
|
|
113
|
-
"geometry:tuple": { normalizeArray: (0, __pg_core_codecs_ts.parsePgArrayAndNormalize)(__pg_core_codecs_ts.parseGeometryTuple) },
|
|
114
|
-
interval: { castArray: __pg_core_codecs_ts.castToTextArr },
|
|
115
|
-
json: { normalizeParam: (v) => typeof v === "object" && !Array.isArray(v) ? v : JSON.stringify(v) },
|
|
116
|
-
jsonb: { normalizeParam: (v) => typeof v === "object" && !Array.isArray(v) ? v : JSON.stringify(v) },
|
|
117
|
-
line: {
|
|
118
|
-
cast: __pg_core_codecs_ts.castToText,
|
|
119
|
-
castArray: __pg_core_codecs_ts.castToTextArr
|
|
120
|
-
},
|
|
121
|
-
"line:tuple": {
|
|
122
|
-
cast: __pg_core_codecs_ts.castToText,
|
|
123
|
-
castArray: __pg_core_codecs_ts.castToTextArr
|
|
124
|
-
},
|
|
125
|
-
macaddr8: {
|
|
126
|
-
castArrayInJson: __pg_core_codecs_ts.castToTextArr,
|
|
127
|
-
castArray: __pg_core_codecs_ts.castToTextArr
|
|
128
|
-
},
|
|
129
|
-
point: {
|
|
130
|
-
cast: __pg_core_codecs_ts.castToText,
|
|
131
|
-
castArray: __pg_core_codecs_ts.castToTextArr
|
|
132
|
-
},
|
|
133
|
-
"point:tuple": {
|
|
134
|
-
cast: __pg_core_codecs_ts.castToText,
|
|
135
|
-
castArray: __pg_core_codecs_ts.castToTextArr
|
|
136
|
-
},
|
|
137
|
-
sparsevec: { normalizeArray: __pg_core_array_ts.parsePgArray }
|
|
138
|
-
});
|
|
139
27
|
function construct(httpClient, pool, config = {}) {
|
|
140
28
|
const dialect = new __pg_core_dialect_ts.PgDialect({
|
|
141
|
-
codecs: config.codecs ?? netlifyDbCodecs,
|
|
142
|
-
useJitMappers: config.useJitMappers
|
|
29
|
+
codecs: config.codecs ?? require_netlify_db_codecs.netlifyDbCodecs,
|
|
30
|
+
useJitMappers: (0, __utils_ts.jitCompatCheck)(config.useJitMappers)
|
|
143
31
|
});
|
|
144
32
|
let logger;
|
|
145
33
|
if (config.logger === true) logger = new __logger_ts.DefaultLogger();
|
|
@@ -148,7 +36,7 @@ function construct(httpClient, pool, config = {}) {
|
|
|
148
36
|
const session = new require_netlify_db_session.NetlifyDbSession(httpClient, pool, dialect, relations ?? {}, {
|
|
149
37
|
logger,
|
|
150
38
|
cache: config.cache,
|
|
151
|
-
transactionCodecs: config.transactionCodecs ?? netlifyDbTransactionCodecs
|
|
39
|
+
transactionCodecs: config.transactionCodecs ?? require_netlify_db_codecs.netlifyDbTransactionCodecs
|
|
152
40
|
});
|
|
153
41
|
_neondatabase_serverless.types.setTypeParser(_neondatabase_serverless.types.builtins.TIMESTAMPTZ, (val) => val);
|
|
154
42
|
_neondatabase_serverless.types.setTypeParser(_neondatabase_serverless.types.builtins.TIMESTAMP, (val) => val);
|
|
@@ -215,6 +103,4 @@ Object.defineProperty(exports, 'drizzle', {
|
|
|
215
103
|
return drizzle;
|
|
216
104
|
}
|
|
217
105
|
});
|
|
218
|
-
exports.netlifyDbCodecs = netlifyDbCodecs;
|
|
219
|
-
exports.netlifyDbTransactionCodecs = netlifyDbTransactionCodecs;
|
|
220
106
|
//# sourceMappingURL=driver.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.cjs","names":["PgAsyncDatabase","entityKind","NetlifyDbSession","parsePgArray","castToTextArr","textToDate","textToDateWithTz","parseGeometryXY","parseGeometryTuple","castToText","PgDialect","DefaultLogger","types","Pool"],"sources":["../../src/netlify-db/driver.ts"],"sourcesContent":["import { type HTTPQueryOptions, neon, Pool, types } from '@neondatabase/serverless';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { NeonHttpClient, NeonHttpQueryResultHKT } from '~/neon-http/session.ts';\nimport { drizzle as drizzleNodePg, type NodePgDatabase } from '~/node-postgres/driver.ts';\nimport type { NodePgClient } from '~/node-postgres/session.ts';\nimport { parsePgArray } from '~/pg-core/array.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport {\n\tarrayCompatNormalize,\n\tcastToText,\n\tcastToTextArr,\n\tparseGeometryTuple,\n\tparseGeometryXY,\n\tparsePgArrayAndNormalize,\n\ttype PgCodecs,\n\trefineGenericPgCodecs,\n\ttextToDate,\n\ttextToDateWithTz,\n} from '~/pg-core/codecs.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { isConfig } from '~/utils.ts';\nimport { type NetlifyDbClient, NetlifyDbSession } from './session.ts';\n\nexport interface ServerlessDrizzleClient {\n\tdriver: 'serverless';\n\thttpClient: NeonHttpClient;\n\tpool: Pool;\n\tconnectionString: string;\n}\n\nexport interface ServerDrizzleClient {\n\tdriver: 'server';\n\tpool: NodePgClient;\n\tconnectionString: string;\n}\n\nexport type DrizzleClient = ServerlessDrizzleClient | ServerDrizzleClient;\n\nexport interface DrizzleNetlifyConfig<TRelations extends AnyRelations = EmptyRelations>\n\textends DrizzlePgConfig<TRelations>\n{\n\t/** Netlify utilizes different driver for transactions, thus requiring separate set of codecs */\n\ttransactionCodecs?: PgCodecs | undefined;\n}\n\nexport class NetlifyDbDatabase<\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<NeonHttpQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'NetlifyDbDatabase';\n\n\tdeclare session: NetlifyDbSession<TRelations>;\n\n\t$withAuth(\n\t\ttoken: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>,\n\t): Omit<this, '$withAuth'> {\n\t\tconst session = new NetlifyDbSession(this.session.httpClient, this.session.pool, this.dialect, this._.relations, {\n\t\t\t...this.session.options,\n\t\t\tauthToken: token,\n\t\t});\n\n\t\treturn new NetlifyDbDatabase(this.dialect, session, this._.relations) as any;\n\t}\n\n\tasync batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(\n\t\t\tbatch,\n\t\t) as Promise<BatchResponse<T>>;\n\t}\n}\n\nexport const netlifyDbCodecs = refineGenericPgCodecs({\n\tbigint: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t},\n\tbigserial: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t},\n\tbit: {\n\t\tnormalizeArray: parsePgArray,\n\t},\n\tbytea: {\n\t\tnormalizeParam: String,\n\t},\n\tdate: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t},\n\t'date:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\ttimestamp: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDateWithTz,\n\t\tnormalizeArray: arrayCompatNormalize(textToDateWithTz),\n\t},\n\ttimestamptz: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t},\n\t'timestamp:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\t'timestamptz:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\tgeometry: {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryXY),\n\t},\n\t'geometry:tuple': {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryTuple),\n\t},\n\tinterval: {\n\t\tcastArray: castToTextArr,\n\t},\n\tjson: {\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t},\n\tjsonb: {\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t},\n\tline: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t'line:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\tmacaddr8: {\n\t\tcastArrayInJson: castToTextArr,\n\t\tcastArray: castToTextArr,\n\t},\n\tpoint: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t'point:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\tsparsevec: {\n\t\tnormalizeArray: parsePgArray,\n\t},\n});\n\nexport const netlifyDbTransactionCodecs = refineGenericPgCodecs({\n\tbigint: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t},\n\tbigserial: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t},\n\tbit: {\n\t\tnormalizeArray: parsePgArray,\n\t},\n\tdate: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t},\n\t'date:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\ttimestamp: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDateWithTz,\n\t\tnormalizeArray: arrayCompatNormalize(textToDateWithTz),\n\t},\n\ttimestamptz: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t},\n\t'timestamp:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\t'timestamptz:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\tgeometry: {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryXY),\n\t},\n\t'geometry:tuple': {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryTuple),\n\t},\n\tinterval: {\n\t\tcastArray: castToTextArr,\n\t},\n\t// driver handles objects, other types need to be stringified\n\tjson: {\n\t\tnormalizeParam: (v) => typeof v === 'object' && !Array.isArray(v) ? v : JSON.stringify(v),\n\t},\n\tjsonb: {\n\t\tnormalizeParam: (v) => typeof v === 'object' && !Array.isArray(v) ? v : JSON.stringify(v),\n\t},\n\tline: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t'line:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\tmacaddr8: {\n\t\tcastArrayInJson: castToTextArr,\n\t\tcastArray: castToTextArr,\n\t},\n\tpoint: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t'point:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\tsparsevec: {\n\t\tnormalizeArray: parsePgArray,\n\t},\n});\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\thttpClient: NeonHttpClient,\n\tpool: Pool,\n\tconfig: DrizzleNetlifyConfig<TRelations> = {},\n): NetlifyDbDatabase<TRelations> & {\n\t$client: NetlifyDbClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tcodecs: config.codecs ?? netlifyDbCodecs,\n\t\tuseJitMappers: config.useJitMappers,\n\t});\n\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\tconst relations = config.relations ?? {} as TRelations;\n\n\tconst session = new NetlifyDbSession(httpClient, pool, dialect, relations ?? {}, {\n\t\tlogger: logger,\n\t\tcache: config.cache,\n\t\ttransactionCodecs: config.transactionCodecs ?? netlifyDbTransactionCodecs,\n\t});\n\n\ttypes.setTypeParser(types.builtins.TIMESTAMPTZ, (val) => val);\n\ttypes.setTypeParser(types.builtins.TIMESTAMP, (val) => val);\n\ttypes.setTypeParser(types.builtins.DATE, (val) => val);\n\ttypes.setTypeParser(types.builtins.INTERVAL, (val) => val);\n\ttypes.setTypeParser(1231, (val) => val);\n\ttypes.setTypeParser(1115, (val) => val);\n\ttypes.setTypeParser(1185, (val) => val);\n\ttypes.setTypeParser(1187, (val) => val);\n\ttypes.setTypeParser(1182, (val) => val);\n\n\tconst db = new NetlifyDbDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t);\n\t(<any> db).$client = { http: httpClient, pool } satisfies NetlifyDbClient;\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>():\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations>,\n):\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations> & { client: ServerlessDrizzleClient },\n): NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient };\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations> & { client: ServerDrizzleClient },\n): NodePgDatabase<TRelations> & { $client: NodePgClient };\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations> & { client: DrizzleClient },\n):\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleNetlifyConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleNetlifyConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | { connectionString: string };\n\t\t\t} | {\n\t\t\t\tclient: NetlifyDbClient | DrizzleClient;\n\t\t\t})\n\t\t),\n\t]\n): NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient };\n\nexport function drizzle<TRelations extends AnyRelations = EmptyRelations>(\n\t...params: [] | [\n\t\tDrizzleNetlifyConfig<TRelations>,\n\t] | [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleNetlifyConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleNetlifyConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | { connectionString: string };\n\t\t\t} | {\n\t\t\t\tclient: NetlifyDbClient | DrizzleClient;\n\t\t\t})\n\t\t),\n\t]\n):\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient })\n{\n\t// Zero-config: read env vars\n\tif (\n\t\tparams.length === 0\n\t\t|| (params.length === 1 && isConfig(params[0]) && !('connection' in (params[0] as any))\n\t\t\t&& !('client' in (params[0] as any)))\n\t) {\n\t\tconst drizzleConfig = (params[0] ?? {}) as DrizzleNetlifyConfig<TRelations>;\n\t\tconst connectionString = process.env['NETLIFY_DB_URL'];\n\n\t\tif (!connectionString) {\n\t\t\tthrow new Error(\n\t\t\t\t'NETLIFY_DB_URL environment variable is not set. '\n\t\t\t\t\t+ 'Provide a connection string or client to drizzle().',\n\t\t\t);\n\t\t}\n\n\t\tconst driver = process.env['NETLIFY_DB_DRIVER'];\n\n\t\tif (driver === 'server') {\n\t\t\treturn drizzleNodePg({ connection: connectionString, ...drizzleConfig }) as any;\n\t\t}\n\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\t\treturn construct(httpClient, pool, drizzleConfig) as any;\n\t}\n\n\tif (typeof params[0] === 'string') {\n\t\tconst connectionString = params[0];\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\t\treturn construct(httpClient, pool, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as {\n\t\t\tconnection?: { connectionString: string } | string;\n\t\t\tclient?: NetlifyDbClient | DrizzleClient;\n\t\t} & DrizzleNetlifyConfig<TRelations>;\n\n\t\tif (client) {\n\t\t\tif ('driver' in client) {\n\t\t\t\tif (client.driver === 'serverless') {\n\t\t\t\t\treturn construct(client.httpClient, client.pool, drizzleConfig);\n\t\t\t\t}\n\t\t\t\treturn drizzleNodePg({ client: client.pool, ...drizzleConfig }) as any;\n\t\t\t}\n\t\t\treturn construct(client.http, client.pool, drizzleConfig);\n\t\t}\n\n\t\tconst connectionString = typeof connection === 'string' ? connection : connection!.connectionString;\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\n\t\treturn construct(httpClient, pool, drizzleConfig) as any;\n\t}\n\n\tthrow new Error('Invalid arguments. Expected a connection string or a config object.');\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleNetlifyConfig<TRelations>,\n\t): NetlifyDbDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, {} as any, config) as any;\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"driver.cjs","names":["PgAsyncDatabase","entityKind","NetlifyDbSession","PgDialect","netlifyDbCodecs","DefaultLogger","netlifyDbTransactionCodecs","types","Pool"],"sources":["../../src/netlify-db/driver.ts"],"sourcesContent":["import { type HTTPQueryOptions, neon, Pool, types } from '@neondatabase/serverless';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { NeonHttpClient, NeonHttpQueryResultHKT } from '~/neon-http/session.ts';\nimport { drizzle as drizzleNodePg, type NodePgDatabase } from '~/node-postgres/driver.ts';\nimport type { NodePgClient } from '~/node-postgres/session.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport type { PgCodecs } from '~/pg-core/codecs.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { isConfig, jitCompatCheck } from '~/utils.ts';\nimport { netlifyDbCodecs, netlifyDbTransactionCodecs } from './codecs.ts';\nimport { type NetlifyDbClient, NetlifyDbSession } from './session.ts';\n\nexport interface ServerlessDrizzleClient {\n\tdriver: 'serverless';\n\thttpClient: NeonHttpClient;\n\tpool: Pool;\n\tconnectionString: string;\n}\n\nexport interface ServerDrizzleClient {\n\tdriver: 'server';\n\tpool: NodePgClient;\n\tconnectionString: string;\n}\n\nexport type DrizzleClient = ServerlessDrizzleClient | ServerDrizzleClient;\n\nexport interface DrizzleNetlifyConfig<TRelations extends AnyRelations = EmptyRelations>\n\textends DrizzlePgConfig<TRelations>\n{\n\t/** Netlify utilizes different driver for transactions, thus requiring separate set of codecs */\n\ttransactionCodecs?: PgCodecs | undefined;\n}\n\nexport class NetlifyDbDatabase<\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<NeonHttpQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'NetlifyDbDatabase';\n\n\tdeclare session: NetlifyDbSession<TRelations>;\n\n\t$withAuth(\n\t\ttoken: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>,\n\t): Omit<this, '$withAuth'> {\n\t\tconst session = new NetlifyDbSession(this.session.httpClient, this.session.pool, this.dialect, this._.relations, {\n\t\t\t...this.session.options,\n\t\t\tauthToken: token,\n\t\t});\n\n\t\treturn new NetlifyDbDatabase(this.dialect, session, this._.relations) as any;\n\t}\n\n\tasync batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(\n\t\t\tbatch,\n\t\t) as Promise<BatchResponse<T>>;\n\t}\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\thttpClient: NeonHttpClient,\n\tpool: Pool,\n\tconfig: DrizzleNetlifyConfig<TRelations> = {},\n): NetlifyDbDatabase<TRelations> & {\n\t$client: NetlifyDbClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tcodecs: config.codecs ?? netlifyDbCodecs,\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t});\n\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\tconst relations = config.relations ?? {} as TRelations;\n\n\tconst session = new NetlifyDbSession(httpClient, pool, dialect, relations ?? {}, {\n\t\tlogger: logger,\n\t\tcache: config.cache,\n\t\ttransactionCodecs: config.transactionCodecs ?? netlifyDbTransactionCodecs,\n\t});\n\n\ttypes.setTypeParser(types.builtins.TIMESTAMPTZ, (val) => val);\n\ttypes.setTypeParser(types.builtins.TIMESTAMP, (val) => val);\n\ttypes.setTypeParser(types.builtins.DATE, (val) => val);\n\ttypes.setTypeParser(types.builtins.INTERVAL, (val) => val);\n\ttypes.setTypeParser(1231, (val) => val);\n\ttypes.setTypeParser(1115, (val) => val);\n\ttypes.setTypeParser(1185, (val) => val);\n\ttypes.setTypeParser(1187, (val) => val);\n\ttypes.setTypeParser(1182, (val) => val);\n\n\tconst db = new NetlifyDbDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t);\n\t(<any> db).$client = { http: httpClient, pool } satisfies NetlifyDbClient;\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>():\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations>,\n):\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations> & { client: ServerlessDrizzleClient },\n): NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient };\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations> & { client: ServerDrizzleClient },\n): NodePgDatabase<TRelations> & { $client: NodePgClient };\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations> & { client: DrizzleClient },\n):\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleNetlifyConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleNetlifyConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | { connectionString: string };\n\t\t\t} | {\n\t\t\t\tclient: NetlifyDbClient | DrizzleClient;\n\t\t\t})\n\t\t),\n\t]\n): NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient };\n\nexport function drizzle<TRelations extends AnyRelations = EmptyRelations>(\n\t...params: [] | [\n\t\tDrizzleNetlifyConfig<TRelations>,\n\t] | [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleNetlifyConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleNetlifyConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | { connectionString: string };\n\t\t\t} | {\n\t\t\t\tclient: NetlifyDbClient | DrizzleClient;\n\t\t\t})\n\t\t),\n\t]\n):\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient })\n{\n\t// Zero-config: read env vars\n\tif (\n\t\tparams.length === 0\n\t\t|| (params.length === 1 && isConfig(params[0]) && !('connection' in (params[0] as any))\n\t\t\t&& !('client' in (params[0] as any)))\n\t) {\n\t\tconst drizzleConfig = (params[0] ?? {}) as DrizzleNetlifyConfig<TRelations>;\n\t\tconst connectionString = process.env['NETLIFY_DB_URL'];\n\n\t\tif (!connectionString) {\n\t\t\tthrow new Error(\n\t\t\t\t'NETLIFY_DB_URL environment variable is not set. '\n\t\t\t\t\t+ 'Provide a connection string or client to drizzle().',\n\t\t\t);\n\t\t}\n\n\t\tconst driver = process.env['NETLIFY_DB_DRIVER'];\n\n\t\tif (driver === 'server') {\n\t\t\treturn drizzleNodePg({ connection: connectionString, ...drizzleConfig }) as any;\n\t\t}\n\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\t\treturn construct(httpClient, pool, drizzleConfig) as any;\n\t}\n\n\tif (typeof params[0] === 'string') {\n\t\tconst connectionString = params[0];\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\t\treturn construct(httpClient, pool, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as {\n\t\t\tconnection?: { connectionString: string } | string;\n\t\t\tclient?: NetlifyDbClient | DrizzleClient;\n\t\t} & DrizzleNetlifyConfig<TRelations>;\n\n\t\tif (client) {\n\t\t\tif ('driver' in client) {\n\t\t\t\tif (client.driver === 'serverless') {\n\t\t\t\t\treturn construct(client.httpClient, client.pool, drizzleConfig);\n\t\t\t\t}\n\t\t\t\treturn drizzleNodePg({ client: client.pool, ...drizzleConfig }) as any;\n\t\t\t}\n\t\t\treturn construct(client.http, client.pool, drizzleConfig);\n\t\t}\n\n\t\tconst connectionString = typeof connection === 'string' ? connection : connection!.connectionString;\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\n\t\treturn construct(httpClient, pool, drizzleConfig) as any;\n\t}\n\n\tthrow new Error('Invalid arguments. Expected a connection string or a config object.');\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleNetlifyConfig<TRelations>,\n\t): NetlifyDbDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, {} as any, config) as any;\n\t}\n}\n"],"mappings":"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"}
|
package/netlify-db/driver.d.cts
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import { Codec } from "../codecs.cjs";
|
|
2
1
|
import { NetlifyDbClient, NetlifyDbSession } from "./session.cjs";
|
|
3
2
|
import { entityKind } from "../entity.cjs";
|
|
4
|
-
import * as __utils_ts0 from "../utils.cjs";
|
|
5
3
|
import { AnyRelations, EmptyRelations } from "../relations.cjs";
|
|
6
|
-
import * as __pg_core_codecs_ts0 from "../pg-core/codecs.cjs";
|
|
7
4
|
import { PgCodecs } from "../pg-core/codecs.cjs";
|
|
8
5
|
import { PgAsyncDatabase } from "../pg-core/async/db.cjs";
|
|
9
6
|
import { DrizzlePgConfig } from "../pg-core/utils.cjs";
|
|
@@ -36,8 +33,6 @@ declare class NetlifyDbDatabase<TRelations extends AnyRelations = EmptyRelations
|
|
|
36
33
|
$withAuth(token: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>): Omit<this, '$withAuth'>;
|
|
37
34
|
batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(batch: T): Promise<BatchResponse<T>>;
|
|
38
35
|
}
|
|
39
|
-
declare const netlifyDbCodecs: __utils_ts0.PartialWithUndefined<Record<__pg_core_codecs_ts0.PostgresType, Codec>>;
|
|
40
|
-
declare const netlifyDbTransactionCodecs: __utils_ts0.PartialWithUndefined<Record<__pg_core_codecs_ts0.PostgresType, Codec>>;
|
|
41
36
|
declare function drizzle<TRelations extends AnyRelations = EmptyRelations>(): (NetlifyDbDatabase<TRelations> & {
|
|
42
37
|
$client: NetlifyDbClient;
|
|
43
38
|
}) | (NodePgDatabase<TRelations> & {
|
|
@@ -80,5 +75,5 @@ declare namespace drizzle {
|
|
|
80
75
|
};
|
|
81
76
|
}
|
|
82
77
|
//#endregion
|
|
83
|
-
export { DrizzleClient, DrizzleNetlifyConfig, NetlifyDbDatabase, ServerDrizzleClient, ServerlessDrizzleClient, drizzle
|
|
78
|
+
export { DrizzleClient, DrizzleNetlifyConfig, NetlifyDbDatabase, ServerDrizzleClient, ServerlessDrizzleClient, drizzle };
|
|
84
79
|
//# sourceMappingURL=driver.d.cts.map
|
package/netlify-db/driver.d.ts
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import { Codec } from "../codecs.js";
|
|
2
1
|
import { NetlifyDbClient, NetlifyDbSession } from "./session.js";
|
|
3
2
|
import { entityKind } from "../entity.js";
|
|
4
|
-
import * as __utils_ts0 from "../utils.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 { PgCodecs } from "../pg-core/codecs.js";
|
|
8
5
|
import { AnyRelations, EmptyRelations } from "../relations.js";
|
|
9
6
|
import { HTTPQueryOptions, Pool } from "@neondatabase/serverless";
|
|
@@ -36,8 +33,6 @@ declare class NetlifyDbDatabase<TRelations extends AnyRelations = EmptyRelations
|
|
|
36
33
|
$withAuth(token: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>): Omit<this, '$withAuth'>;
|
|
37
34
|
batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(batch: T): Promise<BatchResponse<T>>;
|
|
38
35
|
}
|
|
39
|
-
declare const netlifyDbCodecs: __utils_ts0.PartialWithUndefined<Record<__pg_core_codecs_ts0.PostgresType, Codec>>;
|
|
40
|
-
declare const netlifyDbTransactionCodecs: __utils_ts0.PartialWithUndefined<Record<__pg_core_codecs_ts0.PostgresType, Codec>>;
|
|
41
36
|
declare function drizzle<TRelations extends AnyRelations = EmptyRelations>(): (NetlifyDbDatabase<TRelations> & {
|
|
42
37
|
$client: NetlifyDbClient;
|
|
43
38
|
}) | (NodePgDatabase<TRelations> & {
|
|
@@ -80,5 +75,5 @@ declare namespace drizzle {
|
|
|
80
75
|
};
|
|
81
76
|
}
|
|
82
77
|
//#endregion
|
|
83
|
-
export { DrizzleClient, DrizzleNetlifyConfig, NetlifyDbDatabase, ServerDrizzleClient, ServerlessDrizzleClient, drizzle
|
|
78
|
+
export { DrizzleClient, DrizzleNetlifyConfig, NetlifyDbDatabase, ServerDrizzleClient, ServerlessDrizzleClient, drizzle };
|
|
84
79
|
//# sourceMappingURL=driver.d.ts.map
|
package/netlify-db/driver.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
+
import { netlifyDbCodecs, netlifyDbTransactionCodecs } from "./codecs.js";
|
|
1
2
|
import { NetlifyDbSession } from "./session.js";
|
|
2
3
|
import { entityKind } from "../entity.js";
|
|
3
|
-
import { isConfig } from "../utils.js";
|
|
4
|
+
import { isConfig, jitCompatCheck } from "../utils.js";
|
|
4
5
|
import { DefaultLogger } from "../logger.js";
|
|
5
|
-
import { parsePgArray } from "../pg-core/array.js";
|
|
6
6
|
import { PgAsyncDatabase } from "../pg-core/async/db.js";
|
|
7
|
-
import { arrayCompatNormalize, castToText, castToTextArr, parseGeometryTuple, parseGeometryXY, parsePgArrayAndNormalize, refineGenericPgCodecs, textToDate, textToDateWithTz } from "../pg-core/codecs.js";
|
|
8
7
|
import { PgDialect } from "../pg-core/dialect.js";
|
|
9
8
|
import { Pool, neon, types } from "@neondatabase/serverless";
|
|
10
9
|
import { drizzle as drizzle$1 } from "../node-postgres/driver.js";
|
|
@@ -23,121 +22,10 @@ var NetlifyDbDatabase = class NetlifyDbDatabase extends PgAsyncDatabase {
|
|
|
23
22
|
return this.session.batch(batch);
|
|
24
23
|
}
|
|
25
24
|
};
|
|
26
|
-
const netlifyDbCodecs = refineGenericPgCodecs({
|
|
27
|
-
bigint: {
|
|
28
|
-
normalize: BigInt,
|
|
29
|
-
normalizeArray: arrayCompatNormalize(BigInt)
|
|
30
|
-
},
|
|
31
|
-
bigserial: {
|
|
32
|
-
normalize: BigInt,
|
|
33
|
-
normalizeArray: arrayCompatNormalize(BigInt)
|
|
34
|
-
},
|
|
35
|
-
bit: { normalizeArray: parsePgArray },
|
|
36
|
-
bytea: { normalizeParam: String },
|
|
37
|
-
date: {
|
|
38
|
-
castArray: castToTextArr,
|
|
39
|
-
normalize: textToDate,
|
|
40
|
-
normalizeArray: arrayCompatNormalize(textToDate)
|
|
41
|
-
},
|
|
42
|
-
"date:string": { castArray: castToTextArr },
|
|
43
|
-
timestamp: {
|
|
44
|
-
castArray: castToTextArr,
|
|
45
|
-
normalize: textToDateWithTz,
|
|
46
|
-
normalizeArray: arrayCompatNormalize(textToDateWithTz)
|
|
47
|
-
},
|
|
48
|
-
timestamptz: {
|
|
49
|
-
castArray: castToTextArr,
|
|
50
|
-
normalize: textToDate,
|
|
51
|
-
normalizeArray: arrayCompatNormalize(textToDate)
|
|
52
|
-
},
|
|
53
|
-
"timestamp:string": { castArray: castToTextArr },
|
|
54
|
-
"timestamptz:string": { castArray: castToTextArr },
|
|
55
|
-
geometry: { normalizeArray: parsePgArrayAndNormalize(parseGeometryXY) },
|
|
56
|
-
"geometry:tuple": { normalizeArray: parsePgArrayAndNormalize(parseGeometryTuple) },
|
|
57
|
-
interval: { castArray: castToTextArr },
|
|
58
|
-
json: { normalizeParam: (v) => JSON.stringify(v) },
|
|
59
|
-
jsonb: { normalizeParam: (v) => JSON.stringify(v) },
|
|
60
|
-
line: {
|
|
61
|
-
cast: castToText,
|
|
62
|
-
castArray: castToTextArr
|
|
63
|
-
},
|
|
64
|
-
"line:tuple": {
|
|
65
|
-
cast: castToText,
|
|
66
|
-
castArray: castToTextArr
|
|
67
|
-
},
|
|
68
|
-
macaddr8: {
|
|
69
|
-
castArrayInJson: castToTextArr,
|
|
70
|
-
castArray: castToTextArr
|
|
71
|
-
},
|
|
72
|
-
point: {
|
|
73
|
-
cast: castToText,
|
|
74
|
-
castArray: castToTextArr
|
|
75
|
-
},
|
|
76
|
-
"point:tuple": {
|
|
77
|
-
cast: castToText,
|
|
78
|
-
castArray: castToTextArr
|
|
79
|
-
},
|
|
80
|
-
sparsevec: { normalizeArray: parsePgArray }
|
|
81
|
-
});
|
|
82
|
-
const netlifyDbTransactionCodecs = refineGenericPgCodecs({
|
|
83
|
-
bigint: {
|
|
84
|
-
normalize: BigInt,
|
|
85
|
-
normalizeArray: arrayCompatNormalize(BigInt)
|
|
86
|
-
},
|
|
87
|
-
bigserial: {
|
|
88
|
-
normalize: BigInt,
|
|
89
|
-
normalizeArray: arrayCompatNormalize(BigInt)
|
|
90
|
-
},
|
|
91
|
-
bit: { normalizeArray: parsePgArray },
|
|
92
|
-
date: {
|
|
93
|
-
castArray: castToTextArr,
|
|
94
|
-
normalize: textToDate,
|
|
95
|
-
normalizeArray: arrayCompatNormalize(textToDate)
|
|
96
|
-
},
|
|
97
|
-
"date:string": { castArray: castToTextArr },
|
|
98
|
-
timestamp: {
|
|
99
|
-
castArray: castToTextArr,
|
|
100
|
-
normalize: textToDateWithTz,
|
|
101
|
-
normalizeArray: arrayCompatNormalize(textToDateWithTz)
|
|
102
|
-
},
|
|
103
|
-
timestamptz: {
|
|
104
|
-
castArray: castToTextArr,
|
|
105
|
-
normalize: textToDate,
|
|
106
|
-
normalizeArray: arrayCompatNormalize(textToDate)
|
|
107
|
-
},
|
|
108
|
-
"timestamp:string": { castArray: castToTextArr },
|
|
109
|
-
"timestamptz:string": { castArray: castToTextArr },
|
|
110
|
-
geometry: { normalizeArray: parsePgArrayAndNormalize(parseGeometryXY) },
|
|
111
|
-
"geometry:tuple": { normalizeArray: parsePgArrayAndNormalize(parseGeometryTuple) },
|
|
112
|
-
interval: { castArray: castToTextArr },
|
|
113
|
-
json: { normalizeParam: (v) => typeof v === "object" && !Array.isArray(v) ? v : JSON.stringify(v) },
|
|
114
|
-
jsonb: { normalizeParam: (v) => typeof v === "object" && !Array.isArray(v) ? v : JSON.stringify(v) },
|
|
115
|
-
line: {
|
|
116
|
-
cast: castToText,
|
|
117
|
-
castArray: castToTextArr
|
|
118
|
-
},
|
|
119
|
-
"line:tuple": {
|
|
120
|
-
cast: castToText,
|
|
121
|
-
castArray: castToTextArr
|
|
122
|
-
},
|
|
123
|
-
macaddr8: {
|
|
124
|
-
castArrayInJson: castToTextArr,
|
|
125
|
-
castArray: castToTextArr
|
|
126
|
-
},
|
|
127
|
-
point: {
|
|
128
|
-
cast: castToText,
|
|
129
|
-
castArray: castToTextArr
|
|
130
|
-
},
|
|
131
|
-
"point:tuple": {
|
|
132
|
-
cast: castToText,
|
|
133
|
-
castArray: castToTextArr
|
|
134
|
-
},
|
|
135
|
-
sparsevec: { normalizeArray: parsePgArray }
|
|
136
|
-
});
|
|
137
25
|
function construct(httpClient, pool, config = {}) {
|
|
138
26
|
const dialect = new PgDialect({
|
|
139
27
|
codecs: config.codecs ?? netlifyDbCodecs,
|
|
140
|
-
useJitMappers: config.useJitMappers
|
|
28
|
+
useJitMappers: jitCompatCheck(config.useJitMappers)
|
|
141
29
|
});
|
|
142
30
|
let logger;
|
|
143
31
|
if (config.logger === true) logger = new DefaultLogger();
|
|
@@ -206,5 +94,5 @@ function drizzle(...params) {
|
|
|
206
94
|
})(drizzle || (drizzle = {}));
|
|
207
95
|
|
|
208
96
|
//#endregion
|
|
209
|
-
export { NetlifyDbDatabase, drizzle
|
|
97
|
+
export { NetlifyDbDatabase, drizzle };
|
|
210
98
|
//# sourceMappingURL=driver.js.map
|
package/netlify-db/driver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","names":["drizzleNodePg"],"sources":["../../src/netlify-db/driver.ts"],"sourcesContent":["import { type HTTPQueryOptions, neon, Pool, types } from '@neondatabase/serverless';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { NeonHttpClient, NeonHttpQueryResultHKT } from '~/neon-http/session.ts';\nimport { drizzle as drizzleNodePg, type NodePgDatabase } from '~/node-postgres/driver.ts';\nimport type { NodePgClient } from '~/node-postgres/session.ts';\nimport { parsePgArray } from '~/pg-core/array.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport {\n\tarrayCompatNormalize,\n\tcastToText,\n\tcastToTextArr,\n\tparseGeometryTuple,\n\tparseGeometryXY,\n\tparsePgArrayAndNormalize,\n\ttype PgCodecs,\n\trefineGenericPgCodecs,\n\ttextToDate,\n\ttextToDateWithTz,\n} from '~/pg-core/codecs.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { isConfig } from '~/utils.ts';\nimport { type NetlifyDbClient, NetlifyDbSession } from './session.ts';\n\nexport interface ServerlessDrizzleClient {\n\tdriver: 'serverless';\n\thttpClient: NeonHttpClient;\n\tpool: Pool;\n\tconnectionString: string;\n}\n\nexport interface ServerDrizzleClient {\n\tdriver: 'server';\n\tpool: NodePgClient;\n\tconnectionString: string;\n}\n\nexport type DrizzleClient = ServerlessDrizzleClient | ServerDrizzleClient;\n\nexport interface DrizzleNetlifyConfig<TRelations extends AnyRelations = EmptyRelations>\n\textends DrizzlePgConfig<TRelations>\n{\n\t/** Netlify utilizes different driver for transactions, thus requiring separate set of codecs */\n\ttransactionCodecs?: PgCodecs | undefined;\n}\n\nexport class NetlifyDbDatabase<\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<NeonHttpQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'NetlifyDbDatabase';\n\n\tdeclare session: NetlifyDbSession<TRelations>;\n\n\t$withAuth(\n\t\ttoken: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>,\n\t): Omit<this, '$withAuth'> {\n\t\tconst session = new NetlifyDbSession(this.session.httpClient, this.session.pool, this.dialect, this._.relations, {\n\t\t\t...this.session.options,\n\t\t\tauthToken: token,\n\t\t});\n\n\t\treturn new NetlifyDbDatabase(this.dialect, session, this._.relations) as any;\n\t}\n\n\tasync batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(\n\t\t\tbatch,\n\t\t) as Promise<BatchResponse<T>>;\n\t}\n}\n\nexport const netlifyDbCodecs = refineGenericPgCodecs({\n\tbigint: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t},\n\tbigserial: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t},\n\tbit: {\n\t\tnormalizeArray: parsePgArray,\n\t},\n\tbytea: {\n\t\tnormalizeParam: String,\n\t},\n\tdate: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t},\n\t'date:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\ttimestamp: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDateWithTz,\n\t\tnormalizeArray: arrayCompatNormalize(textToDateWithTz),\n\t},\n\ttimestamptz: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t},\n\t'timestamp:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\t'timestamptz:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\tgeometry: {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryXY),\n\t},\n\t'geometry:tuple': {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryTuple),\n\t},\n\tinterval: {\n\t\tcastArray: castToTextArr,\n\t},\n\tjson: {\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t},\n\tjsonb: {\n\t\tnormalizeParam: (v) => JSON.stringify(v),\n\t},\n\tline: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t'line:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\tmacaddr8: {\n\t\tcastArrayInJson: castToTextArr,\n\t\tcastArray: castToTextArr,\n\t},\n\tpoint: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t'point:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\tsparsevec: {\n\t\tnormalizeArray: parsePgArray,\n\t},\n});\n\nexport const netlifyDbTransactionCodecs = refineGenericPgCodecs({\n\tbigint: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t},\n\tbigserial: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t},\n\tbit: {\n\t\tnormalizeArray: parsePgArray,\n\t},\n\tdate: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t},\n\t'date:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\ttimestamp: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDateWithTz,\n\t\tnormalizeArray: arrayCompatNormalize(textToDateWithTz),\n\t},\n\ttimestamptz: {\n\t\tcastArray: castToTextArr,\n\t\tnormalize: textToDate,\n\t\tnormalizeArray: arrayCompatNormalize(textToDate),\n\t},\n\t'timestamp:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\t'timestamptz:string': {\n\t\tcastArray: castToTextArr,\n\t},\n\tgeometry: {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryXY),\n\t},\n\t'geometry:tuple': {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryTuple),\n\t},\n\tinterval: {\n\t\tcastArray: castToTextArr,\n\t},\n\t// driver handles objects, other types need to be stringified\n\tjson: {\n\t\tnormalizeParam: (v) => typeof v === 'object' && !Array.isArray(v) ? v : JSON.stringify(v),\n\t},\n\tjsonb: {\n\t\tnormalizeParam: (v) => typeof v === 'object' && !Array.isArray(v) ? v : JSON.stringify(v),\n\t},\n\tline: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t'line:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\tmacaddr8: {\n\t\tcastArrayInJson: castToTextArr,\n\t\tcastArray: castToTextArr,\n\t},\n\tpoint: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t'point:tuple': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\tsparsevec: {\n\t\tnormalizeArray: parsePgArray,\n\t},\n});\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\thttpClient: NeonHttpClient,\n\tpool: Pool,\n\tconfig: DrizzleNetlifyConfig<TRelations> = {},\n): NetlifyDbDatabase<TRelations> & {\n\t$client: NetlifyDbClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tcodecs: config.codecs ?? netlifyDbCodecs,\n\t\tuseJitMappers: config.useJitMappers,\n\t});\n\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\tconst relations = config.relations ?? {} as TRelations;\n\n\tconst session = new NetlifyDbSession(httpClient, pool, dialect, relations ?? {}, {\n\t\tlogger: logger,\n\t\tcache: config.cache,\n\t\ttransactionCodecs: config.transactionCodecs ?? netlifyDbTransactionCodecs,\n\t});\n\n\ttypes.setTypeParser(types.builtins.TIMESTAMPTZ, (val) => val);\n\ttypes.setTypeParser(types.builtins.TIMESTAMP, (val) => val);\n\ttypes.setTypeParser(types.builtins.DATE, (val) => val);\n\ttypes.setTypeParser(types.builtins.INTERVAL, (val) => val);\n\ttypes.setTypeParser(1231, (val) => val);\n\ttypes.setTypeParser(1115, (val) => val);\n\ttypes.setTypeParser(1185, (val) => val);\n\ttypes.setTypeParser(1187, (val) => val);\n\ttypes.setTypeParser(1182, (val) => val);\n\n\tconst db = new NetlifyDbDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t);\n\t(<any> db).$client = { http: httpClient, pool } satisfies NetlifyDbClient;\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>():\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations>,\n):\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations> & { client: ServerlessDrizzleClient },\n): NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient };\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations> & { client: ServerDrizzleClient },\n): NodePgDatabase<TRelations> & { $client: NodePgClient };\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations> & { client: DrizzleClient },\n):\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleNetlifyConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleNetlifyConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | { connectionString: string };\n\t\t\t} | {\n\t\t\t\tclient: NetlifyDbClient | DrizzleClient;\n\t\t\t})\n\t\t),\n\t]\n): NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient };\n\nexport function drizzle<TRelations extends AnyRelations = EmptyRelations>(\n\t...params: [] | [\n\t\tDrizzleNetlifyConfig<TRelations>,\n\t] | [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleNetlifyConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleNetlifyConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | { connectionString: string };\n\t\t\t} | {\n\t\t\t\tclient: NetlifyDbClient | DrizzleClient;\n\t\t\t})\n\t\t),\n\t]\n):\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient })\n{\n\t// Zero-config: read env vars\n\tif (\n\t\tparams.length === 0\n\t\t|| (params.length === 1 && isConfig(params[0]) && !('connection' in (params[0] as any))\n\t\t\t&& !('client' in (params[0] as any)))\n\t) {\n\t\tconst drizzleConfig = (params[0] ?? {}) as DrizzleNetlifyConfig<TRelations>;\n\t\tconst connectionString = process.env['NETLIFY_DB_URL'];\n\n\t\tif (!connectionString) {\n\t\t\tthrow new Error(\n\t\t\t\t'NETLIFY_DB_URL environment variable is not set. '\n\t\t\t\t\t+ 'Provide a connection string or client to drizzle().',\n\t\t\t);\n\t\t}\n\n\t\tconst driver = process.env['NETLIFY_DB_DRIVER'];\n\n\t\tif (driver === 'server') {\n\t\t\treturn drizzleNodePg({ connection: connectionString, ...drizzleConfig }) as any;\n\t\t}\n\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\t\treturn construct(httpClient, pool, drizzleConfig) as any;\n\t}\n\n\tif (typeof params[0] === 'string') {\n\t\tconst connectionString = params[0];\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\t\treturn construct(httpClient, pool, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as {\n\t\t\tconnection?: { connectionString: string } | string;\n\t\t\tclient?: NetlifyDbClient | DrizzleClient;\n\t\t} & DrizzleNetlifyConfig<TRelations>;\n\n\t\tif (client) {\n\t\t\tif ('driver' in client) {\n\t\t\t\tif (client.driver === 'serverless') {\n\t\t\t\t\treturn construct(client.httpClient, client.pool, drizzleConfig);\n\t\t\t\t}\n\t\t\t\treturn drizzleNodePg({ client: client.pool, ...drizzleConfig }) as any;\n\t\t\t}\n\t\t\treturn construct(client.http, client.pool, drizzleConfig);\n\t\t}\n\n\t\tconst connectionString = typeof connection === 'string' ? connection : connection!.connectionString;\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\n\t\treturn construct(httpClient, pool, drizzleConfig) as any;\n\t}\n\n\tthrow new Error('Invalid arguments. Expected a connection string or a config object.');\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleNetlifyConfig<TRelations>,\n\t): NetlifyDbDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, {} as any, config) as any;\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"driver.js","names":["drizzleNodePg"],"sources":["../../src/netlify-db/driver.ts"],"sourcesContent":["import { type HTTPQueryOptions, neon, Pool, types } from '@neondatabase/serverless';\nimport type { BatchItem, BatchResponse } from '~/batch.ts';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport type { NeonHttpClient, NeonHttpQueryResultHKT } from '~/neon-http/session.ts';\nimport { drizzle as drizzleNodePg, type NodePgDatabase } from '~/node-postgres/driver.ts';\nimport type { NodePgClient } from '~/node-postgres/session.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport type { PgCodecs } from '~/pg-core/codecs.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { isConfig, jitCompatCheck } from '~/utils.ts';\nimport { netlifyDbCodecs, netlifyDbTransactionCodecs } from './codecs.ts';\nimport { type NetlifyDbClient, NetlifyDbSession } from './session.ts';\n\nexport interface ServerlessDrizzleClient {\n\tdriver: 'serverless';\n\thttpClient: NeonHttpClient;\n\tpool: Pool;\n\tconnectionString: string;\n}\n\nexport interface ServerDrizzleClient {\n\tdriver: 'server';\n\tpool: NodePgClient;\n\tconnectionString: string;\n}\n\nexport type DrizzleClient = ServerlessDrizzleClient | ServerDrizzleClient;\n\nexport interface DrizzleNetlifyConfig<TRelations extends AnyRelations = EmptyRelations>\n\textends DrizzlePgConfig<TRelations>\n{\n\t/** Netlify utilizes different driver for transactions, thus requiring separate set of codecs */\n\ttransactionCodecs?: PgCodecs | undefined;\n}\n\nexport class NetlifyDbDatabase<\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<NeonHttpQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'NetlifyDbDatabase';\n\n\tdeclare session: NetlifyDbSession<TRelations>;\n\n\t$withAuth(\n\t\ttoken: Exclude<HTTPQueryOptions<true, true>['authToken'], undefined>,\n\t): Omit<this, '$withAuth'> {\n\t\tconst session = new NetlifyDbSession(this.session.httpClient, this.session.pool, this.dialect, this._.relations, {\n\t\t\t...this.session.options,\n\t\t\tauthToken: token,\n\t\t});\n\n\t\treturn new NetlifyDbDatabase(this.dialect, session, this._.relations) as any;\n\t}\n\n\tasync batch<U extends BatchItem<'pg'>, T extends Readonly<[U, ...U[]]>>(\n\t\tbatch: T,\n\t): Promise<BatchResponse<T>> {\n\t\treturn this.session.batch(\n\t\t\tbatch,\n\t\t) as Promise<BatchResponse<T>>;\n\t}\n}\n\nfunction construct<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\thttpClient: NeonHttpClient,\n\tpool: Pool,\n\tconfig: DrizzleNetlifyConfig<TRelations> = {},\n): NetlifyDbDatabase<TRelations> & {\n\t$client: NetlifyDbClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tcodecs: config.codecs ?? netlifyDbCodecs,\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t});\n\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\tconst relations = config.relations ?? {} as TRelations;\n\n\tconst session = new NetlifyDbSession(httpClient, pool, dialect, relations ?? {}, {\n\t\tlogger: logger,\n\t\tcache: config.cache,\n\t\ttransactionCodecs: config.transactionCodecs ?? netlifyDbTransactionCodecs,\n\t});\n\n\ttypes.setTypeParser(types.builtins.TIMESTAMPTZ, (val) => val);\n\ttypes.setTypeParser(types.builtins.TIMESTAMP, (val) => val);\n\ttypes.setTypeParser(types.builtins.DATE, (val) => val);\n\ttypes.setTypeParser(types.builtins.INTERVAL, (val) => val);\n\ttypes.setTypeParser(1231, (val) => val);\n\ttypes.setTypeParser(1115, (val) => val);\n\ttypes.setTypeParser(1185, (val) => val);\n\ttypes.setTypeParser(1187, (val) => val);\n\ttypes.setTypeParser(1182, (val) => val);\n\n\tconst db = new NetlifyDbDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t);\n\t(<any> db).$client = { http: httpClient, pool } satisfies NetlifyDbClient;\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>():\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations>,\n):\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations> & { client: ServerlessDrizzleClient },\n): NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient };\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations> & { client: ServerDrizzleClient },\n): NodePgDatabase<TRelations> & { $client: NodePgClient };\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tconfig: DrizzleNetlifyConfig<TRelations> & { client: DrizzleClient },\n):\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient });\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleNetlifyConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleNetlifyConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | { connectionString: string };\n\t\t\t} | {\n\t\t\t\tclient: NetlifyDbClient | DrizzleClient;\n\t\t\t})\n\t\t),\n\t]\n): NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient };\n\nexport function drizzle<TRelations extends AnyRelations = EmptyRelations>(\n\t...params: [] | [\n\t\tDrizzleNetlifyConfig<TRelations>,\n\t] | [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleNetlifyConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleNetlifyConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | { connectionString: string };\n\t\t\t} | {\n\t\t\t\tclient: NetlifyDbClient | DrizzleClient;\n\t\t\t})\n\t\t),\n\t]\n):\n\t| (NetlifyDbDatabase<TRelations> & { $client: NetlifyDbClient })\n\t| (NodePgDatabase<TRelations> & { $client: NodePgClient })\n{\n\t// Zero-config: read env vars\n\tif (\n\t\tparams.length === 0\n\t\t|| (params.length === 1 && isConfig(params[0]) && !('connection' in (params[0] as any))\n\t\t\t&& !('client' in (params[0] as any)))\n\t) {\n\t\tconst drizzleConfig = (params[0] ?? {}) as DrizzleNetlifyConfig<TRelations>;\n\t\tconst connectionString = process.env['NETLIFY_DB_URL'];\n\n\t\tif (!connectionString) {\n\t\t\tthrow new Error(\n\t\t\t\t'NETLIFY_DB_URL environment variable is not set. '\n\t\t\t\t\t+ 'Provide a connection string or client to drizzle().',\n\t\t\t);\n\t\t}\n\n\t\tconst driver = process.env['NETLIFY_DB_DRIVER'];\n\n\t\tif (driver === 'server') {\n\t\t\treturn drizzleNodePg({ connection: connectionString, ...drizzleConfig }) as any;\n\t\t}\n\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\t\treturn construct(httpClient, pool, drizzleConfig) as any;\n\t}\n\n\tif (typeof params[0] === 'string') {\n\t\tconst connectionString = params[0];\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\t\treturn construct(httpClient, pool, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as {\n\t\t\tconnection?: { connectionString: string } | string;\n\t\t\tclient?: NetlifyDbClient | DrizzleClient;\n\t\t} & DrizzleNetlifyConfig<TRelations>;\n\n\t\tif (client) {\n\t\t\tif ('driver' in client) {\n\t\t\t\tif (client.driver === 'serverless') {\n\t\t\t\t\treturn construct(client.httpClient, client.pool, drizzleConfig);\n\t\t\t\t}\n\t\t\t\treturn drizzleNodePg({ client: client.pool, ...drizzleConfig }) as any;\n\t\t\t}\n\t\t\treturn construct(client.http, client.pool, drizzleConfig);\n\t\t}\n\n\t\tconst connectionString = typeof connection === 'string' ? connection : connection!.connectionString;\n\t\tconst httpClient = neon(connectionString);\n\t\tconst pool = new Pool({ connectionString });\n\n\t\treturn construct(httpClient, pool, drizzleConfig) as any;\n\t}\n\n\tthrow new Error('Invalid arguments. Expected a connection string or a config object.');\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleNetlifyConfig<TRelations>,\n\t): NetlifyDbDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, {} as any, config) as any;\n\t}\n}\n"],"mappings":"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"}
|
package/netlify-db/index.cjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_netlify_db_codecs = require('./codecs.cjs');
|
|
2
3
|
const require_netlify_db_session = require('./session.cjs');
|
|
3
4
|
const require_netlify_db_driver = require('./driver.cjs');
|
|
4
5
|
|
|
@@ -12,5 +13,5 @@ Object.defineProperty(exports, 'drizzle', {
|
|
|
12
13
|
return require_netlify_db_driver.drizzle;
|
|
13
14
|
}
|
|
14
15
|
});
|
|
15
|
-
exports.netlifyDbCodecs =
|
|
16
|
-
exports.netlifyDbTransactionCodecs =
|
|
16
|
+
exports.netlifyDbCodecs = require_netlify_db_codecs.netlifyDbCodecs;
|
|
17
|
+
exports.netlifyDbTransactionCodecs = require_netlify_db_codecs.netlifyDbTransactionCodecs;
|
package/netlify-db/index.d.cts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { netlifyDbCodecs, netlifyDbTransactionCodecs } from "./codecs.cjs";
|
|
1
2
|
import { NetlifyDbClient, NetlifyDbSession, NetlifyDbSessionOptions, NetlifyDbTransaction, NetlifyDbWsSession } from "./session.cjs";
|
|
2
|
-
import { DrizzleClient, DrizzleNetlifyConfig, NetlifyDbDatabase, ServerDrizzleClient, ServerlessDrizzleClient, drizzle
|
|
3
|
+
import { DrizzleClient, DrizzleNetlifyConfig, NetlifyDbDatabase, ServerDrizzleClient, ServerlessDrizzleClient, drizzle } from "./driver.cjs";
|
|
3
4
|
export { DrizzleClient, DrizzleNetlifyConfig, NetlifyDbClient, NetlifyDbDatabase, NetlifyDbSession, NetlifyDbSessionOptions, NetlifyDbTransaction, NetlifyDbWsSession, ServerDrizzleClient, ServerlessDrizzleClient, drizzle, netlifyDbCodecs, netlifyDbTransactionCodecs };
|
package/netlify-db/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { netlifyDbCodecs, netlifyDbTransactionCodecs } from "./codecs.js";
|
|
1
2
|
import { NetlifyDbClient, NetlifyDbSession, NetlifyDbSessionOptions, NetlifyDbTransaction, NetlifyDbWsSession } from "./session.js";
|
|
2
|
-
import { DrizzleClient, DrizzleNetlifyConfig, NetlifyDbDatabase, ServerDrizzleClient, ServerlessDrizzleClient, drizzle
|
|
3
|
+
import { DrizzleClient, DrizzleNetlifyConfig, NetlifyDbDatabase, ServerDrizzleClient, ServerlessDrizzleClient, drizzle } from "./driver.js";
|
|
3
4
|
export { DrizzleClient, DrizzleNetlifyConfig, NetlifyDbClient, NetlifyDbDatabase, NetlifyDbSession, NetlifyDbSessionOptions, NetlifyDbTransaction, NetlifyDbWsSession, ServerDrizzleClient, ServerlessDrizzleClient, drizzle, netlifyDbCodecs, netlifyDbTransactionCodecs };
|
package/netlify-db/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import { netlifyDbCodecs, netlifyDbTransactionCodecs } from "./codecs.js";
|
|
1
2
|
import { NetlifyDbSession, NetlifyDbTransaction, NetlifyDbWsSession } from "./session.js";
|
|
2
|
-
import { NetlifyDbDatabase, drizzle
|
|
3
|
+
import { NetlifyDbDatabase, drizzle } from "./driver.js";
|
|
3
4
|
|
|
4
5
|
export { NetlifyDbDatabase, NetlifyDbSession, NetlifyDbTransaction, NetlifyDbWsSession, drizzle, netlifyDbCodecs, netlifyDbTransactionCodecs };
|
package/netlify-db/session.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { entityKind } from "../entity.js";
|
|
2
2
|
import { Query } from "../sql/sql.js";
|
|
3
|
-
import { PgCodecs } from "../pg-core/codecs.js";
|
|
4
3
|
import { PgDialect } from "../pg-core/dialect.js";
|
|
4
|
+
import { PgCodecs } from "../pg-core/codecs.js";
|
|
5
5
|
import { PgAsyncPreparedQuery, PgAsyncSession, PgAsyncTransaction } from "../pg-core/async/session.js";
|
|
6
6
|
import { AnyRelations } from "../relations.js";
|
|
7
7
|
import { FullQueryResults, Pool, PoolClient } from "@neondatabase/serverless";
|
package/node-mssql/driver.cjs
CHANGED
|
@@ -3,6 +3,7 @@ const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
|
|
|
3
3
|
const require_node_mssql_pool = require('./pool.cjs');
|
|
4
4
|
const require_node_mssql_session = require('./session.cjs');
|
|
5
5
|
let __entity_ts = require("../entity.cjs");
|
|
6
|
+
let __utils_ts = require("../utils.cjs");
|
|
6
7
|
let __logger_ts = require("../logger.cjs");
|
|
7
8
|
let ___relations_ts = require("../_relations.cjs");
|
|
8
9
|
___relations_ts = require_runtime.__toESM(___relations_ts);
|
|
@@ -20,7 +21,7 @@ var NodeMsSqlDriver = class {
|
|
|
20
21
|
createSession(schema) {
|
|
21
22
|
return new require_node_mssql_session.NodeMsSqlSession(this.client, this.dialect, schema, {
|
|
22
23
|
logger: this.options.logger,
|
|
23
|
-
|
|
24
|
+
useJitMappers: this.options.useJitMappers
|
|
24
25
|
});
|
|
25
26
|
}
|
|
26
27
|
};
|
|
@@ -41,7 +42,7 @@ function construct(client, config = {}) {
|
|
|
41
42
|
}
|
|
42
43
|
const db = new __mssql_core_db_ts.MsSqlDatabase(dialect, new NodeMsSqlDriver(client, dialect, {
|
|
43
44
|
logger,
|
|
44
|
-
|
|
45
|
+
useJitMappers: (0, __utils_ts.jitCompatCheck)(config.useJitMappers)
|
|
45
46
|
}).createSession(schema), schema);
|
|
46
47
|
db.$client = client;
|
|
47
48
|
return db;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.cjs","names":["entityKind","NodeMsSqlSession","MsSqlDialect","DefaultLogger","V1","MsSqlDatabase","AutoPool"],"sources":["../../src/node-mssql/driver.ts"],"sourcesContent":["import type mssql from 'mssql';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MsSqlDatabase } from '~/mssql-core/db.ts';\nimport { MsSqlDialect } from '~/mssql-core/dialect.ts';\nimport type
|
|
1
|
+
{"version":3,"file":"driver.cjs","names":["entityKind","NodeMsSqlSession","MsSqlDialect","DefaultLogger","V1","MsSqlDatabase","AutoPool"],"sources":["../../src/node-mssql/driver.ts"],"sourcesContent":["import type mssql from 'mssql';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MsSqlDatabase } from '~/mssql-core/db.ts';\nimport { MsSqlDialect } from '~/mssql-core/dialect.ts';\nimport { type DrizzleConfig, type Equal, jitCompatCheck } from '~/utils.ts';\nimport { AutoPool } from './pool.ts';\nimport type { NodeMsSqlClient, NodeMsSqlPreparedQueryHKT, NodeMsSqlQueryResultHKT } from './session.ts';\nimport { NodeMsSqlSession } from './session.ts';\n\nexport interface MsSqlDriverOptions {\n\tlogger?: Logger;\n\tuseJitMappers?: boolean;\n}\n\nexport class NodeMsSqlDriver {\n\tstatic readonly [entityKind]: string = 'NodeMsSqlDriver';\n\n\tconstructor(\n\t\tprivate client: NodeMsSqlClient,\n\t\tprivate dialect: MsSqlDialect,\n\t\tprivate options: MsSqlDriverOptions = {},\n\t) {\n\t}\n\n\tcreateSession(\n\t\tschema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined,\n\t): NodeMsSqlSession<Record<string, unknown>, V1.TablesRelationalConfig> {\n\t\treturn new NodeMsSqlSession(this.client, this.dialect, schema, {\n\t\t\tlogger: this.options.logger,\n\t\t\tuseJitMappers: this.options.useJitMappers,\n\t\t});\n\t}\n}\n\nexport { MsSqlDatabase } from '~/mssql-core/db.ts';\n\nexport type NodeMsSqlDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> = MsSqlDatabase<NodeMsSqlQueryResultHKT, NodeMsSqlPreparedQueryHKT, TSchema>;\n\nexport type NodeMsSqlDrizzleConfig<TSchema extends Record<string, unknown> = Record<string, never>> =\n\t& Omit<DrizzleConfig<TSchema>, 'schema'>\n\t& ({ schema: TSchema } | { schema?: undefined });\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends NodeMsSqlClient = NodeMsSqlClient,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema> = {},\n): NodeMsSqlDatabase<TSchema> & {\n\t$client: Equal<TClient, NodeMsSqlClient> extends true ? AutoPool : TClient;\n} {\n\tconst dialect = new MsSqlDialect();\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\tif (isCallbackClient(client)) {\n\t\tclient = client.promise() as any;\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 driver = new NodeMsSqlDriver(client as NodeMsSqlClient, dialect, {\n\t\tlogger,\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t});\n\tconst session = driver.createSession(schema);\n\tconst db = new MsSqlDatabase(dialect, session, schema) as NodeMsSqlDatabase<TSchema>;\n\t(<any> db).$client = client;\n\n\treturn db as any;\n}\n\nexport function getMsSqlConnectionParams(connectionString: string): mssql.config | string {\n\ttry {\n\t\tconst url = new URL(connectionString);\n\t\treturn {\n\t\t\tuser: url.username,\n\t\t\tpassword: url.password,\n\t\t\tserver: url.hostname,\n\t\t\tport: Number.parseInt(url.port, 10),\n\t\t\tdatabase: url.pathname.replace(/^\\//, ''),\n\t\t\toptions: {\n\t\t\t\tencrypt: url.searchParams.get('encrypt') === 'true',\n\t\t\t\ttrustServerCertificate: url.searchParams.get('trustServerCertificate') === 'true',\n\t\t\t},\n\t\t};\n\t} catch {\n\t\treturn connectionString;\n\t}\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTClient extends NodeMsSqlClient = AutoPool,\n>(\n\t...params:\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzleConfig<TSchema>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzleConfig<TSchema>\n\t\t\t\t& ({\n\t\t\t\t\tconnection: 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): NodeMsSqlDatabase<TSchema> & {\n\t$client: Equal<TClient, NodeMsSqlClient> extends true ? AutoPool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new AutoPool(getMsSqlConnectionParams(params[0]));\n\n\t\treturn construct(instance, params[1] as DrizzleConfig<TSchema> | undefined) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as (\n\t\t& ({ connection?: mssql.config | string; client?: TClient })\n\t\t& DrizzleConfig<TSchema>\n\t);\n\n\tif (client) return construct(client, drizzleConfig);\n\n\tconst instance = typeof connection === 'string'\n\t\t? new AutoPool(getMsSqlConnectionParams(connection))\n\t\t: new AutoPool(connection!);\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\ninterface CallbackClient {\n\tpromise(): NodeMsSqlClient;\n}\n\nfunction isCallbackClient(client: any): client is CallbackClient {\n\treturn typeof client.promise === 'function';\n}\n\nexport namespace drizzle {\n\texport function mock<TSchema extends Record<string, unknown> = Record<string, never>>(\n\t\tconfig?: DrizzleConfig<TSchema>,\n\t): NodeMsSqlDatabase<TSchema> & {\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":";;;;;;;;;;;;;AAiBA,IAAa,kBAAb,MAA6B;CAC5B,QAAiBA,0BAAsB;CAEvC,YACC,AAAQ,QACR,AAAQ,SACR,AAAQ,UAA8B,EAAE,EACvC;EAHO;EACA;EACA;;CAIT,cACC,QACuE;AACvE,SAAO,IAAIC,4CAAiB,KAAK,QAAQ,KAAK,SAAS,QAAQ;GAC9D,QAAQ,KAAK,QAAQ;GACrB,eAAe,KAAK,QAAQ;GAC5B,CAAC;;;AAcJ,SAAS,UAIR,QACA,SAAiC,EAAE,EAGlC;CACD,MAAM,UAAU,IAAIC,sCAAc;CAClC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;AAEjB,KAAI,iBAAiB,OAAO,CAC3B,UAAS,OAAO,SAAS;CAG1B,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;;CAQF,MAAM,KAAK,IAAIC,iCAAc,SALd,IAAI,gBAAgB,QAA2B,SAAS;EACtE;EACA,8CAA8B,OAAO,cAAc;EACnD,CAAC,CACqB,cAAc,OAAO,EACG,OAAO;AACtD,CAAO,GAAI,UAAU;AAErB,QAAO;;AAGR,SAAgB,yBAAyB,kBAAiD;AACzF,KAAI;EACH,MAAM,MAAM,IAAI,IAAI,iBAAiB;AACrC,SAAO;GACN,MAAM,IAAI;GACV,UAAU,IAAI;GACd,QAAQ,IAAI;GACZ,MAAM,OAAO,SAAS,IAAI,MAAM,GAAG;GACnC,UAAU,IAAI,SAAS,QAAQ,OAAO,GAAG;GACzC,SAAS;IACR,SAAS,IAAI,aAAa,IAAI,UAAU,KAAK;IAC7C,wBAAwB,IAAI,aAAa,IAAI,yBAAyB,KAAK;IAC3E;GACD;SACM;AACP,SAAO;;;AAIT,SAAgB,QAIf,GAAG,QAoBF;AACD,KAAI,OAAO,OAAO,OAAO,SAGxB,QAAO,UAFU,IAAIC,iCAAS,yBAAyB,OAAO,GAAG,CAAC,EAEvC,OAAO,GAAyC;CAG5E,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAKxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAMnD,QAAO,UAJU,OAAO,eAAe,WACpC,IAAIA,iCAAS,yBAAyB,WAAW,CAAC,GAClD,IAAIA,iCAAS,WAAY,EAED,cAAc;;AAO1C,SAAS,iBAAiB,QAAuC;AAChE,QAAO,OAAO,OAAO,YAAY;;;CAI1B,SAAS,KACf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
|
package/node-mssql/driver.d.cts
CHANGED
|
@@ -11,7 +11,7 @@ import { MsSqlDatabase, MsSqlDatabase as MsSqlDatabase$1 } from "../mssql-core/d
|
|
|
11
11
|
//#region src/node-mssql/driver.d.ts
|
|
12
12
|
interface MsSqlDriverOptions {
|
|
13
13
|
logger?: Logger;
|
|
14
|
-
|
|
14
|
+
useJitMappers?: boolean;
|
|
15
15
|
}
|
|
16
16
|
declare class NodeMsSqlDriver {
|
|
17
17
|
private client;
|
package/node-mssql/driver.d.ts
CHANGED