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/pglite/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_pglite_codecs = require('./codecs.cjs');
|
|
3
4
|
const require_pglite_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 _electric_sql_pglite = require("@electric-sql/pglite");
|
|
12
11
|
|
|
@@ -14,91 +13,10 @@ let _electric_sql_pglite = require("@electric-sql/pglite");
|
|
|
14
13
|
var PgliteDatabase = class extends __pg_core_async_db_ts.PgAsyncDatabase {
|
|
15
14
|
static [__entity_ts.entityKind] = "PgliteDatabase";
|
|
16
15
|
};
|
|
17
|
-
const pgliteCodecs = (0, __pg_core_codecs_ts.refineGenericPgCodecs)({
|
|
18
|
-
bigint: {
|
|
19
|
-
cast: __pg_core_codecs_ts.castToText,
|
|
20
|
-
castArray: __pg_core_codecs_ts.castToTextArr,
|
|
21
|
-
normalize: BigInt,
|
|
22
|
-
normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(BigInt)
|
|
23
|
-
},
|
|
24
|
-
"bigint:string": {
|
|
25
|
-
cast: __pg_core_codecs_ts.castToText,
|
|
26
|
-
castArray: __pg_core_codecs_ts.castToTextArr
|
|
27
|
-
},
|
|
28
|
-
"bigint:number": {
|
|
29
|
-
cast: __pg_core_codecs_ts.castToText,
|
|
30
|
-
castArray: __pg_core_codecs_ts.castToTextArr
|
|
31
|
-
},
|
|
32
|
-
bigserial: {
|
|
33
|
-
normalize: BigInt,
|
|
34
|
-
normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(BigInt),
|
|
35
|
-
cast: __pg_core_codecs_ts.castToText,
|
|
36
|
-
castArray: __pg_core_codecs_ts.castToTextArr
|
|
37
|
-
},
|
|
38
|
-
"bigserial:number": {
|
|
39
|
-
cast: __pg_core_codecs_ts.castToText,
|
|
40
|
-
castArray: __pg_core_codecs_ts.castToTextArr
|
|
41
|
-
},
|
|
42
|
-
bytea: {
|
|
43
|
-
normalizeInJson: typeof Buffer === "undefined" ? __utils_ts.base64ToUint8Array : __pg_core_codecs_ts.genericPgCodecs.bytea?.normalizeInJson,
|
|
44
|
-
normalizeArrayInJson: typeof Buffer === "undefined" ? (0, __pg_core_codecs_ts.arrayCompatNormalize)(__utils_ts.base64ToUint8Array) : __pg_core_codecs_ts.genericPgCodecs.bytea?.normalizeArrayInJson,
|
|
45
|
-
normalize: typeof Buffer === "undefined" ? void 0 : (v) => Buffer.from(v),
|
|
46
|
-
normalizeArray: typeof Buffer === "undefined" ? void 0 : (0, __pg_core_codecs_ts.arrayCompatNormalize)((v) => Buffer.from(v))
|
|
47
|
-
},
|
|
48
|
-
interval: { castArray: __pg_core_codecs_ts.castToTextArr },
|
|
49
|
-
date: {
|
|
50
|
-
castArray: __pg_core_codecs_ts.castToTextArr,
|
|
51
|
-
normalize: __pg_core_codecs_ts.textToDate,
|
|
52
|
-
normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.textToDate)
|
|
53
|
-
},
|
|
54
|
-
"date:string": { castArray: __pg_core_codecs_ts.castToTextArr },
|
|
55
|
-
timestamp: {
|
|
56
|
-
castArray: __pg_core_codecs_ts.castToTextArr,
|
|
57
|
-
normalize: __pg_core_codecs_ts.textToDateWithTz,
|
|
58
|
-
normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.textToDateWithTz)
|
|
59
|
-
},
|
|
60
|
-
timestamptz: {
|
|
61
|
-
castArray: __pg_core_codecs_ts.castToTextArr,
|
|
62
|
-
normalize: __pg_core_codecs_ts.textToDate,
|
|
63
|
-
normalizeArray: (0, __pg_core_codecs_ts.arrayCompatNormalize)(__pg_core_codecs_ts.textToDate)
|
|
64
|
-
},
|
|
65
|
-
"timestamp:string": { castArray: __pg_core_codecs_ts.castToTextArr },
|
|
66
|
-
"timestamptz:string": { castArray: __pg_core_codecs_ts.castToTextArr },
|
|
67
|
-
json: { normalizeParam: (v) => typeof v === "object" ? v : JSON.stringify(v) },
|
|
68
|
-
jsonb: { normalizeParam: (v) => typeof v === "object" ? v : JSON.stringify(v) },
|
|
69
|
-
geometry: {
|
|
70
|
-
normalizeArray: (0, __pg_core_codecs_ts.parsePgArrayAndNormalize)(__pg_core_codecs_ts.parseGeometryXY),
|
|
71
|
-
castParam: (name) => `${name}::geometry`,
|
|
72
|
-
castArrayParam: (name, dimensions) => `${name}::geometry${"[]".repeat(dimensions)}`,
|
|
73
|
-
normalizeParamArray: __pg_core_array_ts.makePgArray
|
|
74
|
-
},
|
|
75
|
-
"geometry:tuple": {
|
|
76
|
-
normalizeArray: (0, __pg_core_codecs_ts.parsePgArrayAndNormalize)(__pg_core_codecs_ts.parseGeometryTuple),
|
|
77
|
-
castParam: (name) => `${name}::geometry`,
|
|
78
|
-
castArrayParam: (name, dimensions) => `${name}::geometry${"[]".repeat(dimensions)}`,
|
|
79
|
-
normalizeParamArray: __pg_core_array_ts.makePgArray
|
|
80
|
-
},
|
|
81
|
-
halfvec: {
|
|
82
|
-
castParam: (name) => `${name}::halfvec`,
|
|
83
|
-
castArrayParam: (name, dimensions) => `${name}::halfvec${"[]".repeat(dimensions)}`,
|
|
84
|
-
normalizeParamArray: __pg_core_array_ts.makePgArray
|
|
85
|
-
},
|
|
86
|
-
vector: {
|
|
87
|
-
castParam: (name) => `${name}::vector`,
|
|
88
|
-
castArrayParam: (name, dimensions) => `${name}::vector${"[]".repeat(dimensions)}`,
|
|
89
|
-
normalizeParamArray: __pg_core_array_ts.makePgArray
|
|
90
|
-
},
|
|
91
|
-
sparsevec: {
|
|
92
|
-
normalizeArray: __pg_core_array_ts.parsePgArray,
|
|
93
|
-
castParam: (name) => `${name}::sparsevec`,
|
|
94
|
-
castArrayParam: (name, dimensions) => `${name}::sparsevec${"[]".repeat(dimensions)}`,
|
|
95
|
-
normalizeParamArray: __pg_core_array_ts.makePgArray
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
16
|
function construct(client, config = {}) {
|
|
99
17
|
const dialect = new __pg_core_dialect_ts.PgDialect({
|
|
100
|
-
useJitMappers: config.useJitMappers,
|
|
101
|
-
codecs: config.codecs ?? pgliteCodecs
|
|
18
|
+
useJitMappers: (0, __utils_ts.jitCompatCheck)(config.useJitMappers),
|
|
19
|
+
codecs: config.codecs ?? require_pglite_codecs.pgliteCodecs
|
|
102
20
|
});
|
|
103
21
|
let logger;
|
|
104
22
|
if (config.logger === true) logger = new __logger_ts.DefaultLogger();
|
|
@@ -138,5 +56,4 @@ Object.defineProperty(exports, 'drizzle', {
|
|
|
138
56
|
return drizzle;
|
|
139
57
|
}
|
|
140
58
|
});
|
|
141
|
-
exports.pgliteCodecs = pgliteCodecs;
|
|
142
59
|
//# sourceMappingURL=driver.cjs.map
|
package/pglite/driver.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.cjs","names":["PgAsyncDatabase","entityKind","castToText","castToTextArr","base64ToUint8Array","genericPgCodecs","textToDate","textToDateWithTz","parseGeometryXY","makePgArray","parseGeometryTuple","parsePgArray","PgDialect","DefaultLogger","PgliteSession","PGlite"],"sources":["../../src/pglite/driver.ts"],"sourcesContent":["import { PGlite, type PGliteOptions } from '@electric-sql/pglite';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { makePgArray, parsePgArray } from '~/pg-core/array.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport {\n\tarrayCompatNormalize,\n\tcastToText,\n\tcastToTextArr,\n\tgenericPgCodecs,\n\tparseGeometryTuple,\n\tparseGeometryXY,\n\tparsePgArrayAndNormalize,\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 { base64ToUint8Array } from '~/utils.ts';\nimport type { PgliteClient, PgliteQueryResultHKT } from './session.ts';\nimport { PgliteSession } from './session.ts';\n\nexport class PgliteDatabase<\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<PgliteQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'PgliteDatabase';\n}\n\nexport const pgliteCodecs = refineGenericPgCodecs({\n\t// Otherwise outputs are inconsistent\n\tbigint: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t},\n\t// Otherwise outputs are inconsistent\n\t'bigint:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t// Otherwise outputs are inconsistent\n\t'bigint:number': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t// Otherwise outputs are inconsistent\n\tbigserial: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t// Otherwise outputs are inconsistent\n\t'bigserial:number': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\tbytea: {\n\t\tnormalizeInJson: typeof Buffer === 'undefined' ? base64ToUint8Array : genericPgCodecs.bytea?.normalizeInJson,\n\t\tnormalizeArrayInJson: typeof Buffer === 'undefined'\n\t\t\t? arrayCompatNormalize(base64ToUint8Array)\n\t\t\t: genericPgCodecs.bytea?.normalizeArrayInJson,\n\t\tnormalize: typeof Buffer === 'undefined'\n\t\t\t? undefined\n\t\t\t: (v: Uint8Array) => Buffer.from(v),\n\t\tnormalizeArray: typeof Buffer === 'undefined'\n\t\t\t? undefined\n\t\t\t: arrayCompatNormalize((v: Uint8Array) => Buffer.from(v)),\n\t},\n\tinterval: {\n\t\tcastArray: castToTextArr,\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\tjson: {\n\t\t// Driver handles objects, other types need to be stringified\n\t\tnormalizeParam: (v) => typeof v === 'object' ? v : JSON.stringify(v),\n\t},\n\tjsonb: {\n\t\t// Driver handles objects, other types need to be stringified\n\t\tnormalizeParam: (v) => typeof v === 'object' ? v : JSON.stringify(v),\n\t},\n\tgeometry: {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryXY),\n\t\tcastParam: (name) => `${name}::geometry`,\n\t\tcastArrayParam: (name, dimensions) => `${name}::geometry${'[]'.repeat(dimensions)}`,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'geometry:tuple': {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryTuple),\n\t\tcastParam: (name) => `${name}::geometry`,\n\t\tcastArrayParam: (name, dimensions) => `${name}::geometry${'[]'.repeat(dimensions)}`,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\thalfvec: {\n\t\tcastParam: (name) => `${name}::halfvec`,\n\t\tcastArrayParam: (name, dimensions) => `${name}::halfvec${'[]'.repeat(dimensions)}`,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tvector: {\n\t\tcastParam: (name) => `${name}::vector`,\n\t\tcastArrayParam: (name, dimensions) => `${name}::vector${'[]'.repeat(dimensions)}`,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tsparsevec: {\n\t\tnormalizeArray: parsePgArray,\n\t\tcastParam: (name) => `${name}::sparsevec`,\n\t\tcastArrayParam: (name, dimensions) => `${name}::sparsevec${'[]'.repeat(dimensions)}`,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n});\n\nfunction construct<TRelations extends AnyRelations = EmptyRelations>(\n\tclient: PgliteClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): PgliteDatabase<TRelations> & {\n\t$client: PgliteClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: config.useJitMappers,\n\t\tcodecs: config.codecs ?? pgliteCodecs,\n\t});\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new PgliteSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\tconst db = new PgliteDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t) as PgliteDatabase<TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\t// (<any> db).$cache = { invalidate: (<any> config).cache?.onMutate };\n\t// if (config.cache) {\n\t// \tfor (\n\t// \t\tconst key of Object.getOwnPropertyNames(Object.getPrototypeOf(config.cache)).filter((key) =>\n\t// \t\t\tkey !== 'constructor'\n\t// \t\t)\n\t// \t) {\n\t// \t\t(<any> db).$cache[key as keyof typeof config.cache] = (<any> config).cache[key];\n\t// \t}\n\t// }\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends PGlite = PGlite,\n>(\n\t...params:\n\t\t| []\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzlePgConfig<TRelations>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t\t& ({\n\t\t\t\t\tconnection?: (PGliteOptions & { dataDir?: string }) | 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): PgliteDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = new PGlite(params[0]);\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...DrizzlePgConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?: PGliteOptions & { dataDir: string };\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzlePgConfig<TRelations>;\n\n\tif (client) return construct(client, DrizzlePgConfig) as any;\n\n\tif (typeof connection === 'object') {\n\t\tconst { dataDir, ...options } = connection;\n\n\t\tconst instance = new PGlite(dataDir, options);\n\n\t\treturn construct(instance, DrizzlePgConfig) as any;\n\t}\n\n\tconst instance = new PGlite(connection);\n\n\treturn construct(instance, DrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): PgliteDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"driver.cjs","names":["PgAsyncDatabase","entityKind","PgDialect","pgliteCodecs","DefaultLogger","PgliteSession","PGlite"],"sources":["../../src/pglite/driver.ts"],"sourcesContent":["import { PGlite, type PGliteOptions } from '@electric-sql/pglite';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { jitCompatCheck } from '~/utils.ts';\nimport { pgliteCodecs } from './codecs.ts';\nimport type { PgliteClient, PgliteQueryResultHKT } from './session.ts';\nimport { PgliteSession } from './session.ts';\n\nexport class PgliteDatabase<\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<PgliteQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'PgliteDatabase';\n}\n\nfunction construct<TRelations extends AnyRelations = EmptyRelations>(\n\tclient: PgliteClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): PgliteDatabase<TRelations> & {\n\t$client: PgliteClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t\tcodecs: config.codecs ?? pgliteCodecs,\n\t});\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new PgliteSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\tconst db = new PgliteDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t) as PgliteDatabase<TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\t// (<any> db).$cache = { invalidate: (<any> config).cache?.onMutate };\n\t// if (config.cache) {\n\t// \tfor (\n\t// \t\tconst key of Object.getOwnPropertyNames(Object.getPrototypeOf(config.cache)).filter((key) =>\n\t// \t\t\tkey !== 'constructor'\n\t// \t\t)\n\t// \t) {\n\t// \t\t(<any> db).$cache[key as keyof typeof config.cache] = (<any> config).cache[key];\n\t// \t}\n\t// }\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends PGlite = PGlite,\n>(\n\t...params:\n\t\t| []\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzlePgConfig<TRelations>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t\t& ({\n\t\t\t\t\tconnection?: (PGliteOptions & { dataDir?: string }) | 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): PgliteDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = new PGlite(params[0]);\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...DrizzlePgConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?: PGliteOptions & { dataDir: string };\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzlePgConfig<TRelations>;\n\n\tif (client) return construct(client, DrizzlePgConfig) as any;\n\n\tif (typeof connection === 'object') {\n\t\tconst { dataDir, ...options } = connection;\n\n\t\tconst instance = new PGlite(dataDir, options);\n\n\t\treturn construct(instance, DrizzlePgConfig) as any;\n\t}\n\n\tconst instance = new PGlite(connection);\n\n\treturn construct(instance, DrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): PgliteDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;AAYA,IAAa,iBAAb,cAEUA,sCAAkD;CAC3D,QAA0BC,0BAAsB;;AAGjD,SAAS,UACR,QACA,SAAsC,EAAE,EAGvC;CACD,MAAM,UAAU,IAAIC,+BAAU;EAC7B,8CAA8B,OAAO,cAAc;EACnD,QAAQ,OAAO,UAAUC;EACzB,CAAC;CACF,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,MAAM,YAAY,OAAO,aAAa,EAAE;CAKxC,MAAM,KAAK,IAAI,eACd,SALe,IAAIC,qCAAc,QAAQ,SAAS,WAAW;EAC7D;EACA,OAAO,OAAO;EACd,CAAC,EAID,UACA;AACD,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAajD,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAqBF;AACD,KAAI,OAAO,OAAO,UAAa,OAAO,OAAO,OAAO,SAEnD,QAAO,UADU,IAAIC,4BAAO,OAAO,GAAG,EACX,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,oBAAoB,OAAO;AAO1D,KAAI,OAAQ,QAAO,UAAU,QAAQ,gBAAgB;AAErD,KAAI,OAAO,eAAe,UAAU;EACnC,MAAM,EAAE,SAAS,GAAG,YAAY;AAIhC,SAAO,UAFU,IAAIA,4BAAO,SAAS,QAAQ,EAElB,gBAAgB;;AAK5C,QAAO,UAFU,IAAIA,4BAAO,WAAW,EAEZ,gBAAgB;;;CAIpC,SAAS,KAGf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
|
package/pglite/driver.d.cts
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import { Codec } from "../codecs.cjs";
|
|
2
1
|
import { PgliteQueryResultHKT } 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 { PgAsyncDatabase } from "../pg-core/async/db.cjs";
|
|
8
5
|
import { DrizzlePgConfig } from "../pg-core/utils.cjs";
|
|
9
6
|
import { PGlite, PGliteOptions } from "@electric-sql/pglite";
|
|
@@ -12,7 +9,6 @@ import { PGlite, PGliteOptions } from "@electric-sql/pglite";
|
|
|
12
9
|
declare class PgliteDatabase<TRelations extends AnyRelations = EmptyRelations> extends PgAsyncDatabase<PgliteQueryResultHKT, TRelations> {
|
|
13
10
|
static readonly [entityKind]: string;
|
|
14
11
|
}
|
|
15
|
-
declare const pgliteCodecs: __utils_ts0.PartialWithUndefined<Record<__pg_core_codecs_ts0.PostgresType, Codec>>;
|
|
16
12
|
declare function drizzle<TRelations extends AnyRelations = EmptyRelations, TClient extends PGlite = PGlite>(...params: [] | [string] | [string, DrizzlePgConfig<TRelations>] | [(DrizzlePgConfig<TRelations> & ({
|
|
17
13
|
connection?: (PGliteOptions & {
|
|
18
14
|
dataDir?: string;
|
|
@@ -28,5 +24,5 @@ declare namespace drizzle {
|
|
|
28
24
|
};
|
|
29
25
|
}
|
|
30
26
|
//#endregion
|
|
31
|
-
export { PgliteDatabase, drizzle
|
|
27
|
+
export { PgliteDatabase, drizzle };
|
|
32
28
|
//# sourceMappingURL=driver.d.cts.map
|
package/pglite/driver.d.ts
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import { Codec } from "../codecs.js";
|
|
2
1
|
import { PgliteQueryResultHKT } 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 { AnyRelations, EmptyRelations } from "../relations.js";
|
|
8
5
|
import { PGlite, PGliteOptions } from "@electric-sql/pglite";
|
|
9
6
|
import { DrizzlePgConfig } from "../pg-core/utils.js";
|
|
@@ -12,7 +9,6 @@ import { DrizzlePgConfig } from "../pg-core/utils.js";
|
|
|
12
9
|
declare class PgliteDatabase<TRelations extends AnyRelations = EmptyRelations> extends PgAsyncDatabase<PgliteQueryResultHKT, TRelations> {
|
|
13
10
|
static readonly [entityKind]: string;
|
|
14
11
|
}
|
|
15
|
-
declare const pgliteCodecs: __utils_ts0.PartialWithUndefined<Record<__pg_core_codecs_ts0.PostgresType, Codec>>;
|
|
16
12
|
declare function drizzle<TRelations extends AnyRelations = EmptyRelations, TClient extends PGlite = PGlite>(...params: [] | [string] | [string, DrizzlePgConfig<TRelations>] | [(DrizzlePgConfig<TRelations> & ({
|
|
17
13
|
connection?: (PGliteOptions & {
|
|
18
14
|
dataDir?: string;
|
|
@@ -28,5 +24,5 @@ declare namespace drizzle {
|
|
|
28
24
|
};
|
|
29
25
|
}
|
|
30
26
|
//#endregion
|
|
31
|
-
export { PgliteDatabase, drizzle
|
|
27
|
+
export { PgliteDatabase, drizzle };
|
|
32
28
|
//# sourceMappingURL=driver.d.ts.map
|
package/pglite/driver.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
+
import { pgliteCodecs } from "./codecs.js";
|
|
1
2
|
import { PgliteSession } from "./session.js";
|
|
2
3
|
import { entityKind } from "../entity.js";
|
|
3
|
-
import {
|
|
4
|
+
import { jitCompatCheck } from "../utils.js";
|
|
4
5
|
import { DefaultLogger } from "../logger.js";
|
|
5
|
-
import { makePgArray, parsePgArray } from "../pg-core/array.js";
|
|
6
6
|
import { PgAsyncDatabase } from "../pg-core/async/db.js";
|
|
7
|
-
import { arrayCompatNormalize, castToText, castToTextArr, genericPgCodecs, parseGeometryTuple, parseGeometryXY, parsePgArrayAndNormalize, refineGenericPgCodecs, textToDate, textToDateWithTz } from "../pg-core/codecs.js";
|
|
8
7
|
import { PgDialect } from "../pg-core/dialect.js";
|
|
9
8
|
import { PGlite } from "@electric-sql/pglite";
|
|
10
9
|
|
|
@@ -12,90 +11,9 @@ import { PGlite } from "@electric-sql/pglite";
|
|
|
12
11
|
var PgliteDatabase = class extends PgAsyncDatabase {
|
|
13
12
|
static [entityKind] = "PgliteDatabase";
|
|
14
13
|
};
|
|
15
|
-
const pgliteCodecs = refineGenericPgCodecs({
|
|
16
|
-
bigint: {
|
|
17
|
-
cast: castToText,
|
|
18
|
-
castArray: castToTextArr,
|
|
19
|
-
normalize: BigInt,
|
|
20
|
-
normalizeArray: arrayCompatNormalize(BigInt)
|
|
21
|
-
},
|
|
22
|
-
"bigint:string": {
|
|
23
|
-
cast: castToText,
|
|
24
|
-
castArray: castToTextArr
|
|
25
|
-
},
|
|
26
|
-
"bigint:number": {
|
|
27
|
-
cast: castToText,
|
|
28
|
-
castArray: castToTextArr
|
|
29
|
-
},
|
|
30
|
-
bigserial: {
|
|
31
|
-
normalize: BigInt,
|
|
32
|
-
normalizeArray: arrayCompatNormalize(BigInt),
|
|
33
|
-
cast: castToText,
|
|
34
|
-
castArray: castToTextArr
|
|
35
|
-
},
|
|
36
|
-
"bigserial:number": {
|
|
37
|
-
cast: castToText,
|
|
38
|
-
castArray: castToTextArr
|
|
39
|
-
},
|
|
40
|
-
bytea: {
|
|
41
|
-
normalizeInJson: typeof Buffer === "undefined" ? base64ToUint8Array : genericPgCodecs.bytea?.normalizeInJson,
|
|
42
|
-
normalizeArrayInJson: typeof Buffer === "undefined" ? arrayCompatNormalize(base64ToUint8Array) : genericPgCodecs.bytea?.normalizeArrayInJson,
|
|
43
|
-
normalize: typeof Buffer === "undefined" ? void 0 : (v) => Buffer.from(v),
|
|
44
|
-
normalizeArray: typeof Buffer === "undefined" ? void 0 : arrayCompatNormalize((v) => Buffer.from(v))
|
|
45
|
-
},
|
|
46
|
-
interval: { castArray: castToTextArr },
|
|
47
|
-
date: {
|
|
48
|
-
castArray: castToTextArr,
|
|
49
|
-
normalize: textToDate,
|
|
50
|
-
normalizeArray: arrayCompatNormalize(textToDate)
|
|
51
|
-
},
|
|
52
|
-
"date:string": { castArray: castToTextArr },
|
|
53
|
-
timestamp: {
|
|
54
|
-
castArray: castToTextArr,
|
|
55
|
-
normalize: textToDateWithTz,
|
|
56
|
-
normalizeArray: arrayCompatNormalize(textToDateWithTz)
|
|
57
|
-
},
|
|
58
|
-
timestamptz: {
|
|
59
|
-
castArray: castToTextArr,
|
|
60
|
-
normalize: textToDate,
|
|
61
|
-
normalizeArray: arrayCompatNormalize(textToDate)
|
|
62
|
-
},
|
|
63
|
-
"timestamp:string": { castArray: castToTextArr },
|
|
64
|
-
"timestamptz:string": { castArray: castToTextArr },
|
|
65
|
-
json: { normalizeParam: (v) => typeof v === "object" ? v : JSON.stringify(v) },
|
|
66
|
-
jsonb: { normalizeParam: (v) => typeof v === "object" ? v : JSON.stringify(v) },
|
|
67
|
-
geometry: {
|
|
68
|
-
normalizeArray: parsePgArrayAndNormalize(parseGeometryXY),
|
|
69
|
-
castParam: (name) => `${name}::geometry`,
|
|
70
|
-
castArrayParam: (name, dimensions) => `${name}::geometry${"[]".repeat(dimensions)}`,
|
|
71
|
-
normalizeParamArray: makePgArray
|
|
72
|
-
},
|
|
73
|
-
"geometry:tuple": {
|
|
74
|
-
normalizeArray: parsePgArrayAndNormalize(parseGeometryTuple),
|
|
75
|
-
castParam: (name) => `${name}::geometry`,
|
|
76
|
-
castArrayParam: (name, dimensions) => `${name}::geometry${"[]".repeat(dimensions)}`,
|
|
77
|
-
normalizeParamArray: makePgArray
|
|
78
|
-
},
|
|
79
|
-
halfvec: {
|
|
80
|
-
castParam: (name) => `${name}::halfvec`,
|
|
81
|
-
castArrayParam: (name, dimensions) => `${name}::halfvec${"[]".repeat(dimensions)}`,
|
|
82
|
-
normalizeParamArray: makePgArray
|
|
83
|
-
},
|
|
84
|
-
vector: {
|
|
85
|
-
castParam: (name) => `${name}::vector`,
|
|
86
|
-
castArrayParam: (name, dimensions) => `${name}::vector${"[]".repeat(dimensions)}`,
|
|
87
|
-
normalizeParamArray: makePgArray
|
|
88
|
-
},
|
|
89
|
-
sparsevec: {
|
|
90
|
-
normalizeArray: parsePgArray,
|
|
91
|
-
castParam: (name) => `${name}::sparsevec`,
|
|
92
|
-
castArrayParam: (name, dimensions) => `${name}::sparsevec${"[]".repeat(dimensions)}`,
|
|
93
|
-
normalizeParamArray: makePgArray
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
14
|
function construct(client, config = {}) {
|
|
97
15
|
const dialect = new PgDialect({
|
|
98
|
-
useJitMappers: config.useJitMappers,
|
|
16
|
+
useJitMappers: jitCompatCheck(config.useJitMappers),
|
|
99
17
|
codecs: config.codecs ?? pgliteCodecs
|
|
100
18
|
});
|
|
101
19
|
let logger;
|
|
@@ -129,5 +47,5 @@ function drizzle(...params) {
|
|
|
129
47
|
})(drizzle || (drizzle = {}));
|
|
130
48
|
|
|
131
49
|
//#endregion
|
|
132
|
-
export { PgliteDatabase, drizzle
|
|
50
|
+
export { PgliteDatabase, drizzle };
|
|
133
51
|
//# sourceMappingURL=driver.js.map
|
package/pglite/driver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","names":[],"sources":["../../src/pglite/driver.ts"],"sourcesContent":["import { PGlite, type PGliteOptions } from '@electric-sql/pglite';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { makePgArray, parsePgArray } from '~/pg-core/array.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport {\n\tarrayCompatNormalize,\n\tcastToText,\n\tcastToTextArr,\n\tgenericPgCodecs,\n\tparseGeometryTuple,\n\tparseGeometryXY,\n\tparsePgArrayAndNormalize,\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 { base64ToUint8Array } from '~/utils.ts';\nimport type { PgliteClient, PgliteQueryResultHKT } from './session.ts';\nimport { PgliteSession } from './session.ts';\n\nexport class PgliteDatabase<\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<PgliteQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'PgliteDatabase';\n}\n\nexport const pgliteCodecs = refineGenericPgCodecs({\n\t// Otherwise outputs are inconsistent\n\tbigint: {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t},\n\t// Otherwise outputs are inconsistent\n\t'bigint:string': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t// Otherwise outputs are inconsistent\n\t'bigint:number': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t// Otherwise outputs are inconsistent\n\tbigserial: {\n\t\tnormalize: BigInt,\n\t\tnormalizeArray: arrayCompatNormalize(BigInt),\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\t// Otherwise outputs are inconsistent\n\t'bigserial:number': {\n\t\tcast: castToText,\n\t\tcastArray: castToTextArr,\n\t},\n\tbytea: {\n\t\tnormalizeInJson: typeof Buffer === 'undefined' ? base64ToUint8Array : genericPgCodecs.bytea?.normalizeInJson,\n\t\tnormalizeArrayInJson: typeof Buffer === 'undefined'\n\t\t\t? arrayCompatNormalize(base64ToUint8Array)\n\t\t\t: genericPgCodecs.bytea?.normalizeArrayInJson,\n\t\tnormalize: typeof Buffer === 'undefined'\n\t\t\t? undefined\n\t\t\t: (v: Uint8Array) => Buffer.from(v),\n\t\tnormalizeArray: typeof Buffer === 'undefined'\n\t\t\t? undefined\n\t\t\t: arrayCompatNormalize((v: Uint8Array) => Buffer.from(v)),\n\t},\n\tinterval: {\n\t\tcastArray: castToTextArr,\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\tjson: {\n\t\t// Driver handles objects, other types need to be stringified\n\t\tnormalizeParam: (v) => typeof v === 'object' ? v : JSON.stringify(v),\n\t},\n\tjsonb: {\n\t\t// Driver handles objects, other types need to be stringified\n\t\tnormalizeParam: (v) => typeof v === 'object' ? v : JSON.stringify(v),\n\t},\n\tgeometry: {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryXY),\n\t\tcastParam: (name) => `${name}::geometry`,\n\t\tcastArrayParam: (name, dimensions) => `${name}::geometry${'[]'.repeat(dimensions)}`,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\t'geometry:tuple': {\n\t\tnormalizeArray: parsePgArrayAndNormalize(parseGeometryTuple),\n\t\tcastParam: (name) => `${name}::geometry`,\n\t\tcastArrayParam: (name, dimensions) => `${name}::geometry${'[]'.repeat(dimensions)}`,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\thalfvec: {\n\t\tcastParam: (name) => `${name}::halfvec`,\n\t\tcastArrayParam: (name, dimensions) => `${name}::halfvec${'[]'.repeat(dimensions)}`,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tvector: {\n\t\tcastParam: (name) => `${name}::vector`,\n\t\tcastArrayParam: (name, dimensions) => `${name}::vector${'[]'.repeat(dimensions)}`,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n\tsparsevec: {\n\t\tnormalizeArray: parsePgArray,\n\t\tcastParam: (name) => `${name}::sparsevec`,\n\t\tcastArrayParam: (name, dimensions) => `${name}::sparsevec${'[]'.repeat(dimensions)}`,\n\t\tnormalizeParamArray: makePgArray,\n\t},\n});\n\nfunction construct<TRelations extends AnyRelations = EmptyRelations>(\n\tclient: PgliteClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): PgliteDatabase<TRelations> & {\n\t$client: PgliteClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: config.useJitMappers,\n\t\tcodecs: config.codecs ?? pgliteCodecs,\n\t});\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new PgliteSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\tconst db = new PgliteDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t) as PgliteDatabase<TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\t// (<any> db).$cache = { invalidate: (<any> config).cache?.onMutate };\n\t// if (config.cache) {\n\t// \tfor (\n\t// \t\tconst key of Object.getOwnPropertyNames(Object.getPrototypeOf(config.cache)).filter((key) =>\n\t// \t\t\tkey !== 'constructor'\n\t// \t\t)\n\t// \t) {\n\t// \t\t(<any> db).$cache[key as keyof typeof config.cache] = (<any> config).cache[key];\n\t// \t}\n\t// }\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends PGlite = PGlite,\n>(\n\t...params:\n\t\t| []\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzlePgConfig<TRelations>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t\t& ({\n\t\t\t\t\tconnection?: (PGliteOptions & { dataDir?: string }) | 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): PgliteDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = new PGlite(params[0]);\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...DrizzlePgConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?: PGliteOptions & { dataDir: string };\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzlePgConfig<TRelations>;\n\n\tif (client) return construct(client, DrizzlePgConfig) as any;\n\n\tif (typeof connection === 'object') {\n\t\tconst { dataDir, ...options } = connection;\n\n\t\tconst instance = new PGlite(dataDir, options);\n\n\t\treturn construct(instance, DrizzlePgConfig) as any;\n\t}\n\n\tconst instance = new PGlite(connection);\n\n\treturn construct(instance, DrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): PgliteDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"driver.js","names":[],"sources":["../../src/pglite/driver.ts"],"sourcesContent":["import { PGlite, type PGliteOptions } from '@electric-sql/pglite';\nimport { entityKind } from '~/entity.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { PgAsyncDatabase } from '~/pg-core/async/db.ts';\nimport { PgDialect } from '~/pg-core/dialect.ts';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { jitCompatCheck } from '~/utils.ts';\nimport { pgliteCodecs } from './codecs.ts';\nimport type { PgliteClient, PgliteQueryResultHKT } from './session.ts';\nimport { PgliteSession } from './session.ts';\n\nexport class PgliteDatabase<\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends PgAsyncDatabase<PgliteQueryResultHKT, TRelations> {\n\tstatic override readonly [entityKind]: string = 'PgliteDatabase';\n}\n\nfunction construct<TRelations extends AnyRelations = EmptyRelations>(\n\tclient: PgliteClient,\n\tconfig: DrizzlePgConfig<TRelations> = {},\n): PgliteDatabase<TRelations> & {\n\t$client: PgliteClient;\n} {\n\tconst dialect = new PgDialect({\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t\tcodecs: config.codecs ?? pgliteCodecs,\n\t});\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new PgliteSession(client, dialect, relations, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\tconst db = new PgliteDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t) as PgliteDatabase<TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\t// (<any> db).$cache = { invalidate: (<any> config).cache?.onMutate };\n\t// if (config.cache) {\n\t// \tfor (\n\t// \t\tconst key of Object.getOwnPropertyNames(Object.getPrototypeOf(config.cache)).filter((key) =>\n\t// \t\t\tkey !== 'constructor'\n\t// \t\t)\n\t// \t) {\n\t// \t\t(<any> db).$cache[key as keyof typeof config.cache] = (<any> config).cache[key];\n\t// \t}\n\t// }\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends PGlite = PGlite,\n>(\n\t...params:\n\t\t| []\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzlePgConfig<TRelations>,\n\t\t]\n\t\t| [\n\t\t\t(\n\t\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t\t& ({\n\t\t\t\t\tconnection?: (PGliteOptions & { dataDir?: string }) | 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): PgliteDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif (params[0] === undefined || typeof params[0] === 'string') {\n\t\tconst instance = new PGlite(params[0]);\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...DrizzlePgConfig } = params[0] as\n\t\t& {\n\t\t\tconnection?: PGliteOptions & { dataDir: string };\n\t\t\tclient?: TClient;\n\t\t}\n\t\t& DrizzlePgConfig<TRelations>;\n\n\tif (client) return construct(client, DrizzlePgConfig) as any;\n\n\tif (typeof connection === 'object') {\n\t\tconst { dataDir, ...options } = connection;\n\n\t\tconst instance = new PGlite(dataDir, options);\n\n\t\treturn construct(instance, DrizzlePgConfig) as any;\n\t}\n\n\tconst instance = new PGlite(connection);\n\n\treturn construct(instance, DrizzlePgConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): PgliteDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;AAYA,IAAa,iBAAb,cAEU,gBAAkD;CAC3D,QAA0B,cAAsB;;AAGjD,SAAS,UACR,QACA,SAAsC,EAAE,EAGvC;CACD,MAAM,UAAU,IAAI,UAAU;EAC7B,eAAe,eAAe,OAAO,cAAc;EACnD,QAAQ,OAAO,UAAU;EACzB,CAAC;CACF,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,MAAM,YAAY,OAAO,aAAa,EAAE;CAKxC,MAAM,KAAK,IAAI,eACd,SALe,IAAI,cAAc,QAAQ,SAAS,WAAW;EAC7D;EACA,OAAO,OAAO;EACd,CAAC,EAID,UACA;AACD,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAajD,QAAO;;AAGR,SAAgB,QAIf,GAAG,QAqBF;AACD,KAAI,OAAO,OAAO,UAAa,OAAO,OAAO,OAAO,SAEnD,QAAO,UADU,IAAI,OAAO,OAAO,GAAG,EACX,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,oBAAoB,OAAO;AAO1D,KAAI,OAAQ,QAAO,UAAU,QAAQ,gBAAgB;AAErD,KAAI,OAAO,eAAe,UAAU;EACnC,MAAM,EAAE,SAAS,GAAG,YAAY;AAIhC,SAAO,UAFU,IAAI,OAAO,SAAS,QAAQ,EAElB,gBAAgB;;AAK5C,QAAO,UAFU,IAAI,OAAO,WAAW,EAEZ,gBAAgB;;;CAIpC,SAAS,KAGf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
|
package/pglite/index.cjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_pglite_codecs = require('./codecs.cjs');
|
|
2
3
|
const require_pglite_session = require('./session.cjs');
|
|
3
4
|
const require_pglite_driver = require('./driver.cjs');
|
|
4
5
|
|
|
@@ -11,4 +12,4 @@ Object.defineProperty(exports, 'drizzle', {
|
|
|
11
12
|
return require_pglite_driver.drizzle;
|
|
12
13
|
}
|
|
13
14
|
});
|
|
14
|
-
exports.pgliteCodecs =
|
|
15
|
+
exports.pgliteCodecs = require_pglite_codecs.pgliteCodecs;
|
package/pglite/index.d.cts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { pgliteCodecs } from "./codecs.cjs";
|
|
1
2
|
import { PgliteClient, PgliteQueryResultHKT, PgliteSession, PgliteSessionOptions, PgliteTransaction } from "./session.cjs";
|
|
2
|
-
import { PgliteDatabase, drizzle
|
|
3
|
+
import { PgliteDatabase, drizzle } from "./driver.cjs";
|
|
3
4
|
export { PgliteClient, PgliteDatabase, PgliteQueryResultHKT, PgliteSession, PgliteSessionOptions, PgliteTransaction, drizzle, pgliteCodecs };
|
package/pglite/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { pgliteCodecs } from "./codecs.js";
|
|
1
2
|
import { PgliteClient, PgliteQueryResultHKT, PgliteSession, PgliteSessionOptions, PgliteTransaction } from "./session.js";
|
|
2
|
-
import { PgliteDatabase, drizzle
|
|
3
|
+
import { PgliteDatabase, drizzle } from "./driver.js";
|
|
3
4
|
export { PgliteClient, PgliteDatabase, PgliteQueryResultHKT, PgliteSession, PgliteSessionOptions, PgliteTransaction, drizzle, pgliteCodecs };
|
package/pglite/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import { pgliteCodecs } from "./codecs.js";
|
|
1
2
|
import { PgliteSession, PgliteTransaction } from "./session.js";
|
|
2
|
-
import { PgliteDatabase, drizzle
|
|
3
|
+
import { PgliteDatabase, drizzle } from "./driver.js";
|
|
3
4
|
|
|
4
5
|
export { PgliteDatabase, PgliteSession, PgliteTransaction, drizzle, pgliteCodecs };
|
|
@@ -2,6 +2,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
2
2
|
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
|
|
3
3
|
const require_planetscale_serverless_session = require('./session.cjs');
|
|
4
4
|
let __entity_ts = require("../entity.cjs");
|
|
5
|
+
let __utils_ts = require("../utils.cjs");
|
|
5
6
|
let __logger_ts = require("../logger.cjs");
|
|
6
7
|
let ___relations_ts = require("../_relations.cjs");
|
|
7
8
|
___relations_ts = require_runtime.__toESM(___relations_ts);
|
|
@@ -43,7 +44,7 @@ const db = drizzle({ client });
|
|
|
43
44
|
const db = new PlanetScaleDatabase(dialect, new require_planetscale_serverless_session.PlanetscaleSession(client, dialect, void 0, relations, schema, {
|
|
44
45
|
logger,
|
|
45
46
|
cache: config.cache,
|
|
46
|
-
|
|
47
|
+
useJitMappers: (0, __utils_ts.jitCompatCheck)(config.useJitMappers)
|
|
47
48
|
}), relations, schema, "planetscale");
|
|
48
49
|
db.$client = client;
|
|
49
50
|
db.$cache = config.cache;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.cjs","names":["MySqlDatabase","entityKind","Client","MySqlDialect","DefaultLogger","V1","PlanetscaleSession"],"sources":["../../src/planetscale-serverless/driver.ts"],"sourcesContent":["import type { Config } from '@planetscale/database';\nimport { Client } from '@planetscale/database';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport type
|
|
1
|
+
{"version":3,"file":"driver.cjs","names":["MySqlDatabase","entityKind","Client","MySqlDialect","DefaultLogger","V1","PlanetscaleSession"],"sources":["../../src/planetscale-serverless/driver.ts"],"sourcesContent":["import type { Config } from '@planetscale/database';\nimport { Client } from '@planetscale/database';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { type DrizzleConfig, jitCompatCheck } from '~/utils.ts';\nimport type { PlanetScalePreparedQueryHKT, PlanetscaleQueryResultHKT } from './session.ts';\nimport { PlanetscaleSession } from './session.ts';\n\nexport interface PlanetscaleSDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMappers?: boolean;\n}\n\nexport class PlanetScaleDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends MySqlDatabase<PlanetscaleQueryResultHKT, PlanetScalePreparedQueryHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'PlanetScaleDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends Client = Client,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): PlanetScaleDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\t// Client is not Drizzle Object, so we can ignore this rule here\n\t// oxlint-disable-next-line drizzle-internal/no-instanceof\n\tif (!(client instanceof Client)) {\n\t\tthrow new Error(`Warning: You need to pass an instance of Client:\n\nimport { Client } from \"@planetscale/database\";\n\nconst client = new Client({\n host: process.env[\"DATABASE_HOST\"],\n username: process.env[\"DATABASE_USERNAME\"],\n password: process.env[\"DATABASE_PASSWORD\"],\n});\n\nconst db = drizzle({ client });\n\t\t`);\n\t}\n\n\tconst dialect = new MySqlDialect();\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new PlanetscaleSession(client, dialect, undefined, relations, schema, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t});\n\tconst db = new PlanetScaleDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t\t'planetscale',\n\t) as PlanetScaleDatabase<TSchema, TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends Client = Client,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | Config;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): PlanetScaleDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new Client({\n\t\t\turl: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t& { connection?: Config | string; client?: TClient }\n\t\t& DrizzleConfig;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tconst instance = typeof connection === 'string'\n\t\t? new Client({\n\t\t\turl: connection,\n\t\t})\n\t\t: new Client(\n\t\t\tconnection!,\n\t\t);\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): PlanetScaleDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;AAmBA,IAAa,sBAAb,cAGUA,iCAA2F;CACpG,QAA0BC,0BAAsB;;AAGjD,SAAS,UAKR,QACA,SAA6C,EAAE,EAG9C;AAGD,KAAI,EAAE,kBAAkBC,8BACvB,OAAM,IAAI,MAAM;;;;;;;;;;;IAWd;CAGH,MAAM,UAAU,IAAIC,sCAAc;CAClC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAIC,2BAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,eAAeC,gBAAG,8BACvB,OAAO,QACPA,gBAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CAMxC,MAAM,KAAK,IAAI,oBACd,SANe,IAAIC,0DAAmB,QAAQ,SAAS,QAAW,WAAW,QAAQ;EACrF;EACA,OAAO,OAAO;EACd,8CAA8B,OAAO,cAAc;EACnD,CAAC,EAID,WACA,QACA,cACA;AACD,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAKf,GAAG,QAiBF;AACD,KAAI,OAAO,OAAO,OAAO,SAKxB,QAAO,UAJU,IAAIJ,6BAAO,EAC3B,KAAK,OAAO,IACZ,CAAC,EAEyB,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAIxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAUnD,QAAO,UARU,OAAO,eAAe,WACpC,IAAIA,6BAAO,EACZ,KAAK,YACL,CAAC,GACA,IAAIA,6BACL,WACA,EAEyB,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
|
|
@@ -10,7 +10,7 @@ import { Client, Config } from "@planetscale/database";
|
|
|
10
10
|
interface PlanetscaleSDriverOptions {
|
|
11
11
|
logger?: Logger;
|
|
12
12
|
cache?: Cache;
|
|
13
|
-
|
|
13
|
+
useJitMappers?: boolean;
|
|
14
14
|
}
|
|
15
15
|
declare class PlanetScaleDatabase<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations> extends MySqlDatabase<PlanetscaleQueryResultHKT, PlanetScalePreparedQueryHKT, TSchema, TRelations> {
|
|
16
16
|
static readonly [entityKind]: string;
|
|
@@ -10,7 +10,7 @@ import { Client, Config } from "@planetscale/database";
|
|
|
10
10
|
interface PlanetscaleSDriverOptions {
|
|
11
11
|
logger?: Logger;
|
|
12
12
|
cache?: Cache;
|
|
13
|
-
|
|
13
|
+
useJitMappers?: boolean;
|
|
14
14
|
}
|
|
15
15
|
declare class PlanetScaleDatabase<TSchema extends Record<string, unknown> = Record<string, never>, TRelations extends AnyRelations = EmptyRelations> extends MySqlDatabase<PlanetscaleQueryResultHKT, PlanetScalePreparedQueryHKT, TSchema, TRelations> {
|
|
16
16
|
static readonly [entityKind]: string;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { PlanetscaleSession } from "./session.js";
|
|
2
2
|
import { entityKind } from "../entity.js";
|
|
3
|
+
import { jitCompatCheck } from "../utils.js";
|
|
3
4
|
import { DefaultLogger } from "../logger.js";
|
|
4
5
|
import * as V1 from "../_relations.js";
|
|
5
6
|
import { MySqlDatabase } from "../mysql-core/db.js";
|
|
@@ -40,7 +41,7 @@ const db = drizzle({ client });
|
|
|
40
41
|
const db = new PlanetScaleDatabase(dialect, new PlanetscaleSession(client, dialect, void 0, relations, schema, {
|
|
41
42
|
logger,
|
|
42
43
|
cache: config.cache,
|
|
43
|
-
|
|
44
|
+
useJitMappers: jitCompatCheck(config.useJitMappers)
|
|
44
45
|
}), relations, schema, "planetscale");
|
|
45
46
|
db.$client = client;
|
|
46
47
|
db.$cache = config.cache;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","names":[],"sources":["../../src/planetscale-serverless/driver.ts"],"sourcesContent":["import type { Config } from '@planetscale/database';\nimport { Client } from '@planetscale/database';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport type
|
|
1
|
+
{"version":3,"file":"driver.js","names":[],"sources":["../../src/planetscale-serverless/driver.ts"],"sourcesContent":["import type { Config } from '@planetscale/database';\nimport { Client } from '@planetscale/database';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { type DrizzleConfig, jitCompatCheck } from '~/utils.ts';\nimport type { PlanetScalePreparedQueryHKT, PlanetscaleQueryResultHKT } from './session.ts';\nimport { PlanetscaleSession } from './session.ts';\n\nexport interface PlanetscaleSDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n\tuseJitMappers?: boolean;\n}\n\nexport class PlanetScaleDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends MySqlDatabase<PlanetscaleQueryResultHKT, PlanetScalePreparedQueryHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'PlanetScaleDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends Client = Client,\n>(\n\tclient: TClient,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): PlanetScaleDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\t// Client is not Drizzle Object, so we can ignore this rule here\n\t// oxlint-disable-next-line drizzle-internal/no-instanceof\n\tif (!(client instanceof Client)) {\n\t\tthrow new Error(`Warning: You need to pass an instance of Client:\n\nimport { Client } from \"@planetscale/database\";\n\nconst client = new Client({\n host: process.env[\"DATABASE_HOST\"],\n username: process.env[\"DATABASE_USERNAME\"],\n password: process.env[\"DATABASE_PASSWORD\"],\n});\n\nconst db = drizzle({ client });\n\t\t`);\n\t}\n\n\tconst dialect = new MySqlDialect();\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new PlanetscaleSession(client, dialect, undefined, relations, schema, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t\tuseJitMappers: jitCompatCheck(config.useJitMappers),\n\t});\n\tconst db = new PlanetScaleDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t\t'planetscale',\n\t) as PlanetScaleDatabase<TSchema, TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends Client = Client,\n>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleConfig<TSchema, TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | Config;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): PlanetScaleDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = new Client({\n\t\t\turl: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t& { connection?: Config | string; client?: TClient }\n\t\t& DrizzleConfig;\n\n\tif (client) return construct(client, drizzleConfig) as any;\n\n\tconst instance = typeof connection === 'string'\n\t\t? new Client({\n\t\t\turl: connection,\n\t\t})\n\t\t: new Client(\n\t\t\tconnection!,\n\t\t);\n\n\treturn construct(instance, drizzleConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): PlanetScaleDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;AAmBA,IAAa,sBAAb,cAGU,cAA2F;CACpG,QAA0B,cAAsB;;AAGjD,SAAS,UAKR,QACA,SAA6C,EAAE,EAG9C;AAGD,KAAI,EAAE,kBAAkB,QACvB,OAAM,IAAI,MAAM;;;;;;;;;;;IAWd;CAGH,MAAM,UAAU,IAAI,cAAc;CAClC,IAAI;AACJ,KAAI,OAAO,WAAW,KACrB,UAAS,IAAI,eAAe;UAClB,OAAO,WAAW,MAC5B,UAAS,OAAO;CAGjB,IAAI;AACJ,KAAI,OAAO,QAAQ;EAClB,MAAM,eAAe,GAAG,8BACvB,OAAO,QACP,GAAG,4BACH;AACD,WAAS;GACR,YAAY,OAAO;GACnB,QAAQ,aAAa;GACrB,eAAe,aAAa;GAC5B;;CAGF,MAAM,YAAY,OAAO,aAAa,EAAE;CAMxC,MAAM,KAAK,IAAI,oBACd,SANe,IAAI,mBAAmB,QAAQ,SAAS,QAAW,WAAW,QAAQ;EACrF;EACA,OAAO,OAAO;EACd,eAAe,eAAe,OAAO,cAAc;EACnD,CAAC,EAID,WACA,QACA,cACA;AACD,CAAO,GAAI,UAAU;AACrB,CAAO,GAAI,SAAS,OAAO;AAC3B,KAAW,GAAI,OACd,CAAO,GAAI,OAAO,gBAAgB,OAAO,OAAO;AAGjD,QAAO;;AAGR,SAAgB,QAKf,GAAG,QAiBF;AACD,KAAI,OAAO,OAAO,OAAO,SAKxB,QAAO,UAJU,IAAI,OAAO,EAC3B,KAAK,OAAO,IACZ,CAAC,EAEyB,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,kBAAkB,OAAO;AAIxD,KAAI,OAAQ,QAAO,UAAU,QAAQ,cAAc;AAUnD,QAAO,UARU,OAAO,eAAe,WACpC,IAAI,OAAO,EACZ,KAAK,YACL,CAAC,GACA,IAAI,OACL,WACA,EAEyB,cAAc;;;CAIlC,SAAS,KAIf,QAGC;AACD,SAAO,UAAU,EAAE,EAAS,OAAO"}
|
|
@@ -15,14 +15,14 @@ var PlanetScalePreparedQuery = class extends __mysql_core_session_ts.MySqlPrepar
|
|
|
15
15
|
jitMapper;
|
|
16
16
|
rawQuery = { as: "object" };
|
|
17
17
|
query = { as: "array" };
|
|
18
|
-
constructor(client, queryString, params, logger, cache, queryMetadata, cacheConfig, fields,
|
|
18
|
+
constructor(client, queryString, params, logger, cache, queryMetadata, cacheConfig, fields, useJitMappers, customResultMapper, generatedIds, returningIds, isRqbV2Query, rqbConfig) {
|
|
19
19
|
super(cache, queryMetadata, cacheConfig);
|
|
20
20
|
this.client = client;
|
|
21
21
|
this.queryString = queryString;
|
|
22
22
|
this.params = params;
|
|
23
23
|
this.logger = logger;
|
|
24
24
|
this.fields = fields;
|
|
25
|
-
this.
|
|
25
|
+
this.useJitMappers = useJitMappers;
|
|
26
26
|
this.customResultMapper = customResultMapper;
|
|
27
27
|
this.generatedIds = generatedIds;
|
|
28
28
|
this.returningIds = returningIds;
|
|
@@ -61,14 +61,14 @@ var PlanetScalePreparedQuery = class extends __mysql_core_session_ts.MySqlPrepar
|
|
|
61
61
|
return await client.execute(queryString, params, query);
|
|
62
62
|
});
|
|
63
63
|
if (customResultMapper) return customResultMapper(rows);
|
|
64
|
-
return this.
|
|
64
|
+
return this.useJitMappers ? (this.jitMapper = this.jitMapper ?? (0, __utils_ts.makeJitQueryMapper)(fields, joinsNotNullableMap))(rows) : rows.map((row) => (0, __utils_ts.mapResultRow)(fields, row, joinsNotNullableMap));
|
|
65
65
|
}
|
|
66
66
|
async executeRqbV2(placeholderValues = {}) {
|
|
67
67
|
const params = (0, __sql_sql_ts.fillPlaceholders)(this.params, placeholderValues);
|
|
68
68
|
this.logger.logQuery(this.queryString, params);
|
|
69
69
|
const { client, queryString, rawQuery, customResultMapper } = this;
|
|
70
70
|
const res = await client.execute(queryString, params, rawQuery);
|
|
71
|
-
return this.
|
|
71
|
+
return this.useJitMappers ? (this.jitMapper = this.jitMapper ?? (0, __relations_ts.makeJitRqbMapper)(this.rqbConfig))(res.rows) : customResultMapper(res.rows);
|
|
72
72
|
}
|
|
73
73
|
iterator(_placeholderValues) {
|
|
74
74
|
throw new Error("Streaming is not supported by the PlanetScale Serverless driver");
|
|
@@ -90,10 +90,10 @@ var PlanetscaleSession = class PlanetscaleSession extends __mysql_core_session_t
|
|
|
90
90
|
this.cache = options.cache ?? new __cache_core_index_ts.NoopCache();
|
|
91
91
|
}
|
|
92
92
|
prepareQuery(query, fields, customResultMapper, generatedIds, returningIds, queryMetadata, cacheConfig) {
|
|
93
|
-
return new PlanetScalePreparedQuery(this.client, query.sql, query.params, this.logger, this.cache, queryMetadata, cacheConfig, fields, this.options.
|
|
93
|
+
return new PlanetScalePreparedQuery(this.client, query.sql, query.params, this.logger, this.cache, queryMetadata, cacheConfig, fields, this.options.useJitMappers, customResultMapper, generatedIds, returningIds);
|
|
94
94
|
}
|
|
95
95
|
prepareRelationalQuery(query, fields, customResultMapper, config, generatedIds, returningIds) {
|
|
96
|
-
return new PlanetScalePreparedQuery(this.client, query.sql, query.params, this.logger, this.cache, void 0, void 0, fields, this.options.
|
|
96
|
+
return new PlanetScalePreparedQuery(this.client, query.sql, query.params, this.logger, this.cache, void 0, void 0, fields, this.options.useJitMappers, customResultMapper, generatedIds, returningIds, true, config);
|
|
97
97
|
}
|
|
98
98
|
async query(query, params) {
|
|
99
99
|
this.logger.logQuery(query, params);
|