drizzle-orm 1.0.0-beta.9-635dfc2 → 1.0.0-rc.1
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/_relations.cjs +6 -5
- package/_relations.cjs.map +1 -1
- package/_relations.d.cts +6 -5
- package/_relations.d.ts +6 -5
- package/_relations.js +4 -4
- package/_relations.js.map +1 -1
- package/_virtual/_rolldown/runtime.cjs +29 -0
- package/alias.cjs +21 -2
- package/alias.cjs.map +1 -1
- package/alias.d.cts +9 -1
- package/alias.d.ts +9 -1
- package/alias.js +21 -4
- package/alias.js.map +1 -1
- package/arktype/column.cjs +256 -0
- package/arktype/column.cjs.map +1 -0
- package/arktype/column.d.cts +22 -0
- package/arktype/column.d.ts +22 -0
- package/arktype/column.js +247 -0
- package/arktype/column.js.map +1 -0
- package/arktype/column.types.d.cts +16 -0
- package/arktype/column.types.d.ts +16 -0
- package/arktype/index.cjs +12 -0
- package/arktype/index.d.cts +6 -0
- package/arktype/index.d.ts +6 -0
- package/arktype/index.js +4 -0
- package/arktype/schema.cjs +64 -0
- package/arktype/schema.cjs.map +1 -0
- package/arktype/schema.d.cts +9 -0
- package/arktype/schema.d.ts +9 -0
- package/arktype/schema.js +60 -0
- package/arktype/schema.js.map +1 -0
- package/arktype/schema.types.d.cts +26 -0
- package/arktype/schema.types.d.ts +26 -0
- package/arktype/schema.types.internal.d.cts +25 -0
- package/arktype/schema.types.internal.d.ts +25 -0
- package/aws-data-api/common/index.cjs +3 -0
- package/aws-data-api/common/index.cjs.map +1 -1
- package/aws-data-api/common/index.js +2 -0
- package/aws-data-api/common/index.js.map +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 +15 -23
- package/aws-data-api/pg/driver.cjs.map +1 -1
- package/aws-data-api/pg/driver.d.cts +12 -12
- package/aws-data-api/pg/driver.d.ts +11 -11
- package/aws-data-api/pg/driver.js +13 -21
- package/aws-data-api/pg/driver.js.map +1 -1
- package/aws-data-api/pg/index.cjs +3 -1
- package/aws-data-api/pg/index.d.cts +3 -2
- package/aws-data-api/pg/index.d.ts +3 -2
- package/aws-data-api/pg/index.js +3 -2
- package/aws-data-api/pg/migrator.cjs +3 -2
- package/aws-data-api/pg/migrator.cjs.map +1 -1
- package/aws-data-api/pg/migrator.d.cts +1 -1
- package/aws-data-api/pg/migrator.d.ts +2 -2
- package/aws-data-api/pg/migrator.js +1 -1
- package/aws-data-api/pg/migrator.js.map +1 -1
- package/aws-data-api/pg/session.cjs +44 -119
- package/aws-data-api/pg/session.cjs.map +1 -1
- package/aws-data-api/pg/session.d.cts +15 -45
- package/aws-data-api/pg/session.d.ts +14 -44
- package/aws-data-api/pg/session.js +44 -119
- package/aws-data-api/pg/session.js.map +1 -1
- package/better-sqlite3/driver.cjs +11 -6
- package/better-sqlite3/driver.cjs.map +1 -1
- package/better-sqlite3/driver.d.ts +1 -1
- package/better-sqlite3/driver.js +7 -3
- package/better-sqlite3/driver.js.map +1 -1
- package/better-sqlite3/index.cjs +1 -0
- package/better-sqlite3/migrator.cjs +2 -1
- package/better-sqlite3/migrator.cjs.map +1 -1
- package/better-sqlite3/migrator.d.cts +2 -2
- package/better-sqlite3/migrator.d.ts +2 -2
- package/better-sqlite3/session.cjs +17 -15
- package/better-sqlite3/session.cjs.map +1 -1
- package/better-sqlite3/session.d.cts +15 -10
- package/better-sqlite3/session.d.ts +18 -13
- package/better-sqlite3/session.js +19 -18
- package/better-sqlite3/session.js.map +1 -1
- package/bun-sql/driver.cjs +7 -6
- package/bun-sql/driver.cjs.map +1 -1
- package/bun-sql/driver.d.cts +7 -6
- package/bun-sql/driver.d.ts +8 -7
- package/bun-sql/driver.js +6 -6
- package/bun-sql/driver.js.map +1 -1
- package/bun-sql/index.cjs +1 -1
- package/bun-sql/index.d.cts +2 -3
- package/bun-sql/index.d.ts +2 -3
- package/bun-sql/index.js +2 -2
- package/bun-sql/migrator.cjs +1 -0
- package/bun-sql/migrator.cjs.map +1 -1
- package/bun-sql/migrator.d.cts +5 -5
- package/bun-sql/migrator.d.ts +5 -5
- package/bun-sql/migrator.js.map +1 -1
- package/bun-sql/mysql/driver.cjs +10 -7
- package/bun-sql/mysql/driver.cjs.map +1 -1
- package/bun-sql/mysql/driver.d.ts +1 -1
- package/bun-sql/mysql/driver.js +7 -5
- package/bun-sql/mysql/driver.js.map +1 -1
- package/bun-sql/mysql/index.cjs +1 -0
- package/bun-sql/mysql/migrator.cjs +2 -1
- package/bun-sql/mysql/migrator.cjs.map +1 -1
- package/bun-sql/mysql/migrator.d.cts +2 -2
- package/bun-sql/mysql/migrator.d.ts +2 -2
- package/bun-sql/mysql/session.cjs +21 -9
- package/bun-sql/mysql/session.cjs.map +1 -1
- package/bun-sql/mysql/session.d.cts +7 -3
- package/bun-sql/mysql/session.d.ts +9 -5
- package/bun-sql/mysql/session.js +22 -11
- 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 +15 -19
- package/bun-sql/postgres/driver.cjs.map +1 -1
- package/bun-sql/postgres/driver.d.cts +5 -5
- package/bun-sql/postgres/driver.d.ts +6 -6
- package/bun-sql/postgres/driver.js +13 -17
- package/bun-sql/postgres/driver.js.map +1 -1
- package/bun-sql/postgres/index.cjs +3 -1
- package/bun-sql/postgres/index.d.cts +3 -2
- package/bun-sql/postgres/index.d.ts +3 -2
- package/bun-sql/postgres/index.js +3 -2
- package/bun-sql/postgres/migrator.cjs +3 -2
- package/bun-sql/postgres/migrator.cjs.map +1 -1
- package/bun-sql/postgres/migrator.d.cts +2 -2
- package/bun-sql/postgres/migrator.d.ts +2 -2
- package/bun-sql/postgres/migrator.js +1 -1
- package/bun-sql/postgres/migrator.js.map +1 -1
- package/bun-sql/postgres/session.cjs +15 -117
- package/bun-sql/postgres/session.cjs.map +1 -1
- package/bun-sql/postgres/session.d.cts +13 -36
- package/bun-sql/postgres/session.d.ts +12 -35
- package/bun-sql/postgres/session.js +14 -116
- package/bun-sql/postgres/session.js.map +1 -1
- package/bun-sql/session.cjs +1 -1
- package/bun-sql/session.d.cts +2 -2
- package/bun-sql/session.d.ts +2 -2
- package/bun-sql/session.js +2 -2
- package/bun-sql/sqlite/driver.cjs +9 -6
- package/bun-sql/sqlite/driver.cjs.map +1 -1
- package/bun-sql/sqlite/driver.d.ts +2 -2
- package/bun-sql/sqlite/driver.js +6 -4
- package/bun-sql/sqlite/driver.js.map +1 -1
- package/bun-sql/sqlite/index.cjs +1 -0
- package/bun-sql/sqlite/migrator.cjs +3 -2
- package/bun-sql/sqlite/migrator.cjs.map +1 -1
- package/bun-sql/sqlite/migrator.d.cts +2 -2
- package/bun-sql/sqlite/migrator.d.ts +2 -2
- package/bun-sql/sqlite/migrator.js +1 -1
- package/bun-sql/sqlite/migrator.js.map +1 -1
- package/bun-sql/sqlite/session.cjs +20 -18
- package/bun-sql/sqlite/session.cjs.map +1 -1
- package/bun-sql/sqlite/session.d.cts +14 -9
- package/bun-sql/sqlite/session.d.ts +18 -13
- package/bun-sql/sqlite/session.js +22 -21
- package/bun-sql/sqlite/session.js.map +1 -1
- package/bun-sqlite/driver.cjs +10 -5
- package/bun-sqlite/driver.cjs.map +1 -1
- package/bun-sqlite/driver.d.ts +1 -1
- package/bun-sqlite/driver.js +7 -3
- package/bun-sqlite/driver.js.map +1 -1
- package/bun-sqlite/index.cjs +1 -0
- package/bun-sqlite/migrator.cjs +14 -1
- package/bun-sqlite/migrator.cjs.map +1 -1
- package/bun-sqlite/migrator.d.cts +3 -3
- package/bun-sqlite/migrator.d.ts +3 -3
- package/bun-sqlite/migrator.js +12 -0
- package/bun-sqlite/migrator.js.map +1 -1
- package/bun-sqlite/session.cjs +23 -17
- package/bun-sqlite/session.cjs.map +1 -1
- package/bun-sqlite/session.d.cts +15 -10
- package/bun-sqlite/session.d.ts +18 -13
- package/bun-sqlite/session.js +25 -20
- package/bun-sqlite/session.js.map +1 -1
- package/cache/core/cache-effect.cjs +99 -17
- package/cache/core/cache-effect.cjs.map +1 -1
- package/cache/core/cache-effect.d.cts +82 -10
- package/cache/core/cache-effect.d.ts +82 -10
- package/cache/core/cache-effect.js +93 -16
- package/cache/core/cache-effect.js.map +1 -1
- package/cache/core/cache.cjs +3 -2
- package/cache/core/cache.cjs.map +1 -1
- package/cache/core/cache.js +1 -1
- package/cache/core/cache.js.map +1 -1
- package/cache/core/index.cjs +1 -0
- package/cache/upstash/cache.cjs +6 -5
- package/cache/upstash/cache.cjs.map +1 -1
- package/cache/upstash/cache.js +4 -4
- package/cache/upstash/cache.js.map +1 -1
- package/cache/upstash/index.cjs +1 -0
- package/casing.cjs +6 -38
- package/casing.cjs.map +1 -1
- package/casing.d.cts +3 -14
- package/casing.d.ts +3 -14
- package/casing.js +5 -38
- package/casing.js.map +1 -1
- package/cockroach/driver.cjs +15 -7
- package/cockroach/driver.cjs.map +1 -1
- package/cockroach/driver.d.cts +1 -0
- package/cockroach/driver.d.ts +2 -1
- package/cockroach/driver.js +11 -4
- package/cockroach/driver.js.map +1 -1
- package/cockroach/index.cjs +1 -0
- package/cockroach/migrator.cjs +2 -1
- package/cockroach/migrator.cjs.map +1 -1
- package/cockroach/migrator.d.cts +2 -2
- package/cockroach/migrator.d.ts +2 -2
- package/cockroach/session.cjs +12 -13
- package/cockroach/session.cjs.map +1 -1
- package/cockroach/session.d.cts +5 -3
- package/cockroach/session.d.ts +6 -4
- package/cockroach/session.js +10 -12
- package/cockroach/session.js.map +1 -1
- package/cockroach-core/alias.cjs +4 -3
- package/cockroach-core/alias.cjs.map +1 -1
- package/cockroach-core/alias.js +2 -2
- package/cockroach-core/alias.js.map +1 -1
- package/cockroach-core/casing.cjs +27 -0
- package/cockroach-core/casing.cjs.map +1 -0
- package/cockroach-core/casing.d.cts +20 -0
- package/cockroach-core/casing.d.ts +20 -0
- package/cockroach-core/casing.js +25 -0
- package/cockroach-core/casing.js.map +1 -0
- package/cockroach-core/checks.cjs +2 -1
- package/cockroach-core/checks.cjs.map +1 -1
- package/cockroach-core/checks.js.map +1 -1
- package/cockroach-core/columns/all.cjs +1 -0
- package/cockroach-core/columns/all.cjs.map +1 -1
- package/cockroach-core/columns/bigint.cjs +6 -5
- package/cockroach-core/columns/bigint.cjs.map +1 -1
- package/cockroach-core/columns/bigint.d.cts +2 -2
- package/cockroach-core/columns/bigint.d.ts +2 -2
- package/cockroach-core/columns/bigint.js +4 -4
- package/cockroach-core/columns/bigint.js.map +1 -1
- package/cockroach-core/columns/bit.cjs +2 -1
- package/cockroach-core/columns/bit.cjs.map +1 -1
- package/cockroach-core/columns/bool.cjs +2 -1
- package/cockroach-core/columns/bool.cjs.map +1 -1
- package/cockroach-core/columns/char.cjs +2 -1
- package/cockroach-core/columns/char.cjs.map +1 -1
- package/cockroach-core/columns/common.cjs +11 -10
- package/cockroach-core/columns/common.cjs.map +1 -1
- package/cockroach-core/columns/common.d.cts +5 -5
- package/cockroach-core/columns/common.d.ts +5 -5
- package/cockroach-core/columns/common.js +9 -9
- package/cockroach-core/columns/common.js.map +1 -1
- package/cockroach-core/columns/custom.cjs +6 -5
- package/cockroach-core/columns/custom.cjs.map +1 -1
- package/cockroach-core/columns/custom.d.cts +2 -2
- package/cockroach-core/columns/custom.d.ts +2 -2
- package/cockroach-core/columns/custom.js +4 -4
- package/cockroach-core/columns/custom.js.map +1 -1
- package/cockroach-core/columns/date.cjs +8 -7
- package/cockroach-core/columns/date.cjs.map +1 -1
- package/cockroach-core/columns/date.common.cjs +2 -1
- package/cockroach-core/columns/date.common.cjs.map +1 -1
- package/cockroach-core/columns/date.common.d.ts +2 -2
- package/cockroach-core/columns/date.d.cts +3 -3
- package/cockroach-core/columns/date.d.ts +3 -3
- package/cockroach-core/columns/date.js +6 -6
- package/cockroach-core/columns/date.js.map +1 -1
- package/cockroach-core/columns/decimal.cjs +6 -5
- package/cockroach-core/columns/decimal.cjs.map +1 -1
- package/cockroach-core/columns/decimal.d.cts +2 -2
- package/cockroach-core/columns/decimal.d.ts +2 -2
- package/cockroach-core/columns/decimal.js +4 -4
- package/cockroach-core/columns/decimal.js.map +1 -1
- package/cockroach-core/columns/enum.cjs +2 -1
- package/cockroach-core/columns/enum.cjs.map +1 -1
- package/cockroach-core/columns/enum.js.map +1 -1
- package/cockroach-core/columns/float.cjs +4 -3
- package/cockroach-core/columns/float.cjs.map +1 -1
- package/cockroach-core/columns/float.d.cts +1 -1
- package/cockroach-core/columns/float.d.ts +1 -1
- package/cockroach-core/columns/float.js +2 -2
- package/cockroach-core/columns/float.js.map +1 -1
- package/cockroach-core/columns/geometry.cjs +10 -9
- package/cockroach-core/columns/geometry.cjs.map +1 -1
- package/cockroach-core/columns/geometry.d.cts +5 -5
- package/cockroach-core/columns/geometry.d.ts +5 -5
- package/cockroach-core/columns/geometry.js +8 -8
- package/cockroach-core/columns/geometry.js.map +1 -1
- package/cockroach-core/columns/index.cjs +2 -1
- package/cockroach-core/columns/index.js +1 -1
- package/cockroach-core/columns/inet.cjs +2 -1
- package/cockroach-core/columns/inet.cjs.map +1 -1
- package/cockroach-core/columns/int.common.cjs +2 -1
- package/cockroach-core/columns/int.common.cjs.map +1 -1
- package/cockroach-core/columns/integer.cjs +4 -3
- package/cockroach-core/columns/integer.cjs.map +1 -1
- package/cockroach-core/columns/integer.d.cts +1 -1
- package/cockroach-core/columns/integer.d.ts +1 -1
- package/cockroach-core/columns/integer.js +2 -2
- package/cockroach-core/columns/integer.js.map +1 -1
- package/cockroach-core/columns/interval.cjs +2 -1
- package/cockroach-core/columns/interval.cjs.map +1 -1
- package/cockroach-core/columns/jsonb.cjs +6 -5
- package/cockroach-core/columns/jsonb.cjs.map +1 -1
- package/cockroach-core/columns/jsonb.d.cts +2 -2
- package/cockroach-core/columns/jsonb.d.ts +2 -2
- package/cockroach-core/columns/jsonb.js +4 -4
- package/cockroach-core/columns/jsonb.js.map +1 -1
- package/cockroach-core/columns/real.cjs +2 -1
- package/cockroach-core/columns/real.cjs.map +1 -1
- package/cockroach-core/columns/smallint.cjs +2 -1
- package/cockroach-core/columns/smallint.cjs.map +1 -1
- package/cockroach-core/columns/string.cjs +2 -1
- package/cockroach-core/columns/string.cjs.map +1 -1
- package/cockroach-core/columns/time.cjs +2 -1
- package/cockroach-core/columns/time.cjs.map +1 -1
- package/cockroach-core/columns/time.js.map +1 -1
- package/cockroach-core/columns/timestamp.cjs +2 -1
- package/cockroach-core/columns/timestamp.cjs.map +1 -1
- package/cockroach-core/columns/utils.cjs +1 -0
- package/cockroach-core/columns/utils.cjs.map +1 -1
- package/cockroach-core/columns/utils.js.map +1 -1
- package/cockroach-core/columns/uuid.cjs +2 -1
- package/cockroach-core/columns/uuid.cjs.map +1 -1
- package/cockroach-core/columns/varbit.cjs +2 -1
- package/cockroach-core/columns/varbit.cjs.map +1 -1
- package/cockroach-core/columns/varchar.cjs +2 -1
- package/cockroach-core/columns/varchar.cjs.map +1 -1
- package/cockroach-core/columns/vector.cjs +6 -5
- package/cockroach-core/columns/vector.cjs.map +1 -1
- package/cockroach-core/columns/vector.d.cts +2 -2
- package/cockroach-core/columns/vector.d.ts +2 -2
- package/cockroach-core/columns/vector.js +4 -4
- package/cockroach-core/columns/vector.js.map +1 -1
- package/cockroach-core/db.cjs +3 -2
- package/cockroach-core/db.cjs.map +1 -1
- package/cockroach-core/db.d.cts +2 -1
- package/cockroach-core/db.d.ts +2 -1
- package/cockroach-core/db.js +1 -1
- package/cockroach-core/db.js.map +1 -1
- package/cockroach-core/dialect.cjs +57 -42
- package/cockroach-core/dialect.cjs.map +1 -1
- package/cockroach-core/dialect.d.cts +3 -5
- package/cockroach-core/dialect.d.ts +5 -7
- package/cockroach-core/dialect.js +54 -40
- package/cockroach-core/dialect.js.map +1 -1
- package/cockroach-core/expressions.cjs +2 -1
- package/cockroach-core/expressions.cjs.map +1 -1
- package/cockroach-core/expressions.js.map +1 -1
- package/cockroach-core/foreign-keys.cjs +2 -1
- package/cockroach-core/foreign-keys.cjs.map +1 -1
- package/cockroach-core/foreign-keys.d.cts +0 -1
- package/cockroach-core/foreign-keys.d.ts +0 -1
- package/cockroach-core/foreign-keys.js.map +1 -1
- package/cockroach-core/index.cjs +19 -12
- package/cockroach-core/index.d.cts +4 -5
- package/cockroach-core/index.d.ts +4 -5
- package/cockroach-core/index.js +15 -14
- package/cockroach-core/indexes.cjs +2 -1
- package/cockroach-core/indexes.cjs.map +1 -1
- package/cockroach-core/indexes.d.cts +0 -1
- package/cockroach-core/indexes.d.ts +0 -1
- package/cockroach-core/indexes.js.map +1 -1
- package/cockroach-core/policies.cjs +2 -1
- package/cockroach-core/policies.cjs.map +1 -1
- package/cockroach-core/policies.js.map +1 -1
- package/cockroach-core/primary-keys.cjs +2 -1
- package/cockroach-core/primary-keys.cjs.map +1 -1
- package/cockroach-core/primary-keys.d.cts +0 -1
- package/cockroach-core/primary-keys.d.ts +0 -1
- package/cockroach-core/primary-keys.js.map +1 -1
- package/cockroach-core/query-builders/count.cjs +3 -8
- package/cockroach-core/query-builders/count.cjs.map +1 -1
- package/cockroach-core/query-builders/count.d.cts +0 -4
- package/cockroach-core/query-builders/count.d.ts +0 -4
- package/cockroach-core/query-builders/count.js +1 -7
- package/cockroach-core/query-builders/count.js.map +1 -1
- package/cockroach-core/query-builders/delete.cjs +12 -11
- package/cockroach-core/query-builders/delete.cjs.map +1 -1
- package/cockroach-core/query-builders/delete.d.cts +0 -1
- package/cockroach-core/query-builders/delete.d.ts +0 -1
- package/cockroach-core/query-builders/delete.js +10 -10
- package/cockroach-core/query-builders/delete.js.map +1 -1
- package/cockroach-core/query-builders/index.cjs +2 -1
- package/cockroach-core/query-builders/index.js +1 -1
- package/cockroach-core/query-builders/insert.cjs +13 -6
- package/cockroach-core/query-builders/insert.cjs.map +1 -1
- package/cockroach-core/query-builders/insert.d.cts +2 -2
- package/cockroach-core/query-builders/insert.d.ts +2 -2
- package/cockroach-core/query-builders/insert.js +11 -5
- package/cockroach-core/query-builders/insert.js.map +1 -1
- package/cockroach-core/query-builders/query-builder.cjs +2 -1
- package/cockroach-core/query-builders/query-builder.cjs.map +1 -1
- package/cockroach-core/query-builders/query-builder.d.cts +0 -1
- package/cockroach-core/query-builders/query-builder.d.ts +0 -1
- package/cockroach-core/query-builders/query.cjs +7 -11
- package/cockroach-core/query-builders/query.cjs.map +1 -1
- package/cockroach-core/query-builders/query.d.cts +1 -2
- package/cockroach-core/query-builders/query.d.ts +1 -2
- package/cockroach-core/query-builders/query.js +5 -10
- package/cockroach-core/query-builders/query.js.map +1 -1
- package/cockroach-core/query-builders/raw.cjs +2 -5
- package/cockroach-core/query-builders/raw.cjs.map +1 -1
- package/cockroach-core/query-builders/raw.js +0 -4
- package/cockroach-core/query-builders/raw.js.map +1 -1
- package/cockroach-core/query-builders/refresh-materialized-view.cjs +8 -11
- package/cockroach-core/query-builders/refresh-materialized-view.cjs.map +1 -1
- package/cockroach-core/query-builders/refresh-materialized-view.d.cts +1 -2
- package/cockroach-core/query-builders/refresh-materialized-view.d.ts +1 -2
- package/cockroach-core/query-builders/refresh-materialized-view.js +6 -10
- package/cockroach-core/query-builders/refresh-materialized-view.js.map +1 -1
- package/cockroach-core/query-builders/select.cjs +16 -21
- package/cockroach-core/query-builders/select.cjs.map +1 -1
- package/cockroach-core/query-builders/select.d.cts +1 -3
- package/cockroach-core/query-builders/select.d.ts +2 -4
- package/cockroach-core/query-builders/select.js +14 -20
- package/cockroach-core/query-builders/select.js.map +1 -1
- package/cockroach-core/query-builders/select.types.d.ts +1 -1
- package/cockroach-core/query-builders/update.cjs +17 -16
- package/cockroach-core/query-builders/update.cjs.map +1 -1
- package/cockroach-core/query-builders/update.d.cts +4 -5
- package/cockroach-core/query-builders/update.d.ts +5 -6
- package/cockroach-core/query-builders/update.js +15 -15
- package/cockroach-core/query-builders/update.js.map +1 -1
- package/cockroach-core/roles.cjs +2 -1
- package/cockroach-core/roles.cjs.map +1 -1
- package/cockroach-core/roles.js.map +1 -1
- package/cockroach-core/schema.cjs +13 -10
- package/cockroach-core/schema.cjs.map +1 -1
- package/cockroach-core/schema.d.cts +3 -1
- package/cockroach-core/schema.d.ts +3 -1
- package/cockroach-core/schema.js +11 -9
- package/cockroach-core/schema.js.map +1 -1
- package/cockroach-core/sequence.cjs +2 -1
- package/cockroach-core/sequence.cjs.map +1 -1
- package/cockroach-core/sequence.js.map +1 -1
- package/cockroach-core/session.cjs +6 -5
- package/cockroach-core/session.cjs.map +1 -1
- package/cockroach-core/session.d.cts +1 -1
- package/cockroach-core/session.d.ts +1 -1
- package/cockroach-core/session.js +4 -4
- package/cockroach-core/session.js.map +1 -1
- package/cockroach-core/table.cjs +29 -21
- package/cockroach-core/table.cjs.map +1 -1
- package/cockroach-core/table.d.cts +4 -4
- package/cockroach-core/table.d.ts +4 -4
- package/cockroach-core/table.js +27 -21
- package/cockroach-core/table.js.map +1 -1
- package/cockroach-core/unique-constraint.cjs +2 -1
- package/cockroach-core/unique-constraint.cjs.map +1 -1
- package/cockroach-core/unique-constraint.d.cts +0 -1
- package/cockroach-core/unique-constraint.d.ts +0 -1
- package/cockroach-core/unique-constraint.js.map +1 -1
- package/cockroach-core/utils/array.cjs +7 -6
- package/cockroach-core/utils/array.cjs.map +1 -1
- package/cockroach-core/utils/array.js +6 -6
- package/cockroach-core/utils/array.js.map +1 -1
- package/cockroach-core/utils/index.cjs +1 -0
- package/cockroach-core/utils.cjs +5 -4
- package/cockroach-core/utils.cjs.map +1 -1
- package/cockroach-core/utils.d.cts +0 -3
- package/cockroach-core/utils.d.ts +0 -3
- package/cockroach-core/utils.js +3 -3
- package/cockroach-core/utils.js.map +1 -1
- package/cockroach-core/view-base.cjs +2 -1
- package/cockroach-core/view-base.cjs.map +1 -1
- package/cockroach-core/view.cjs +20 -14
- package/cockroach-core/view.cjs.map +1 -1
- package/cockroach-core/view.d.cts +15 -7
- package/cockroach-core/view.d.ts +15 -7
- package/cockroach-core/view.js +17 -14
- package/cockroach-core/view.js.map +1 -1
- package/codecs.cjs +77 -0
- package/codecs.cjs.map +1 -0
- package/codecs.d.cts +68 -0
- package/codecs.d.ts +68 -0
- package/codecs.js +74 -0
- package/codecs.js.map +1 -0
- package/column-builder.cjs +4 -3
- package/column-builder.cjs.map +1 -1
- package/column-builder.d.cts +4 -12
- package/column-builder.d.ts +4 -12
- package/column-builder.js +2 -2
- package/column-builder.js.map +1 -1
- package/column-common.cjs +1 -0
- package/column-common.cjs.map +1 -1
- package/column.cjs +11 -5
- package/column.cjs.map +1 -1
- package/column.d.cts +3 -3
- package/column.d.ts +3 -3
- package/column.js +10 -5
- package/column.js.map +1 -1
- package/d1/driver.cjs +5 -4
- package/d1/driver.cjs.map +1 -1
- package/d1/driver.d.cts +1 -1
- package/d1/driver.d.ts +2 -2
- package/d1/driver.js +2 -2
- package/d1/driver.js.map +1 -1
- package/d1/index.cjs +1 -0
- package/d1/migrator.cjs +21 -10
- package/d1/migrator.cjs.map +1 -1
- package/d1/migrator.js +19 -9
- package/d1/migrator.js.map +1 -1
- package/d1/session.cjs +13 -14
- package/d1/session.cjs.map +1 -1
- package/d1/session.d.cts +8 -9
- package/d1/session.d.ts +11 -12
- package/d1/session.js +14 -16
- package/d1/session.js.map +1 -1
- package/durable-sqlite/driver.cjs +10 -5
- package/durable-sqlite/driver.cjs.map +1 -1
- package/durable-sqlite/driver.d.ts +1 -1
- package/durable-sqlite/driver.js +7 -3
- package/durable-sqlite/driver.js.map +1 -1
- package/durable-sqlite/index.cjs +1 -0
- package/durable-sqlite/migrator.cjs +31 -15
- package/durable-sqlite/migrator.cjs.map +1 -1
- package/durable-sqlite/migrator.d.cts +1 -1
- package/durable-sqlite/migrator.d.ts +1 -1
- package/durable-sqlite/migrator.js +30 -15
- package/durable-sqlite/migrator.js.map +1 -1
- package/durable-sqlite/session.cjs +19 -20
- package/durable-sqlite/session.cjs.map +1 -1
- package/durable-sqlite/session.d.cts +16 -11
- package/durable-sqlite/session.d.ts +19 -14
- package/durable-sqlite/session.js +21 -23
- package/durable-sqlite/session.js.map +1 -1
- package/effect-core/errors.cjs +41 -0
- package/effect-core/errors.cjs.map +1 -0
- package/effect-core/errors.d.cts +36 -0
- package/effect-core/errors.d.ts +36 -0
- package/effect-core/errors.js +35 -0
- package/effect-core/errors.js.map +1 -0
- package/effect-core/index.cjs +11 -0
- package/effect-core/index.d.cts +4 -0
- package/effect-core/index.d.ts +4 -0
- package/effect-core/index.js +5 -0
- package/effect-core/logger.cjs +112 -0
- package/effect-core/logger.cjs.map +1 -0
- package/effect-core/logger.d.cts +95 -0
- package/effect-core/logger.d.ts +95 -0
- package/effect-core/logger.js +107 -0
- package/effect-core/logger.js.map +1 -0
- package/effect-core/query-effect.cjs +10 -39
- package/effect-core/query-effect.cjs.map +1 -1
- package/effect-core/query-effect.d.cts +7 -37
- package/effect-core/query-effect.d.ts +7 -37
- package/effect-core/query-effect.js +8 -38
- package/effect-core/query-effect.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 +61 -37
- package/effect-postgres/driver.cjs.map +1 -1
- package/effect-postgres/driver.d.cts +43 -12
- package/effect-postgres/driver.d.ts +45 -14
- package/effect-postgres/driver.js +55 -30
- package/effect-postgres/driver.js.map +1 -1
- package/effect-postgres/index.cjs +14 -7
- package/effect-postgres/index.d.cts +5 -3
- package/effect-postgres/index.d.ts +5 -3
- package/effect-postgres/index.js +5 -3
- package/effect-postgres/migrator.cjs +2 -1
- package/effect-postgres/migrator.cjs.map +1 -1
- package/effect-postgres/migrator.d.cts +3 -3
- package/effect-postgres/migrator.d.ts +4 -4
- package/effect-postgres/migrator.js.map +1 -1
- package/effect-postgres/session.cjs +17 -77
- package/effect-postgres/session.cjs.map +1 -1
- package/effect-postgres/session.d.cts +25 -47
- package/effect-postgres/session.d.ts +25 -47
- package/effect-postgres/session.js +15 -76
- package/effect-postgres/session.js.map +1 -1
- package/effect-schema/column.cjs +266 -0
- package/effect-schema/column.cjs.map +1 -0
- package/effect-schema/column.d.cts +14 -0
- package/effect-schema/column.d.ts +14 -0
- package/effect-schema/column.js +259 -0
- package/effect-schema/column.js.map +1 -0
- package/effect-schema/column.types.cjs +0 -0
- package/effect-schema/column.types.d.cts +30 -0
- package/effect-schema/column.types.d.ts +30 -0
- package/effect-schema/column.types.js +1 -0
- package/effect-schema/index.cjs +12 -0
- package/effect-schema/index.d.cts +6 -0
- package/effect-schema/index.d.ts +6 -0
- package/effect-schema/index.js +4 -0
- package/effect-schema/schema.cjs +79 -0
- package/effect-schema/schema.cjs.map +1 -0
- package/effect-schema/schema.d.cts +9 -0
- package/effect-schema/schema.d.ts +9 -0
- package/effect-schema/schema.js +75 -0
- package/effect-schema/schema.js.map +1 -0
- package/effect-schema/schema.types.cjs +0 -0
- package/effect-schema/schema.types.d.cts +27 -0
- package/effect-schema/schema.types.d.ts +27 -0
- package/effect-schema/schema.types.internal.cjs +0 -0
- package/effect-schema/schema.types.internal.d.cts +25 -0
- package/effect-schema/schema.types.internal.d.ts +25 -0
- package/effect-schema/schema.types.internal.js +1 -0
- package/effect-schema/schema.types.js +1 -0
- package/entity.cjs +2 -1
- package/entity.cjs.map +1 -1
- package/entity.js +1 -1
- package/entity.js.map +1 -1
- package/errors.cjs +2 -1
- package/errors.cjs.map +1 -1
- package/errors.js.map +1 -1
- package/expo-sqlite/driver.cjs +10 -5
- package/expo-sqlite/driver.cjs.map +1 -1
- package/expo-sqlite/driver.d.ts +1 -1
- package/expo-sqlite/driver.js +7 -3
- package/expo-sqlite/driver.js.map +1 -1
- package/expo-sqlite/index.cjs +1 -0
- package/expo-sqlite/migrator.cjs +8 -6
- package/expo-sqlite/migrator.cjs.map +1 -1
- package/expo-sqlite/migrator.d.cts +3 -3
- package/expo-sqlite/migrator.d.ts +3 -3
- package/expo-sqlite/migrator.js +7 -6
- package/expo-sqlite/migrator.js.map +1 -1
- package/expo-sqlite/query.cjs +5 -4
- package/expo-sqlite/query.cjs.map +1 -1
- package/expo-sqlite/query.js +2 -2
- package/expo-sqlite/query.js.map +1 -1
- package/expo-sqlite/session.cjs +17 -15
- package/expo-sqlite/session.cjs.map +1 -1
- package/expo-sqlite/session.d.cts +15 -10
- package/expo-sqlite/session.d.ts +18 -13
- package/expo-sqlite/session.js +19 -18
- package/expo-sqlite/session.js.map +1 -1
- package/index.cjs +25 -6
- package/index.d.cts +7 -8
- package/index.d.ts +7 -8
- package/index.js +10 -10
- package/libsql/driver-core.cjs +8 -5
- package/libsql/driver-core.cjs.map +1 -1
- package/libsql/driver-core.d.ts +1 -1
- package/libsql/driver-core.js +5 -3
- package/libsql/driver-core.js.map +1 -1
- package/libsql/driver.cjs +2 -1
- package/libsql/driver.cjs.map +1 -1
- package/libsql/http/index.cjs +2 -1
- package/libsql/http/index.cjs.map +1 -1
- package/libsql/index.cjs +1 -0
- package/libsql/migrator.cjs +21 -10
- package/libsql/migrator.cjs.map +1 -1
- package/libsql/migrator.d.cts +0 -1
- package/libsql/migrator.d.ts +0 -1
- package/libsql/migrator.js +19 -9
- package/libsql/migrator.js.map +1 -1
- package/libsql/node/index.cjs +2 -1
- package/libsql/node/index.cjs.map +1 -1
- package/libsql/session.cjs +17 -17
- package/libsql/session.cjs.map +1 -1
- package/libsql/session.d.cts +14 -9
- package/libsql/session.d.ts +17 -12
- package/libsql/session.js +19 -20
- package/libsql/session.js.map +1 -1
- package/libsql/sqlite3/index.cjs +2 -1
- package/libsql/sqlite3/index.cjs.map +1 -1
- package/libsql/wasm/index.cjs +2 -1
- package/libsql/wasm/index.cjs.map +1 -1
- package/libsql/web/index.cjs +2 -1
- package/libsql/web/index.cjs.map +1 -1
- package/libsql/ws/index.cjs +2 -1
- package/libsql/ws/index.cjs.map +1 -1
- package/logger.cjs +2 -1
- package/logger.cjs.map +1 -1
- package/migrator.cjs +9 -44
- package/migrator.cjs.map +1 -1
- package/migrator.d.cts +11 -2
- package/migrator.d.ts +11 -2
- package/migrator.js +5 -40
- package/migrator.js.map +1 -1
- package/migrator.utils.cjs +22 -0
- package/migrator.utils.cjs.map +1 -0
- package/migrator.utils.d.cts +16 -0
- package/migrator.utils.d.ts +16 -0
- package/migrator.utils.js +19 -0
- package/migrator.utils.js.map +1 -0
- package/mssql-core/alias.cjs +4 -3
- package/mssql-core/alias.cjs.map +1 -1
- package/mssql-core/alias.js +2 -2
- package/mssql-core/alias.js.map +1 -1
- package/mssql-core/casing.cjs +25 -0
- package/mssql-core/casing.cjs.map +1 -0
- package/mssql-core/casing.d.cts +18 -0
- package/mssql-core/casing.d.ts +18 -0
- package/mssql-core/casing.js +23 -0
- package/mssql-core/casing.js.map +1 -0
- package/mssql-core/checks.cjs +2 -1
- package/mssql-core/checks.cjs.map +1 -1
- package/mssql-core/checks.js.map +1 -1
- package/mssql-core/columns/all.cjs +1 -0
- package/mssql-core/columns/all.cjs.map +1 -1
- package/mssql-core/columns/bigint.cjs +4 -3
- package/mssql-core/columns/bigint.cjs.map +1 -1
- package/mssql-core/columns/bigint.d.cts +1 -1
- package/mssql-core/columns/bigint.d.ts +1 -1
- package/mssql-core/columns/bigint.js +2 -2
- package/mssql-core/columns/bigint.js.map +1 -1
- package/mssql-core/columns/binary.cjs +2 -1
- package/mssql-core/columns/binary.cjs.map +1 -1
- package/mssql-core/columns/bit.cjs +2 -1
- package/mssql-core/columns/bit.cjs.map +1 -1
- package/mssql-core/columns/char.cjs +2 -1
- package/mssql-core/columns/char.cjs.map +1 -1
- package/mssql-core/columns/common.cjs +6 -5
- package/mssql-core/columns/common.cjs.map +1 -1
- package/mssql-core/columns/common.d.cts +1 -1
- package/mssql-core/columns/common.d.ts +1 -1
- package/mssql-core/columns/common.js +4 -4
- package/mssql-core/columns/common.js.map +1 -1
- package/mssql-core/columns/custom.cjs +6 -5
- package/mssql-core/columns/custom.cjs.map +1 -1
- package/mssql-core/columns/custom.d.cts +2 -2
- package/mssql-core/columns/custom.d.ts +2 -2
- package/mssql-core/columns/custom.js +4 -4
- package/mssql-core/columns/custom.js.map +1 -1
- package/mssql-core/columns/date.cjs +6 -5
- package/mssql-core/columns/date.cjs.map +1 -1
- package/mssql-core/columns/date.common.cjs +2 -1
- package/mssql-core/columns/date.common.cjs.map +1 -1
- package/mssql-core/columns/date.d.cts +2 -2
- package/mssql-core/columns/date.d.ts +2 -2
- package/mssql-core/columns/date.js +4 -4
- package/mssql-core/columns/date.js.map +1 -1
- package/mssql-core/columns/datetime.cjs +4 -3
- package/mssql-core/columns/datetime.cjs.map +1 -1
- package/mssql-core/columns/datetime.d.cts +1 -1
- package/mssql-core/columns/datetime.d.ts +1 -1
- package/mssql-core/columns/datetime.js +2 -2
- package/mssql-core/columns/datetime.js.map +1 -1
- package/mssql-core/columns/datetime2.cjs +4 -3
- package/mssql-core/columns/datetime2.cjs.map +1 -1
- package/mssql-core/columns/datetime2.d.cts +1 -1
- package/mssql-core/columns/datetime2.d.ts +1 -1
- package/mssql-core/columns/datetime2.js +2 -2
- package/mssql-core/columns/datetime2.js.map +1 -1
- package/mssql-core/columns/datetimeoffset.cjs +4 -3
- package/mssql-core/columns/datetimeoffset.cjs.map +1 -1
- package/mssql-core/columns/datetimeoffset.d.cts +1 -1
- package/mssql-core/columns/datetimeoffset.d.ts +1 -1
- package/mssql-core/columns/datetimeoffset.js +2 -2
- package/mssql-core/columns/datetimeoffset.js.map +1 -1
- package/mssql-core/columns/decimal.cjs +6 -5
- package/mssql-core/columns/decimal.cjs.map +1 -1
- package/mssql-core/columns/decimal.d.cts +2 -2
- package/mssql-core/columns/decimal.d.ts +2 -2
- package/mssql-core/columns/decimal.js +4 -4
- package/mssql-core/columns/decimal.js.map +1 -1
- package/mssql-core/columns/float.cjs +2 -1
- package/mssql-core/columns/float.cjs.map +1 -1
- package/mssql-core/columns/index.cjs +1 -0
- package/mssql-core/columns/int.cjs +2 -1
- package/mssql-core/columns/int.cjs.map +1 -1
- package/mssql-core/columns/numeric.cjs +6 -5
- package/mssql-core/columns/numeric.cjs.map +1 -1
- package/mssql-core/columns/numeric.d.cts +2 -2
- package/mssql-core/columns/numeric.d.ts +2 -2
- package/mssql-core/columns/numeric.js +4 -4
- package/mssql-core/columns/numeric.js.map +1 -1
- package/mssql-core/columns/real.cjs +5 -1
- package/mssql-core/columns/real.cjs.map +1 -1
- package/mssql-core/columns/real.d.cts +1 -0
- package/mssql-core/columns/real.d.ts +1 -0
- package/mssql-core/columns/real.js +3 -0
- package/mssql-core/columns/real.js.map +1 -1
- package/mssql-core/columns/smallint.cjs +4 -3
- package/mssql-core/columns/smallint.cjs.map +1 -1
- package/mssql-core/columns/smallint.d.cts +1 -1
- package/mssql-core/columns/smallint.d.ts +1 -1
- package/mssql-core/columns/smallint.js +2 -2
- package/mssql-core/columns/smallint.js.map +1 -1
- package/mssql-core/columns/text.cjs +2 -1
- package/mssql-core/columns/text.cjs.map +1 -1
- package/mssql-core/columns/time.cjs +4 -3
- package/mssql-core/columns/time.cjs.map +1 -1
- package/mssql-core/columns/time.d.cts +1 -1
- package/mssql-core/columns/time.d.ts +1 -1
- package/mssql-core/columns/time.js +2 -2
- package/mssql-core/columns/time.js.map +1 -1
- package/mssql-core/columns/tinyint.cjs +4 -3
- package/mssql-core/columns/tinyint.cjs.map +1 -1
- package/mssql-core/columns/tinyint.d.cts +1 -1
- package/mssql-core/columns/tinyint.d.ts +1 -1
- package/mssql-core/columns/tinyint.js +2 -2
- package/mssql-core/columns/tinyint.js.map +1 -1
- package/mssql-core/columns/varbinary.cjs +2 -1
- package/mssql-core/columns/varbinary.cjs.map +1 -1
- package/mssql-core/columns/varchar.cjs +6 -5
- package/mssql-core/columns/varchar.cjs.map +1 -1
- package/mssql-core/columns/varchar.d.cts +2 -2
- package/mssql-core/columns/varchar.d.ts +2 -2
- package/mssql-core/columns/varchar.js +4 -4
- package/mssql-core/columns/varchar.js.map +1 -1
- package/mssql-core/db.cjs +4 -3
- package/mssql-core/db.cjs.map +1 -1
- package/mssql-core/db.d.cts +2 -1
- package/mssql-core/db.d.ts +2 -1
- package/mssql-core/db.js +2 -2
- package/mssql-core/db.js.map +1 -1
- package/mssql-core/dialect.cjs +72 -58
- package/mssql-core/dialect.cjs.map +1 -1
- package/mssql-core/dialect.d.cts +3 -5
- package/mssql-core/dialect.d.ts +4 -6
- package/mssql-core/dialect.js +69 -56
- package/mssql-core/dialect.js.map +1 -1
- package/mssql-core/expressions.cjs +2 -1
- package/mssql-core/expressions.cjs.map +1 -1
- package/mssql-core/expressions.d.cts +0 -1
- package/mssql-core/expressions.d.ts +0 -1
- package/mssql-core/expressions.js.map +1 -1
- package/mssql-core/foreign-keys.cjs +2 -1
- package/mssql-core/foreign-keys.cjs.map +1 -1
- package/mssql-core/foreign-keys.d.cts +0 -1
- package/mssql-core/foreign-keys.d.ts +0 -1
- package/mssql-core/foreign-keys.js.map +1 -1
- package/mssql-core/index.cjs +19 -13
- package/mssql-core/index.d.cts +4 -5
- package/mssql-core/index.d.ts +4 -5
- package/mssql-core/index.js +17 -16
- package/mssql-core/indexes.cjs +2 -1
- package/mssql-core/indexes.cjs.map +1 -1
- package/mssql-core/indexes.d.cts +0 -1
- package/mssql-core/indexes.d.ts +0 -1
- package/mssql-core/indexes.js.map +1 -1
- package/mssql-core/primary-keys.cjs +2 -1
- package/mssql-core/primary-keys.cjs.map +1 -1
- package/mssql-core/primary-keys.d.cts +0 -1
- package/mssql-core/primary-keys.d.ts +0 -1
- package/mssql-core/primary-keys.js.map +1 -1
- package/mssql-core/query-builders/delete.cjs +2 -1
- package/mssql-core/query-builders/delete.cjs.map +1 -1
- package/mssql-core/query-builders/delete.js.map +1 -1
- package/mssql-core/query-builders/index.cjs +3 -2
- package/mssql-core/query-builders/index.js +2 -2
- package/mssql-core/query-builders/insert.cjs +2 -1
- package/mssql-core/query-builders/insert.cjs.map +1 -1
- package/mssql-core/query-builders/insert.js.map +1 -1
- package/mssql-core/query-builders/query-builder.cjs +2 -1
- package/mssql-core/query-builders/query-builder.cjs.map +1 -1
- package/mssql-core/query-builders/query.cjs +2 -1
- package/mssql-core/query-builders/query.cjs.map +1 -1
- package/mssql-core/query-builders/query.js.map +1 -1
- package/mssql-core/query-builders/select.cjs +6 -1
- package/mssql-core/query-builders/select.cjs.map +1 -1
- package/mssql-core/query-builders/select.js +4 -0
- package/mssql-core/query-builders/select.js.map +1 -1
- package/mssql-core/query-builders/update.cjs +2 -1
- package/mssql-core/query-builders/update.cjs.map +1 -1
- package/mssql-core/query-builders/update.d.cts +4 -4
- package/mssql-core/query-builders/update.d.ts +5 -5
- package/mssql-core/query-builders/update.js.map +1 -1
- package/mssql-core/schema.cjs +9 -6
- package/mssql-core/schema.cjs.map +1 -1
- package/mssql-core/schema.d.cts +3 -1
- package/mssql-core/schema.d.ts +3 -1
- package/mssql-core/schema.js +7 -5
- package/mssql-core/schema.js.map +1 -1
- package/mssql-core/session.cjs +2 -1
- package/mssql-core/session.cjs.map +1 -1
- package/mssql-core/session.js.map +1 -1
- package/mssql-core/table.cjs +18 -11
- package/mssql-core/table.cjs.map +1 -1
- package/mssql-core/table.d.cts +6 -4
- package/mssql-core/table.d.ts +6 -4
- package/mssql-core/table.js +16 -11
- package/mssql-core/table.js.map +1 -1
- package/mssql-core/unique-constraint.cjs +2 -1
- package/mssql-core/unique-constraint.cjs.map +1 -1
- package/mssql-core/unique-constraint.d.cts +0 -1
- package/mssql-core/unique-constraint.d.ts +0 -1
- package/mssql-core/unique-constraint.js.map +1 -1
- package/mssql-core/utils.cjs +6 -5
- package/mssql-core/utils.cjs.map +1 -1
- package/mssql-core/utils.d.cts +0 -3
- package/mssql-core/utils.d.ts +0 -3
- package/mssql-core/utils.js +4 -4
- package/mssql-core/utils.js.map +1 -1
- package/mssql-core/view-base.cjs +2 -1
- package/mssql-core/view-base.cjs.map +1 -1
- package/mssql-core/view-common.cjs +1 -0
- package/mssql-core/view-common.cjs.map +1 -1
- package/mssql-core/view.cjs +12 -8
- package/mssql-core/view.cjs.map +1 -1
- package/mssql-core/view.d.cts +8 -4
- package/mssql-core/view.d.ts +8 -4
- package/mssql-core/view.js +10 -8
- package/mssql-core/view.js.map +1 -1
- package/mysql-core/alias.cjs +4 -3
- package/mysql-core/alias.cjs.map +1 -1
- package/mysql-core/alias.js +2 -2
- package/mysql-core/alias.js.map +1 -1
- package/mysql-core/casing.cjs +25 -0
- package/mysql-core/casing.cjs.map +1 -0
- package/mysql-core/casing.d.cts +18 -0
- package/mysql-core/casing.d.ts +18 -0
- package/mysql-core/casing.js +23 -0
- package/mysql-core/casing.js.map +1 -0
- package/mysql-core/checks.cjs +2 -1
- package/mysql-core/checks.cjs.map +1 -1
- package/mysql-core/checks.js.map +1 -1
- package/mysql-core/columns/all.cjs +1 -0
- package/mysql-core/columns/all.cjs.map +1 -1
- package/mysql-core/columns/all.d.cts +1 -1
- package/mysql-core/columns/all.d.ts +1 -1
- package/mysql-core/columns/bigint.cjs +10 -9
- package/mysql-core/columns/bigint.cjs.map +1 -1
- package/mysql-core/columns/bigint.d.cts +4 -4
- package/mysql-core/columns/bigint.d.ts +4 -4
- package/mysql-core/columns/bigint.js +8 -8
- package/mysql-core/columns/bigint.js.map +1 -1
- package/mysql-core/columns/binary.cjs +4 -3
- package/mysql-core/columns/binary.cjs.map +1 -1
- package/mysql-core/columns/binary.d.cts +1 -1
- package/mysql-core/columns/binary.d.ts +1 -1
- package/mysql-core/columns/binary.js +2 -2
- package/mysql-core/columns/binary.js.map +1 -1
- package/mysql-core/columns/blob.cjs +6 -5
- package/mysql-core/columns/blob.cjs.map +1 -1
- package/mysql-core/columns/blob.d.cts +2 -2
- package/mysql-core/columns/blob.d.ts +2 -2
- package/mysql-core/columns/blob.js +4 -4
- package/mysql-core/columns/blob.js.map +1 -1
- package/mysql-core/columns/boolean.cjs +4 -3
- package/mysql-core/columns/boolean.cjs.map +1 -1
- package/mysql-core/columns/boolean.d.cts +1 -1
- package/mysql-core/columns/boolean.d.ts +1 -1
- package/mysql-core/columns/boolean.js +2 -2
- package/mysql-core/columns/boolean.js.map +1 -1
- package/mysql-core/columns/char.cjs +2 -1
- package/mysql-core/columns/char.cjs.map +1 -1
- package/mysql-core/columns/common.cjs +6 -5
- package/mysql-core/columns/common.cjs.map +1 -1
- package/mysql-core/columns/common.d.cts +1 -1
- package/mysql-core/columns/common.d.ts +1 -1
- package/mysql-core/columns/common.js +4 -4
- package/mysql-core/columns/common.js.map +1 -1
- package/mysql-core/columns/custom.cjs +6 -5
- package/mysql-core/columns/custom.cjs.map +1 -1
- package/mysql-core/columns/custom.d.cts +2 -2
- package/mysql-core/columns/custom.d.ts +2 -2
- package/mysql-core/columns/custom.js +4 -4
- package/mysql-core/columns/custom.js.map +1 -1
- package/mysql-core/columns/date.cjs +6 -5
- package/mysql-core/columns/date.cjs.map +1 -1
- package/mysql-core/columns/date.common.cjs +2 -1
- package/mysql-core/columns/date.common.cjs.map +1 -1
- package/mysql-core/columns/date.d.cts +2 -2
- package/mysql-core/columns/date.d.ts +2 -2
- package/mysql-core/columns/date.js +4 -4
- package/mysql-core/columns/date.js.map +1 -1
- package/mysql-core/columns/datetime.cjs +15 -14
- package/mysql-core/columns/datetime.cjs.map +1 -1
- package/mysql-core/columns/datetime.d.cts +9 -9
- package/mysql-core/columns/datetime.d.ts +9 -9
- package/mysql-core/columns/datetime.js +13 -13
- package/mysql-core/columns/datetime.js.map +1 -1
- package/mysql-core/columns/decimal.cjs +6 -5
- package/mysql-core/columns/decimal.cjs.map +1 -1
- package/mysql-core/columns/decimal.d.cts +2 -2
- package/mysql-core/columns/decimal.d.ts +2 -2
- package/mysql-core/columns/decimal.js +4 -4
- package/mysql-core/columns/decimal.js.map +1 -1
- package/mysql-core/columns/double.cjs +2 -1
- package/mysql-core/columns/double.cjs.map +1 -1
- package/mysql-core/columns/enum.cjs +2 -1
- package/mysql-core/columns/enum.cjs.map +1 -1
- package/mysql-core/columns/float.cjs +4 -3
- package/mysql-core/columns/float.cjs.map +1 -1
- package/mysql-core/columns/float.d.cts +1 -1
- package/mysql-core/columns/float.d.ts +1 -1
- package/mysql-core/columns/float.js +2 -2
- package/mysql-core/columns/float.js.map +1 -1
- package/mysql-core/columns/index.cjs +1 -0
- package/mysql-core/columns/index.d.cts +1 -1
- package/mysql-core/columns/index.d.ts +1 -1
- package/mysql-core/columns/int.cjs +4 -3
- package/mysql-core/columns/int.cjs.map +1 -1
- package/mysql-core/columns/int.d.cts +1 -1
- package/mysql-core/columns/int.d.ts +1 -1
- package/mysql-core/columns/int.js +2 -2
- package/mysql-core/columns/int.js.map +1 -1
- package/mysql-core/columns/json.cjs +4 -3
- package/mysql-core/columns/json.cjs.map +1 -1
- package/mysql-core/columns/json.d.cts +1 -1
- package/mysql-core/columns/json.d.ts +1 -1
- package/mysql-core/columns/json.js +2 -2
- package/mysql-core/columns/json.js.map +1 -1
- package/mysql-core/columns/mediumint.cjs +4 -3
- package/mysql-core/columns/mediumint.cjs.map +1 -1
- package/mysql-core/columns/mediumint.d.cts +1 -1
- package/mysql-core/columns/mediumint.d.ts +1 -1
- package/mysql-core/columns/mediumint.js +2 -2
- package/mysql-core/columns/mediumint.js.map +1 -1
- package/mysql-core/columns/real.cjs +2 -1
- package/mysql-core/columns/real.cjs.map +1 -1
- package/mysql-core/columns/serial.cjs +4 -3
- package/mysql-core/columns/serial.cjs.map +1 -1
- package/mysql-core/columns/serial.d.cts +1 -1
- package/mysql-core/columns/serial.d.ts +1 -1
- package/mysql-core/columns/serial.js +2 -2
- package/mysql-core/columns/serial.js.map +1 -1
- package/mysql-core/columns/smallint.cjs +4 -3
- package/mysql-core/columns/smallint.cjs.map +1 -1
- package/mysql-core/columns/smallint.d.cts +1 -1
- package/mysql-core/columns/smallint.d.ts +1 -1
- package/mysql-core/columns/smallint.js +2 -2
- package/mysql-core/columns/smallint.js.map +1 -1
- package/mysql-core/columns/string.common.cjs +2 -1
- package/mysql-core/columns/string.common.cjs.map +1 -1
- package/mysql-core/columns/text.cjs +2 -1
- package/mysql-core/columns/text.cjs.map +1 -1
- package/mysql-core/columns/time.cjs +4 -3
- package/mysql-core/columns/time.cjs.map +1 -1
- package/mysql-core/columns/time.d.cts +1 -1
- package/mysql-core/columns/time.d.ts +1 -1
- package/mysql-core/columns/time.js +2 -2
- package/mysql-core/columns/time.js.map +1 -1
- package/mysql-core/columns/timestamp.cjs +10 -9
- package/mysql-core/columns/timestamp.cjs.map +1 -1
- package/mysql-core/columns/timestamp.d.cts +4 -4
- package/mysql-core/columns/timestamp.d.ts +4 -4
- package/mysql-core/columns/timestamp.js +8 -8
- package/mysql-core/columns/timestamp.js.map +1 -1
- package/mysql-core/columns/tinyint.cjs +4 -3
- package/mysql-core/columns/tinyint.cjs.map +1 -1
- package/mysql-core/columns/tinyint.d.cts +1 -1
- package/mysql-core/columns/tinyint.d.ts +1 -1
- package/mysql-core/columns/tinyint.js +2 -2
- package/mysql-core/columns/tinyint.js.map +1 -1
- package/mysql-core/columns/varbinary.cjs +4 -3
- package/mysql-core/columns/varbinary.cjs.map +1 -1
- package/mysql-core/columns/varbinary.d.cts +1 -1
- package/mysql-core/columns/varbinary.d.ts +1 -1
- package/mysql-core/columns/varbinary.js +2 -2
- package/mysql-core/columns/varbinary.js.map +1 -1
- package/mysql-core/columns/varchar.cjs +2 -1
- package/mysql-core/columns/varchar.cjs.map +1 -1
- package/mysql-core/columns/year.cjs +4 -3
- package/mysql-core/columns/year.cjs.map +1 -1
- package/mysql-core/columns/year.d.cts +1 -1
- package/mysql-core/columns/year.d.ts +1 -1
- package/mysql-core/columns/year.js +2 -2
- package/mysql-core/columns/year.js.map +1 -1
- package/mysql-core/db.cjs +4 -3
- package/mysql-core/db.cjs.map +1 -1
- package/mysql-core/db.d.cts +3 -2
- package/mysql-core/db.d.ts +4 -3
- package/mysql-core/db.js +2 -2
- package/mysql-core/db.js.map +1 -1
- package/mysql-core/dialect.cjs +112 -87
- package/mysql-core/dialect.cjs.map +1 -1
- package/mysql-core/dialect.d.cts +13 -10
- package/mysql-core/dialect.d.ts +14 -11
- package/mysql-core/dialect.js +109 -85
- package/mysql-core/dialect.js.map +1 -1
- package/mysql-core/expressions.cjs +2 -1
- package/mysql-core/expressions.cjs.map +1 -1
- package/mysql-core/expressions.d.cts +0 -1
- package/mysql-core/expressions.d.ts +0 -1
- package/mysql-core/expressions.js.map +1 -1
- package/mysql-core/foreign-keys.cjs +2 -1
- package/mysql-core/foreign-keys.cjs.map +1 -1
- package/mysql-core/foreign-keys.d.cts +0 -1
- package/mysql-core/foreign-keys.d.ts +0 -1
- package/mysql-core/foreign-keys.js.map +1 -1
- package/mysql-core/index.cjs +15 -9
- package/mysql-core/index.d.cts +4 -5
- package/mysql-core/index.d.ts +4 -5
- package/mysql-core/index.js +12 -11
- package/mysql-core/indexes.cjs +2 -1
- package/mysql-core/indexes.cjs.map +1 -1
- package/mysql-core/indexes.d.cts +0 -1
- package/mysql-core/indexes.d.ts +0 -1
- package/mysql-core/indexes.js.map +1 -1
- package/mysql-core/primary-keys.cjs +2 -1
- package/mysql-core/primary-keys.cjs.map +1 -1
- package/mysql-core/primary-keys.d.cts +0 -1
- package/mysql-core/primary-keys.d.ts +0 -1
- package/mysql-core/primary-keys.js.map +1 -1
- package/mysql-core/query-builders/_query.cjs +3 -2
- package/mysql-core/query-builders/_query.cjs.map +1 -1
- package/mysql-core/query-builders/_query.d.cts +8 -4
- package/mysql-core/query-builders/_query.d.ts +8 -4
- package/mysql-core/query-builders/_query.js.map +1 -1
- package/mysql-core/query-builders/count.cjs +2 -1
- package/mysql-core/query-builders/count.cjs.map +1 -1
- package/mysql-core/query-builders/count.js.map +1 -1
- package/mysql-core/query-builders/delete.cjs +10 -1
- package/mysql-core/query-builders/delete.cjs.map +1 -1
- package/mysql-core/query-builders/delete.d.cts +6 -1
- package/mysql-core/query-builders/delete.d.ts +6 -1
- package/mysql-core/query-builders/delete.js +8 -0
- package/mysql-core/query-builders/delete.js.map +1 -1
- package/mysql-core/query-builders/index.cjs +2 -1
- package/mysql-core/query-builders/index.js +1 -1
- package/mysql-core/query-builders/insert.cjs +11 -3
- package/mysql-core/query-builders/insert.cjs.map +1 -1
- package/mysql-core/query-builders/insert.d.cts +8 -3
- package/mysql-core/query-builders/insert.d.ts +8 -3
- package/mysql-core/query-builders/insert.js +9 -2
- package/mysql-core/query-builders/insert.js.map +1 -1
- package/mysql-core/query-builders/query-builder.cjs +2 -1
- package/mysql-core/query-builders/query-builder.cjs.map +1 -1
- package/mysql-core/query-builders/query.cjs +15 -6
- package/mysql-core/query-builders/query.cjs.map +1 -1
- package/mysql-core/query-builders/query.d.cts +9 -5
- package/mysql-core/query-builders/query.d.ts +9 -5
- package/mysql-core/query-builders/query.js +13 -5
- package/mysql-core/query-builders/query.js.map +1 -1
- package/mysql-core/query-builders/select.cjs +15 -3
- package/mysql-core/query-builders/select.cjs.map +1 -1
- package/mysql-core/query-builders/select.d.cts +6 -2
- package/mysql-core/query-builders/select.d.ts +7 -3
- package/mysql-core/query-builders/select.js +14 -3
- package/mysql-core/query-builders/select.js.map +1 -1
- package/mysql-core/query-builders/select.types.d.cts +1 -0
- package/mysql-core/query-builders/select.types.d.ts +2 -1
- package/mysql-core/query-builders/update.cjs +10 -1
- package/mysql-core/query-builders/update.cjs.map +1 -1
- package/mysql-core/query-builders/update.d.cts +8 -3
- package/mysql-core/query-builders/update.d.ts +8 -3
- package/mysql-core/query-builders/update.js +8 -0
- package/mysql-core/query-builders/update.js.map +1 -1
- package/mysql-core/schema.cjs +9 -13
- package/mysql-core/schema.cjs.map +1 -1
- package/mysql-core/schema.d.cts +3 -1
- package/mysql-core/schema.d.ts +3 -1
- package/mysql-core/schema.js +7 -12
- package/mysql-core/schema.js.map +1 -1
- package/mysql-core/session.cjs +5 -4
- package/mysql-core/session.cjs.map +1 -1
- package/mysql-core/session.d.cts +3 -5
- package/mysql-core/session.d.ts +3 -5
- package/mysql-core/session.js +3 -3
- package/mysql-core/session.js.map +1 -1
- package/mysql-core/table.cjs +17 -11
- package/mysql-core/table.cjs.map +1 -1
- package/mysql-core/table.d.cts +4 -3
- package/mysql-core/table.d.ts +4 -3
- package/mysql-core/table.js +15 -11
- package/mysql-core/table.js.map +1 -1
- package/mysql-core/unique-constraint.cjs +2 -1
- package/mysql-core/unique-constraint.cjs.map +1 -1
- package/mysql-core/unique-constraint.d.cts +0 -1
- package/mysql-core/unique-constraint.d.ts +0 -1
- package/mysql-core/unique-constraint.js.map +1 -1
- package/mysql-core/utils.cjs +4 -3
- package/mysql-core/utils.cjs.map +1 -1
- package/mysql-core/utils.d.cts +0 -1
- package/mysql-core/utils.d.ts +2 -3
- package/mysql-core/utils.js +2 -2
- package/mysql-core/utils.js.map +1 -1
- package/mysql-core/view-base.cjs +2 -1
- package/mysql-core/view-base.cjs.map +1 -1
- package/mysql-core/view-common.cjs +1 -0
- package/mysql-core/view-common.cjs.map +1 -1
- package/mysql-core/view.cjs +12 -8
- package/mysql-core/view.cjs.map +1 -1
- package/mysql-core/view.d.cts +8 -4
- package/mysql-core/view.d.ts +8 -4
- package/mysql-core/view.js +11 -9
- package/mysql-core/view.js.map +1 -1
- package/mysql-proxy/driver.cjs +10 -5
- package/mysql-proxy/driver.cjs.map +1 -1
- package/mysql-proxy/driver.js +7 -3
- package/mysql-proxy/driver.js.map +1 -1
- package/mysql-proxy/index.cjs +1 -0
- package/mysql-proxy/migrator.cjs +26 -14
- package/mysql-proxy/migrator.cjs.map +1 -1
- package/mysql-proxy/migrator.js +24 -13
- package/mysql-proxy/migrator.js.map +1 -1
- package/mysql-proxy/session.cjs +13 -7
- package/mysql-proxy/session.cjs.map +1 -1
- package/mysql-proxy/session.d.cts +8 -3
- package/mysql-proxy/session.d.ts +10 -5
- package/mysql-proxy/session.js +12 -7
- package/mysql-proxy/session.js.map +1 -1
- package/mysql2/driver.cjs +8 -5
- package/mysql2/driver.cjs.map +1 -1
- package/mysql2/driver.d.cts +1 -0
- package/mysql2/driver.d.ts +8 -7
- package/mysql2/driver.js +5 -3
- package/mysql2/driver.js.map +1 -1
- package/mysql2/index.cjs +2 -1
- package/mysql2/migrator.cjs +2 -1
- package/mysql2/migrator.cjs.map +1 -1
- package/mysql2/migrator.d.cts +2 -2
- package/mysql2/migrator.d.ts +2 -2
- package/mysql2/session.cjs +20 -9
- package/mysql2/session.cjs.map +1 -1
- package/mysql2/session.d.cts +7 -3
- package/mysql2/session.d.ts +8 -4
- package/mysql2/session.js +19 -9
- package/mysql2/session.js.map +1 -1
- package/neon/index.cjs +2 -1
- package/neon/index.js +1 -1
- package/neon/neon-auth.cjs +2 -1
- package/neon/neon-auth.cjs.map +1 -1
- package/neon/neon-auth.d.cts +9 -17
- package/neon/neon-auth.d.ts +9 -17
- package/neon/rls.cjs +2 -1
- package/neon/rls.cjs.map +1 -1
- package/neon/rls.d.cts +2 -3
- package/neon/rls.d.ts +2 -3
- package/neon/rls.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 +29 -66
- package/neon-http/driver.cjs.map +1 -1
- package/neon-http/driver.d.cts +10 -25
- package/neon-http/driver.d.ts +11 -26
- package/neon-http/driver.js +28 -64
- package/neon-http/driver.js.map +1 -1
- package/neon-http/index.cjs +4 -4
- package/neon-http/index.d.cts +4 -3
- package/neon-http/index.d.ts +4 -3
- package/neon-http/index.js +4 -3
- package/neon-http/migrator.cjs +21 -10
- package/neon-http/migrator.cjs.map +1 -1
- package/neon-http/migrator.d.cts +1 -2
- package/neon-http/migrator.d.ts +1 -2
- package/neon-http/migrator.js +19 -9
- package/neon-http/migrator.js.map +1 -1
- package/neon-http/session.cjs +29 -117
- package/neon-http/session.cjs.map +1 -1
- package/neon-http/session.d.cts +10 -39
- package/neon-http/session.d.ts +9 -38
- package/neon-http/session.js +29 -116
- package/neon-http/session.js.map +1 -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 +13 -33
- package/neon-serverless/driver.cjs.map +1 -1
- package/neon-serverless/driver.d.cts +9 -18
- package/neon-serverless/driver.d.ts +9 -18
- package/neon-serverless/driver.js +12 -31
- package/neon-serverless/driver.js.map +1 -1
- package/neon-serverless/index.cjs +4 -3
- package/neon-serverless/index.d.cts +4 -3
- package/neon-serverless/index.d.ts +4 -3
- package/neon-serverless/index.js +4 -3
- package/neon-serverless/migrator.cjs +3 -2
- package/neon-serverless/migrator.cjs.map +1 -1
- package/neon-serverless/migrator.d.cts +1 -1
- package/neon-serverless/migrator.d.ts +2 -2
- package/neon-serverless/migrator.js +1 -1
- package/neon-serverless/migrator.js.map +1 -1
- package/neon-serverless/session.cjs +34 -113
- package/neon-serverless/session.cjs.map +1 -1
- package/neon-serverless/session.d.cts +9 -35
- package/neon-serverless/session.d.ts +8 -34
- package/neon-serverless/session.js +34 -113
- package/neon-serverless/session.js.map +1 -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 +106 -0
- package/netlify-db/driver.cjs.map +1 -0
- package/netlify-db/driver.d.cts +79 -0
- package/netlify-db/driver.d.ts +79 -0
- package/netlify-db/driver.js +98 -0
- package/netlify-db/driver.js.map +1 -0
- package/netlify-db/index.cjs +17 -0
- package/netlify-db/index.d.cts +4 -0
- package/netlify-db/index.d.ts +4 -0
- package/netlify-db/index.js +5 -0
- package/netlify-db/migrator.cjs +17 -0
- package/netlify-db/migrator.cjs.map +1 -0
- package/netlify-db/migrator.d.cts +11 -0
- package/netlify-db/migrator.d.ts +11 -0
- package/netlify-db/migrator.js +15 -0
- package/netlify-db/migrator.js.map +1 -0
- package/netlify-db/session.cjs +174 -0
- package/netlify-db/session.cjs.map +1 -0
- package/netlify-db/session.d.cts +65 -0
- package/netlify-db/session.d.ts +65 -0
- package/netlify-db/session.js +170 -0
- package/netlify-db/session.js.map +1 -0
- package/node-mssql/driver.cjs +15 -7
- package/node-mssql/driver.cjs.map +1 -1
- package/node-mssql/driver.d.cts +1 -0
- package/node-mssql/driver.d.ts +3 -2
- package/node-mssql/driver.js +12 -5
- package/node-mssql/driver.js.map +1 -1
- package/node-mssql/index.cjs +2 -1
- package/node-mssql/migrator.cjs +2 -1
- package/node-mssql/migrator.cjs.map +1 -1
- package/node-mssql/migrator.d.cts +2 -2
- package/node-mssql/migrator.d.ts +2 -2
- package/node-mssql/pool.cjs +3 -2
- package/node-mssql/pool.cjs.map +1 -1
- package/node-mssql/session.cjs +12 -7
- package/node-mssql/session.cjs.map +1 -1
- package/node-mssql/session.d.cts +4 -1
- package/node-mssql/session.d.ts +5 -2
- package/node-mssql/session.js +10 -6
- 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 +14 -19
- package/node-postgres/driver.cjs.map +1 -1
- package/node-postgres/driver.d.cts +6 -12
- package/node-postgres/driver.d.ts +6 -12
- package/node-postgres/driver.js +11 -16
- package/node-postgres/driver.js.map +1 -1
- package/node-postgres/index.cjs +4 -2
- package/node-postgres/index.d.cts +4 -3
- package/node-postgres/index.d.ts +4 -3
- package/node-postgres/index.js +3 -2
- package/node-postgres/migrator.cjs +3 -2
- package/node-postgres/migrator.cjs.map +1 -1
- package/node-postgres/migrator.d.cts +2 -2
- package/node-postgres/migrator.d.ts +2 -2
- package/node-postgres/migrator.js +1 -1
- package/node-postgres/migrator.js.map +1 -1
- package/node-postgres/session.cjs +35 -137
- package/node-postgres/session.cjs.map +1 -1
- package/node-postgres/session.d.cts +10 -35
- package/node-postgres/session.d.ts +8 -33
- package/node-postgres/session.js +34 -136
- package/node-postgres/session.js.map +1 -1
- package/node-sqlite/driver.cjs +64 -0
- package/node-sqlite/driver.cjs.map +1 -0
- package/node-sqlite/driver.d.cts +28 -0
- package/node-sqlite/driver.d.ts +28 -0
- package/node-sqlite/driver.js +55 -0
- package/node-sqlite/driver.js.map +1 -0
- package/node-sqlite/index.cjs +14 -0
- package/node-sqlite/index.d.cts +3 -0
- package/node-sqlite/index.d.ts +3 -0
- package/node-sqlite/index.js +4 -0
- package/node-sqlite/migrator.cjs +13 -0
- package/node-sqlite/migrator.cjs.map +1 -0
- package/node-sqlite/migrator.d.cts +10 -0
- package/node-sqlite/migrator.d.ts +10 -0
- package/node-sqlite/migrator.js +11 -0
- package/node-sqlite/migrator.js.map +1 -0
- package/node-sqlite/session.cjs +140 -0
- package/node-sqlite/session.cjs.map +1 -0
- package/node-sqlite/session.d.cts +62 -0
- package/node-sqlite/session.d.ts +62 -0
- package/node-sqlite/session.js +136 -0
- package/node-sqlite/session.js.map +1 -0
- package/op-sqlite/driver.cjs +8 -5
- package/op-sqlite/driver.cjs.map +1 -1
- package/op-sqlite/driver.d.ts +1 -1
- package/op-sqlite/driver.js +5 -3
- package/op-sqlite/driver.js.map +1 -1
- package/op-sqlite/index.cjs +1 -0
- package/op-sqlite/migrator.cjs +9 -7
- package/op-sqlite/migrator.cjs.map +1 -1
- package/op-sqlite/migrator.d.cts +2 -2
- package/op-sqlite/migrator.d.ts +2 -2
- package/op-sqlite/migrator.js +8 -7
- package/op-sqlite/migrator.js.map +1 -1
- package/op-sqlite/session.cjs +19 -16
- package/op-sqlite/session.cjs.map +1 -1
- package/op-sqlite/session.d.cts +13 -9
- package/op-sqlite/session.d.ts +16 -12
- package/op-sqlite/session.js +21 -19
- package/op-sqlite/session.js.map +1 -1
- package/operations.d.cts +3 -0
- package/operations.d.ts +3 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +4453 -4333
- package/package.json.d.cts +5 -0
- package/package.json.d.ts +5 -0
- package/pg-core/alias.cjs +4 -3
- package/pg-core/alias.cjs.map +1 -1
- package/pg-core/alias.js +2 -2
- package/pg-core/alias.js.map +1 -1
- package/pg-core/array.cjs +69 -0
- package/pg-core/array.cjs.map +1 -0
- package/pg-core/array.d.cts +7 -0
- package/pg-core/array.d.ts +7 -0
- package/pg-core/array.js +65 -0
- package/pg-core/array.js.map +1 -0
- package/pg-core/async/count.cjs +4 -10
- package/pg-core/async/count.cjs.map +1 -1
- package/pg-core/async/count.js +2 -9
- package/pg-core/async/count.js.map +1 -1
- package/pg-core/async/db.cjs +19 -33
- package/pg-core/async/db.cjs.map +1 -1
- package/pg-core/async/db.d.cts +9 -15
- package/pg-core/async/db.d.ts +10 -16
- package/pg-core/async/db.js +17 -32
- package/pg-core/async/db.js.map +1 -1
- package/pg-core/async/delete.cjs +12 -14
- package/pg-core/async/delete.cjs.map +1 -1
- package/pg-core/async/delete.d.cts +1 -1
- package/pg-core/async/delete.d.ts +1 -1
- package/pg-core/async/delete.js +10 -13
- package/pg-core/async/delete.js.map +1 -1
- package/pg-core/async/index.cjs +1 -0
- package/pg-core/async/insert.cjs +11 -13
- package/pg-core/async/insert.cjs.map +1 -1
- package/pg-core/async/insert.d.cts +1 -1
- package/pg-core/async/insert.d.ts +1 -1
- package/pg-core/async/insert.js +9 -12
- package/pg-core/async/insert.js.map +1 -1
- package/pg-core/async/query.cjs +13 -16
- package/pg-core/async/query.cjs.map +1 -1
- package/pg-core/async/query.d.cts +1 -1
- package/pg-core/async/query.d.ts +1 -1
- package/pg-core/async/query.js +11 -15
- package/pg-core/async/query.js.map +1 -1
- package/pg-core/async/raw.cjs +2 -1
- package/pg-core/async/raw.cjs.map +1 -1
- package/pg-core/async/raw.js.map +1 -1
- package/pg-core/async/refresh-materialized-view.cjs +6 -11
- package/pg-core/async/refresh-materialized-view.cjs.map +1 -1
- package/pg-core/async/refresh-materialized-view.d.cts +1 -1
- package/pg-core/async/refresh-materialized-view.d.ts +1 -1
- package/pg-core/async/refresh-materialized-view.js +4 -10
- package/pg-core/async/refresh-materialized-view.js.map +1 -1
- package/pg-core/async/select.cjs +9 -15
- package/pg-core/async/select.cjs.map +1 -1
- package/pg-core/async/select.d.cts +1 -1
- package/pg-core/async/select.d.ts +1 -1
- package/pg-core/async/select.js +7 -14
- package/pg-core/async/select.js.map +1 -1
- package/pg-core/async/session.cjs +83 -34
- package/pg-core/async/session.cjs.map +1 -1
- package/pg-core/async/session.d.cts +27 -32
- package/pg-core/async/session.d.ts +27 -32
- package/pg-core/async/session.js +83 -35
- package/pg-core/async/session.js.map +1 -1
- package/pg-core/async/update.cjs +15 -9
- package/pg-core/async/update.cjs.map +1 -1
- package/pg-core/async/update.d.cts +1 -1
- package/pg-core/async/update.d.ts +1 -1
- package/pg-core/async/update.js +13 -8
- package/pg-core/async/update.js.map +1 -1
- package/pg-core/casing.cjs +27 -0
- package/pg-core/casing.cjs.map +1 -0
- package/pg-core/casing.d.cts +20 -0
- package/pg-core/casing.d.ts +20 -0
- package/pg-core/casing.js +25 -0
- package/pg-core/casing.js.map +1 -0
- package/pg-core/checks.cjs +2 -1
- package/pg-core/checks.cjs.map +1 -1
- package/pg-core/checks.js.map +1 -1
- package/pg-core/codecs.cjs +302 -0
- package/pg-core/codecs.cjs.map +1 -0
- package/pg-core/codecs.d.cts +234 -0
- package/pg-core/codecs.d.ts +234 -0
- package/pg-core/codecs.js +283 -0
- package/pg-core/codecs.js.map +1 -0
- package/pg-core/columns/all.cjs +1 -0
- package/pg-core/columns/all.cjs.map +1 -1
- package/pg-core/columns/bigint.cjs +12 -15
- package/pg-core/columns/bigint.cjs.map +1 -1
- package/pg-core/columns/bigint.d.cts +5 -7
- package/pg-core/columns/bigint.d.ts +5 -7
- package/pg-core/columns/bigint.js +11 -15
- package/pg-core/columns/bigint.js.map +1 -1
- package/pg-core/columns/bigserial.cjs +6 -8
- package/pg-core/columns/bigserial.cjs.map +1 -1
- package/pg-core/columns/bigserial.d.cts +0 -2
- package/pg-core/columns/bigserial.d.ts +0 -2
- package/pg-core/columns/bigserial.js +4 -7
- package/pg-core/columns/bigserial.js.map +1 -1
- package/pg-core/columns/boolean.cjs +4 -1
- package/pg-core/columns/boolean.cjs.map +1 -1
- package/pg-core/columns/boolean.js +2 -0
- package/pg-core/columns/boolean.js.map +1 -1
- package/pg-core/columns/bytea.cjs +4 -9
- package/pg-core/columns/bytea.cjs.map +1 -1
- package/pg-core/columns/bytea.d.cts +0 -1
- package/pg-core/columns/bytea.d.ts +0 -1
- package/pg-core/columns/bytea.js +2 -8
- package/pg-core/columns/bytea.js.map +1 -1
- package/pg-core/columns/char.cjs +4 -1
- package/pg-core/columns/char.cjs.map +1 -1
- package/pg-core/columns/char.d.cts +12 -12
- package/pg-core/columns/char.d.ts +12 -12
- package/pg-core/columns/char.js +2 -0
- package/pg-core/columns/char.js.map +1 -1
- package/pg-core/columns/cidr.cjs +4 -1
- package/pg-core/columns/cidr.cjs.map +1 -1
- package/pg-core/columns/cidr.js +2 -0
- package/pg-core/columns/cidr.js.map +1 -1
- package/pg-core/columns/common.cjs +20 -59
- package/pg-core/columns/common.cjs.map +1 -1
- package/pg-core/columns/common.d.cts +39 -72
- package/pg-core/columns/common.d.ts +39 -72
- package/pg-core/columns/common.js +18 -58
- package/pg-core/columns/common.js.map +1 -1
- package/pg-core/columns/custom.cjs +18 -47
- package/pg-core/columns/custom.cjs.map +1 -1
- package/pg-core/columns/custom.d.cts +17 -8
- package/pg-core/columns/custom.d.ts +17 -8
- package/pg-core/columns/custom.js +16 -46
- package/pg-core/columns/custom.js.map +1 -1
- package/pg-core/columns/date.cjs +13 -15
- package/pg-core/columns/date.cjs.map +1 -1
- package/pg-core/columns/date.common.cjs +21 -0
- package/pg-core/columns/date.common.cjs.map +1 -0
- package/pg-core/columns/date.common.d.cts +15 -0
- package/pg-core/columns/date.common.d.ts +15 -0
- package/pg-core/columns/date.common.js +19 -0
- package/pg-core/columns/date.common.js.map +1 -0
- package/pg-core/columns/date.d.cts +6 -7
- package/pg-core/columns/date.d.ts +6 -7
- package/pg-core/columns/date.js +12 -15
- package/pg-core/columns/date.js.map +1 -1
- package/pg-core/columns/double-precision.cjs +4 -5
- package/pg-core/columns/double-precision.cjs.map +1 -1
- package/pg-core/columns/double-precision.d.cts +0 -1
- package/pg-core/columns/double-precision.d.ts +0 -1
- package/pg-core/columns/double-precision.js +2 -4
- package/pg-core/columns/double-precision.js.map +1 -1
- package/pg-core/columns/enum.cjs +6 -1
- package/pg-core/columns/enum.cjs.map +1 -1
- package/pg-core/columns/enum.js +4 -0
- package/pg-core/columns/enum.js.map +1 -1
- package/pg-core/columns/index.cjs +2 -1
- package/pg-core/columns/index.d.cts +2 -2
- package/pg-core/columns/index.d.ts +2 -2
- package/pg-core/columns/index.js +1 -1
- package/pg-core/columns/inet.cjs +4 -1
- package/pg-core/columns/inet.cjs.map +1 -1
- package/pg-core/columns/inet.js +2 -0
- package/pg-core/columns/inet.js.map +1 -1
- package/pg-core/columns/int.common.cjs +47 -0
- package/pg-core/columns/int.common.cjs.map +1 -0
- package/pg-core/columns/int.common.d.cts +25 -0
- package/pg-core/columns/int.common.d.ts +25 -0
- package/pg-core/columns/int.common.js +45 -0
- package/pg-core/columns/int.common.js.map +1 -0
- package/pg-core/columns/integer.cjs +6 -6
- package/pg-core/columns/integer.cjs.map +1 -1
- package/pg-core/columns/integer.d.cts +3 -3
- package/pg-core/columns/integer.d.ts +3 -3
- package/pg-core/columns/integer.js +5 -6
- package/pg-core/columns/integer.js.map +1 -1
- package/pg-core/columns/interval.cjs +4 -1
- package/pg-core/columns/interval.cjs.map +1 -1
- package/pg-core/columns/interval.js +2 -0
- package/pg-core/columns/interval.js.map +1 -1
- package/pg-core/columns/json.cjs +4 -12
- package/pg-core/columns/json.cjs.map +1 -1
- package/pg-core/columns/json.d.cts +0 -2
- package/pg-core/columns/json.d.ts +0 -2
- package/pg-core/columns/json.js +2 -11
- package/pg-core/columns/json.js.map +1 -1
- package/pg-core/columns/jsonb.cjs +4 -12
- package/pg-core/columns/jsonb.cjs.map +1 -1
- package/pg-core/columns/jsonb.d.cts +0 -2
- package/pg-core/columns/jsonb.d.ts +0 -2
- package/pg-core/columns/jsonb.js +2 -11
- package/pg-core/columns/jsonb.js.map +1 -1
- package/pg-core/columns/line.cjs +10 -21
- package/pg-core/columns/line.cjs.map +1 -1
- package/pg-core/columns/line.d.cts +3 -9
- package/pg-core/columns/line.d.ts +3 -9
- package/pg-core/columns/line.js +8 -20
- package/pg-core/columns/line.js.map +1 -1
- package/pg-core/columns/macaddr.cjs +4 -1
- package/pg-core/columns/macaddr.cjs.map +1 -1
- package/pg-core/columns/macaddr.js +2 -0
- package/pg-core/columns/macaddr.js.map +1 -1
- package/pg-core/columns/macaddr8.cjs +4 -1
- package/pg-core/columns/macaddr8.cjs.map +1 -1
- package/pg-core/columns/macaddr8.js +2 -0
- package/pg-core/columns/macaddr8.js.map +1 -1
- package/pg-core/columns/numeric.cjs +10 -18
- package/pg-core/columns/numeric.cjs.map +1 -1
- package/pg-core/columns/numeric.d.cts +2 -5
- package/pg-core/columns/numeric.d.ts +2 -5
- package/pg-core/columns/numeric.js +8 -17
- package/pg-core/columns/numeric.js.map +1 -1
- package/pg-core/columns/point.cjs +10 -22
- package/pg-core/columns/point.cjs.map +1 -1
- package/pg-core/columns/point.d.cts +3 -14
- package/pg-core/columns/point.d.ts +3 -14
- package/pg-core/columns/point.js +8 -21
- package/pg-core/columns/point.js.map +1 -1
- package/pg-core/columns/postgis_extension/geometry.cjs +10 -17
- package/pg-core/columns/postgis_extension/geometry.cjs.map +1 -1
- package/pg-core/columns/postgis_extension/geometry.d.cts +3 -8
- package/pg-core/columns/postgis_extension/geometry.d.ts +3 -8
- package/pg-core/columns/postgis_extension/geometry.js +8 -16
- package/pg-core/columns/postgis_extension/geometry.js.map +1 -1
- package/pg-core/columns/postgis_extension/utils.cjs +1 -0
- package/pg-core/columns/postgis_extension/utils.cjs.map +1 -1
- package/pg-core/columns/postgis_extension/utils.js.map +1 -1
- package/pg-core/columns/real.cjs +4 -5
- package/pg-core/columns/real.cjs.map +1 -1
- package/pg-core/columns/real.d.cts +0 -1
- package/pg-core/columns/real.d.ts +0 -1
- package/pg-core/columns/real.js +2 -4
- package/pg-core/columns/real.js.map +1 -1
- package/pg-core/columns/serial.cjs +4 -1
- package/pg-core/columns/serial.cjs.map +1 -1
- package/pg-core/columns/serial.js +2 -0
- package/pg-core/columns/serial.js.map +1 -1
- package/pg-core/columns/smallint.cjs +6 -6
- package/pg-core/columns/smallint.cjs.map +1 -1
- package/pg-core/columns/smallint.d.cts +3 -3
- package/pg-core/columns/smallint.d.ts +3 -3
- package/pg-core/columns/smallint.js +5 -6
- package/pg-core/columns/smallint.js.map +1 -1
- package/pg-core/columns/smallserial.cjs +4 -1
- package/pg-core/columns/smallserial.cjs.map +1 -1
- package/pg-core/columns/smallserial.js +2 -0
- package/pg-core/columns/smallserial.js.map +1 -1
- package/pg-core/columns/text.cjs +4 -1
- package/pg-core/columns/text.cjs.map +1 -1
- package/pg-core/columns/text.d.cts +10 -10
- package/pg-core/columns/text.d.ts +10 -10
- package/pg-core/columns/text.js +2 -0
- package/pg-core/columns/text.js.map +1 -1
- package/pg-core/columns/time.cjs +6 -2
- package/pg-core/columns/time.cjs.map +1 -1
- package/pg-core/columns/time.d.cts +3 -2
- package/pg-core/columns/time.d.ts +3 -2
- package/pg-core/columns/time.js +5 -2
- package/pg-core/columns/time.js.map +1 -1
- package/pg-core/columns/timestamp.cjs +15 -20
- package/pg-core/columns/timestamp.cjs.map +1 -1
- package/pg-core/columns/timestamp.d.cts +6 -7
- package/pg-core/columns/timestamp.d.ts +6 -7
- package/pg-core/columns/timestamp.js +14 -20
- package/pg-core/columns/timestamp.js.map +1 -1
- package/pg-core/columns/uuid.cjs +4 -1
- package/pg-core/columns/uuid.cjs.map +1 -1
- package/pg-core/columns/uuid.js +2 -0
- package/pg-core/columns/uuid.js.map +1 -1
- package/pg-core/columns/varchar.cjs +4 -1
- package/pg-core/columns/varchar.cjs.map +1 -1
- package/pg-core/columns/varchar.d.cts +12 -12
- package/pg-core/columns/varchar.d.ts +12 -12
- package/pg-core/columns/varchar.js +2 -0
- package/pg-core/columns/varchar.js.map +1 -1
- package/pg-core/columns/vector_extension/bit.cjs +4 -1
- package/pg-core/columns/vector_extension/bit.cjs.map +1 -1
- package/pg-core/columns/vector_extension/bit.js +2 -0
- package/pg-core/columns/vector_extension/bit.js.map +1 -1
- package/pg-core/columns/vector_extension/halfvec.cjs +6 -6
- package/pg-core/columns/vector_extension/halfvec.cjs.map +1 -1
- package/pg-core/columns/vector_extension/halfvec.d.cts +1 -2
- package/pg-core/columns/vector_extension/halfvec.d.ts +1 -2
- package/pg-core/columns/vector_extension/halfvec.js +4 -5
- package/pg-core/columns/vector_extension/halfvec.js.map +1 -1
- package/pg-core/columns/vector_extension/sparsevec.cjs +4 -1
- package/pg-core/columns/vector_extension/sparsevec.cjs.map +1 -1
- package/pg-core/columns/vector_extension/sparsevec.js +2 -0
- package/pg-core/columns/vector_extension/sparsevec.js.map +1 -1
- package/pg-core/columns/vector_extension/vector.cjs +6 -6
- package/pg-core/columns/vector_extension/vector.cjs.map +1 -1
- package/pg-core/columns/vector_extension/vector.d.cts +1 -2
- package/pg-core/columns/vector_extension/vector.d.ts +1 -2
- package/pg-core/columns/vector_extension/vector.js +4 -5
- package/pg-core/columns/vector_extension/vector.js.map +1 -1
- package/pg-core/dialect.cjs +129 -260
- package/pg-core/dialect.cjs.map +1 -1
- package/pg-core/dialect.d.cts +30 -35
- package/pg-core/dialect.d.ts +31 -36
- package/pg-core/dialect.js +130 -261
- package/pg-core/dialect.js.map +1 -1
- package/pg-core/effect/count.cjs +3 -2
- package/pg-core/effect/count.cjs.map +1 -1
- package/pg-core/effect/count.d.cts +8 -8
- package/pg-core/effect/count.d.ts +8 -8
- package/pg-core/effect/count.js +1 -1
- package/pg-core/effect/count.js.map +1 -1
- package/pg-core/effect/db.cjs +14 -22
- package/pg-core/effect/db.cjs.map +1 -1
- package/pg-core/effect/db.d.cts +34 -35
- package/pg-core/effect/db.d.ts +34 -35
- package/pg-core/effect/db.js +12 -21
- package/pg-core/effect/db.js.map +1 -1
- package/pg-core/effect/delete.cjs +14 -14
- package/pg-core/effect/delete.cjs.map +1 -1
- package/pg-core/effect/delete.d.cts +12 -11
- package/pg-core/effect/delete.d.ts +12 -11
- package/pg-core/effect/delete.js +12 -13
- package/pg-core/effect/delete.js.map +1 -1
- package/pg-core/effect/index.cjs +4 -3
- package/pg-core/effect/index.js +3 -3
- package/pg-core/effect/insert.cjs +14 -10
- package/pg-core/effect/insert.cjs.map +1 -1
- package/pg-core/effect/insert.d.cts +11 -10
- package/pg-core/effect/insert.d.ts +11 -10
- package/pg-core/effect/insert.js +11 -9
- package/pg-core/effect/insert.js.map +1 -1
- package/pg-core/effect/query.cjs +13 -12
- package/pg-core/effect/query.cjs.map +1 -1
- package/pg-core/effect/query.d.cts +12 -12
- package/pg-core/effect/query.d.ts +12 -12
- package/pg-core/effect/query.js +11 -11
- package/pg-core/effect/query.js.map +1 -1
- package/pg-core/effect/raw.cjs +2 -1
- package/pg-core/effect/raw.cjs.map +1 -1
- package/pg-core/effect/raw.d.cts +6 -7
- package/pg-core/effect/raw.d.ts +6 -7
- package/pg-core/effect/raw.js.map +1 -1
- package/pg-core/effect/refresh-materialized-view.cjs +7 -10
- package/pg-core/effect/refresh-materialized-view.cjs.map +1 -1
- package/pg-core/effect/refresh-materialized-view.d.cts +7 -6
- package/pg-core/effect/refresh-materialized-view.d.ts +7 -6
- package/pg-core/effect/refresh-materialized-view.js +5 -9
- package/pg-core/effect/refresh-materialized-view.js.map +1 -1
- package/pg-core/effect/select.cjs +8 -7
- package/pg-core/effect/select.cjs.map +1 -1
- package/pg-core/effect/select.d.cts +12 -11
- package/pg-core/effect/select.d.ts +12 -11
- package/pg-core/effect/select.js +6 -6
- package/pg-core/effect/select.js.map +1 -1
- package/pg-core/effect/session.cjs +77 -49
- package/pg-core/effect/session.cjs.map +1 -1
- package/pg-core/effect/session.d.cts +34 -39
- package/pg-core/effect/session.d.ts +33 -38
- package/pg-core/effect/session.js +76 -51
- package/pg-core/effect/session.js.map +1 -1
- package/pg-core/effect/update.cjs +12 -9
- package/pg-core/effect/update.cjs.map +1 -1
- package/pg-core/effect/update.d.cts +12 -11
- package/pg-core/effect/update.d.ts +12 -11
- package/pg-core/effect/update.js +10 -8
- package/pg-core/effect/update.js.map +1 -1
- package/pg-core/expressions.cjs +2 -1
- package/pg-core/expressions.cjs.map +1 -1
- package/pg-core/expressions.js.map +1 -1
- package/pg-core/foreign-keys.cjs +2 -1
- package/pg-core/foreign-keys.cjs.map +1 -1
- package/pg-core/foreign-keys.d.cts +0 -1
- package/pg-core/foreign-keys.d.ts +0 -1
- package/pg-core/foreign-keys.js.map +1 -1
- package/pg-core/index.cjs +23 -16
- package/pg-core/index.d.cts +8 -10
- package/pg-core/index.d.ts +8 -10
- package/pg-core/index.js +16 -15
- package/pg-core/indexes.cjs +2 -1
- package/pg-core/indexes.cjs.map +1 -1
- package/pg-core/indexes.d.cts +0 -1
- package/pg-core/indexes.d.ts +0 -1
- package/pg-core/indexes.js.map +1 -1
- package/pg-core/policies.cjs +2 -1
- package/pg-core/policies.cjs.map +1 -1
- package/pg-core/policies.js.map +1 -1
- package/pg-core/primary-keys.cjs +2 -1
- package/pg-core/primary-keys.cjs.map +1 -1
- package/pg-core/primary-keys.d.cts +0 -1
- package/pg-core/primary-keys.d.ts +0 -1
- package/pg-core/primary-keys.js.map +1 -1
- package/pg-core/query-builders/count.cjs +2 -1
- package/pg-core/query-builders/count.cjs.map +1 -1
- package/pg-core/query-builders/count.js.map +1 -1
- package/pg-core/query-builders/delete.cjs +16 -3
- package/pg-core/query-builders/delete.cjs.map +1 -1
- package/pg-core/query-builders/delete.d.cts +8 -1
- package/pg-core/query-builders/delete.d.ts +8 -1
- package/pg-core/query-builders/delete.js +14 -2
- package/pg-core/query-builders/delete.js.map +1 -1
- package/pg-core/query-builders/index.cjs +2 -1
- package/pg-core/query-builders/index.js +1 -1
- package/pg-core/query-builders/insert.cjs +18 -5
- package/pg-core/query-builders/insert.cjs.map +1 -1
- package/pg-core/query-builders/insert.d.cts +9 -2
- package/pg-core/query-builders/insert.d.ts +9 -2
- package/pg-core/query-builders/insert.js +16 -4
- package/pg-core/query-builders/insert.js.map +1 -1
- package/pg-core/query-builders/query-builder.cjs +4 -2
- package/pg-core/query-builders/query-builder.cjs.map +1 -1
- package/pg-core/query-builders/query-builder.d.cts +0 -1
- package/pg-core/query-builders/query-builder.d.ts +0 -1
- package/pg-core/query-builders/query-builder.js +2 -1
- package/pg-core/query-builders/query-builder.js.map +1 -1
- package/pg-core/query-builders/query.cjs +2 -2
- package/pg-core/query-builders/query.cjs.map +1 -1
- package/pg-core/query-builders/query.d.cts +12 -7
- package/pg-core/query-builders/query.d.ts +12 -7
- package/pg-core/query-builders/query.js +0 -1
- package/pg-core/query-builders/query.js.map +1 -1
- package/pg-core/query-builders/raw.cjs +2 -5
- package/pg-core/query-builders/raw.cjs.map +1 -1
- package/pg-core/query-builders/raw.js +0 -4
- package/pg-core/query-builders/raw.js.map +1 -1
- package/pg-core/query-builders/refresh-materialized-view.cjs +2 -1
- package/pg-core/query-builders/refresh-materialized-view.cjs.map +1 -1
- package/pg-core/query-builders/refresh-materialized-view.js.map +1 -1
- package/pg-core/query-builders/select.cjs +19 -3
- package/pg-core/query-builders/select.cjs.map +1 -1
- package/pg-core/query-builders/select.d.cts +7 -1
- package/pg-core/query-builders/select.d.ts +8 -2
- package/pg-core/query-builders/select.js +18 -3
- package/pg-core/query-builders/select.js.map +1 -1
- package/pg-core/query-builders/select.types.d.cts +3 -0
- package/pg-core/query-builders/select.types.d.ts +4 -1
- package/pg-core/query-builders/update.cjs +18 -6
- package/pg-core/query-builders/update.cjs.map +1 -1
- package/pg-core/query-builders/update.d.cts +10 -3
- package/pg-core/query-builders/update.d.ts +11 -4
- package/pg-core/query-builders/update.js +17 -6
- package/pg-core/query-builders/update.js.map +1 -1
- package/pg-core/roles.cjs +2 -1
- package/pg-core/roles.cjs.map +1 -1
- package/pg-core/roles.js.map +1 -1
- package/pg-core/schema.cjs +12 -9
- package/pg-core/schema.cjs.map +1 -1
- package/pg-core/schema.d.cts +3 -1
- package/pg-core/schema.d.ts +3 -1
- package/pg-core/schema.js +10 -8
- package/pg-core/schema.js.map +1 -1
- package/pg-core/sequence.cjs +2 -1
- package/pg-core/sequence.cjs.map +1 -1
- package/pg-core/sequence.js.map +1 -1
- package/pg-core/session.cjs +5 -6
- package/pg-core/session.cjs.map +1 -1
- package/pg-core/session.d.cts +4 -7
- package/pg-core/session.d.ts +4 -7
- package/pg-core/session.js +3 -5
- package/pg-core/session.js.map +1 -1
- package/pg-core/table.cjs +29 -21
- package/pg-core/table.cjs.map +1 -1
- package/pg-core/table.d.cts +6 -8
- package/pg-core/table.d.ts +6 -8
- package/pg-core/table.js +27 -21
- package/pg-core/table.js.map +1 -1
- package/pg-core/unique-constraint.cjs +2 -1
- package/pg-core/unique-constraint.cjs.map +1 -1
- package/pg-core/unique-constraint.d.cts +0 -1
- package/pg-core/unique-constraint.d.ts +0 -1
- package/pg-core/unique-constraint.js.map +1 -1
- package/pg-core/utils.cjs +4 -3
- package/pg-core/utils.cjs.map +1 -1
- package/pg-core/utils.d.cts +10 -5
- package/pg-core/utils.d.ts +10 -5
- package/pg-core/utils.js +2 -2
- package/pg-core/utils.js.map +1 -1
- package/pg-core/view-base.cjs +2 -1
- package/pg-core/view-base.cjs.map +1 -1
- package/pg-core/view-common.cjs +1 -0
- package/pg-core/view-common.cjs.map +1 -1
- package/pg-core/view.cjs +22 -15
- package/pg-core/view.cjs.map +1 -1
- package/pg-core/view.d.cts +14 -7
- package/pg-core/view.d.ts +14 -7
- package/pg-core/view.js +20 -16
- package/pg-core/view.js.map +1 -1
- package/pg-proxy/driver.cjs +10 -15
- package/pg-proxy/driver.cjs.map +1 -1
- package/pg-proxy/driver.d.cts +6 -3
- package/pg-proxy/driver.d.ts +6 -3
- package/pg-proxy/driver.js +8 -13
- package/pg-proxy/driver.js.map +1 -1
- package/pg-proxy/index.cjs +1 -2
- package/pg-proxy/index.d.cts +2 -2
- package/pg-proxy/index.d.ts +2 -2
- package/pg-proxy/index.js +2 -2
- package/pg-proxy/migrator.cjs +22 -12
- package/pg-proxy/migrator.cjs.map +1 -1
- package/pg-proxy/migrator.d.cts +1 -1
- package/pg-proxy/migrator.d.ts +1 -1
- package/pg-proxy/migrator.js +20 -11
- package/pg-proxy/migrator.js.map +1 -1
- package/pg-proxy/session.cjs +10 -91
- package/pg-proxy/session.cjs.map +1 -1
- package/pg-proxy/session.d.cts +9 -35
- package/pg-proxy/session.d.ts +8 -34
- package/pg-proxy/session.js +10 -90
- 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 +14 -34
- package/pglite/driver.cjs.map +1 -1
- package/pglite/driver.d.cts +7 -23
- package/pglite/driver.d.ts +8 -24
- package/pglite/driver.js +13 -32
- package/pglite/driver.js.map +1 -1
- package/pglite/index.cjs +4 -3
- package/pglite/index.d.cts +4 -3
- package/pglite/index.d.ts +4 -3
- package/pglite/index.js +4 -3
- package/pglite/migrator.cjs +3 -2
- package/pglite/migrator.cjs.map +1 -1
- package/pglite/migrator.d.cts +2 -2
- package/pglite/migrator.d.ts +2 -2
- package/pglite/migrator.js +1 -1
- package/pglite/migrator.js.map +1 -1
- package/pglite/session.cjs +27 -92
- package/pglite/session.cjs.map +1 -1
- package/pglite/session.d.cts +9 -33
- package/pglite/session.d.ts +9 -33
- package/pglite/session.js +27 -92
- package/pglite/session.js.map +1 -1
- package/planetscale-serverless/driver.cjs +9 -6
- package/planetscale-serverless/driver.cjs.map +1 -1
- package/planetscale-serverless/driver.d.cts +1 -0
- package/planetscale-serverless/driver.d.ts +2 -1
- package/planetscale-serverless/driver.js +6 -4
- package/planetscale-serverless/driver.js.map +1 -1
- package/planetscale-serverless/index.cjs +1 -0
- package/planetscale-serverless/migrator.cjs +2 -1
- package/planetscale-serverless/migrator.cjs.map +1 -1
- package/planetscale-serverless/migrator.d.cts +2 -2
- package/planetscale-serverless/session.cjs +15 -9
- package/planetscale-serverless/session.cjs.map +1 -1
- package/planetscale-serverless/session.d.cts +7 -3
- package/planetscale-serverless/session.d.ts +9 -5
- package/planetscale-serverless/session.js +14 -9
- 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 +15 -20
- package/postgres-js/driver.cjs.map +1 -1
- package/postgres-js/driver.d.cts +5 -5
- package/postgres-js/driver.d.ts +5 -5
- package/postgres-js/driver.js +12 -17
- package/postgres-js/driver.js.map +1 -1
- package/postgres-js/index.cjs +4 -2
- package/postgres-js/index.d.cts +3 -2
- package/postgres-js/index.d.ts +3 -2
- package/postgres-js/index.js +3 -2
- package/postgres-js/migrator.cjs +3 -2
- package/postgres-js/migrator.cjs.map +1 -1
- package/postgres-js/migrator.d.cts +2 -2
- package/postgres-js/migrator.d.ts +2 -2
- package/postgres-js/migrator.js +1 -1
- package/postgres-js/migrator.js.map +1 -1
- package/postgres-js/session.cjs +18 -117
- package/postgres-js/session.cjs.map +1 -1
- package/postgres-js/session.d.cts +12 -34
- package/postgres-js/session.d.ts +10 -32
- package/postgres-js/session.js +17 -116
- package/postgres-js/session.js.map +1 -1
- package/primary-key.cjs +2 -1
- package/primary-key.cjs.map +1 -1
- package/primary-key.js.map +1 -1
- package/query-builders/query-builder.cjs +6 -1
- package/query-builders/query-builder.cjs.map +1 -1
- package/query-builders/query-builder.js +4 -0
- package/query-builders/query-builder.js.map +1 -1
- package/query-builders/select.types.d.cts +2 -2
- package/query-builders/select.types.d.ts +3 -3
- package/query-name-generator.cjs +71 -0
- package/query-name-generator.cjs.map +1 -0
- package/query-name-generator.d.cts +5 -0
- package/query-name-generator.d.ts +5 -0
- package/query-name-generator.js +70 -0
- package/query-name-generator.js.map +1 -0
- package/query-promise.cjs +2 -1
- package/query-promise.cjs.map +1 -1
- package/relations.cjs +257 -36
- package/relations.cjs.map +1 -1
- package/relations.d.cts +78 -27
- package/relations.d.ts +78 -27
- package/relations.js +253 -36
- package/relations.js.map +1 -1
- package/selection-proxy.cjs +3 -1
- package/selection-proxy.cjs.map +1 -1
- package/selection-proxy.js +2 -1
- package/selection-proxy.js.map +1 -1
- package/singlestore/driver.cjs +8 -4
- package/singlestore/driver.cjs.map +1 -1
- package/singlestore/driver.d.cts +3 -2
- package/singlestore/driver.d.ts +10 -9
- package/singlestore/driver.js +6 -3
- package/singlestore/driver.js.map +1 -1
- package/singlestore/index.cjs +2 -1
- package/singlestore/migrator.cjs +2 -1
- package/singlestore/migrator.cjs.map +1 -1
- package/singlestore/migrator.d.cts +2 -2
- package/singlestore/migrator.d.ts +2 -2
- package/singlestore/session.cjs +19 -8
- package/singlestore/session.cjs.map +1 -1
- package/singlestore/session.d.cts +8 -4
- package/singlestore/session.d.ts +9 -5
- package/singlestore/session.js +18 -8
- package/singlestore/session.js.map +1 -1
- package/singlestore-core/alias.cjs +4 -3
- package/singlestore-core/alias.cjs.map +1 -1
- package/singlestore-core/alias.d.cts +1 -2
- package/singlestore-core/alias.d.ts +1 -2
- package/singlestore-core/alias.js +2 -2
- package/singlestore-core/alias.js.map +1 -1
- package/singlestore-core/casing.cjs +22 -0
- package/singlestore-core/casing.cjs.map +1 -0
- package/singlestore-core/casing.d.cts +15 -0
- package/singlestore-core/casing.d.ts +15 -0
- package/singlestore-core/casing.js +20 -0
- package/singlestore-core/casing.js.map +1 -0
- package/singlestore-core/columns/all.cjs +1 -0
- package/singlestore-core/columns/all.cjs.map +1 -1
- package/singlestore-core/columns/bigint.cjs +6 -5
- package/singlestore-core/columns/bigint.cjs.map +1 -1
- package/singlestore-core/columns/bigint.d.cts +2 -2
- package/singlestore-core/columns/bigint.d.ts +2 -2
- package/singlestore-core/columns/bigint.js +4 -4
- package/singlestore-core/columns/bigint.js.map +1 -1
- package/singlestore-core/columns/binary.cjs +4 -3
- package/singlestore-core/columns/binary.cjs.map +1 -1
- package/singlestore-core/columns/binary.d.cts +1 -1
- package/singlestore-core/columns/binary.d.ts +1 -1
- package/singlestore-core/columns/binary.js +2 -2
- package/singlestore-core/columns/binary.js.map +1 -1
- package/singlestore-core/columns/boolean.cjs +4 -3
- package/singlestore-core/columns/boolean.cjs.map +1 -1
- package/singlestore-core/columns/boolean.d.cts +1 -1
- package/singlestore-core/columns/boolean.d.ts +1 -1
- package/singlestore-core/columns/boolean.js +2 -2
- package/singlestore-core/columns/boolean.js.map +1 -1
- package/singlestore-core/columns/char.cjs +2 -1
- package/singlestore-core/columns/char.cjs.map +1 -1
- package/singlestore-core/columns/common.cjs +2 -1
- package/singlestore-core/columns/common.cjs.map +1 -1
- package/singlestore-core/columns/common.d.cts +1 -1
- package/singlestore-core/columns/common.d.ts +1 -1
- package/singlestore-core/columns/common.js.map +1 -1
- package/singlestore-core/columns/custom.cjs +6 -5
- package/singlestore-core/columns/custom.cjs.map +1 -1
- package/singlestore-core/columns/custom.d.cts +2 -2
- package/singlestore-core/columns/custom.d.ts +2 -2
- package/singlestore-core/columns/custom.js +4 -4
- package/singlestore-core/columns/custom.js.map +1 -1
- package/singlestore-core/columns/date.cjs +4 -3
- package/singlestore-core/columns/date.cjs.map +1 -1
- package/singlestore-core/columns/date.common.cjs +2 -1
- package/singlestore-core/columns/date.common.cjs.map +1 -1
- package/singlestore-core/columns/date.d.cts +1 -1
- package/singlestore-core/columns/date.d.ts +1 -1
- package/singlestore-core/columns/date.js +2 -2
- package/singlestore-core/columns/date.js.map +1 -1
- package/singlestore-core/columns/datetime.cjs +8 -7
- package/singlestore-core/columns/datetime.cjs.map +1 -1
- package/singlestore-core/columns/datetime.d.cts +3 -3
- package/singlestore-core/columns/datetime.d.ts +3 -3
- package/singlestore-core/columns/datetime.js +6 -6
- package/singlestore-core/columns/datetime.js.map +1 -1
- package/singlestore-core/columns/decimal.cjs +6 -5
- package/singlestore-core/columns/decimal.cjs.map +1 -1
- package/singlestore-core/columns/decimal.d.cts +2 -2
- package/singlestore-core/columns/decimal.d.ts +2 -2
- package/singlestore-core/columns/decimal.js +4 -4
- package/singlestore-core/columns/decimal.js.map +1 -1
- package/singlestore-core/columns/double.cjs +2 -1
- package/singlestore-core/columns/double.cjs.map +1 -1
- package/singlestore-core/columns/enum.cjs +2 -1
- package/singlestore-core/columns/enum.cjs.map +1 -1
- package/singlestore-core/columns/float.cjs +4 -3
- package/singlestore-core/columns/float.cjs.map +1 -1
- package/singlestore-core/columns/float.d.cts +1 -1
- package/singlestore-core/columns/float.d.ts +1 -1
- package/singlestore-core/columns/float.js +2 -2
- package/singlestore-core/columns/float.js.map +1 -1
- package/singlestore-core/columns/index.cjs +1 -0
- package/singlestore-core/columns/int.cjs +4 -3
- package/singlestore-core/columns/int.cjs.map +1 -1
- package/singlestore-core/columns/int.d.cts +1 -1
- package/singlestore-core/columns/int.d.ts +1 -1
- package/singlestore-core/columns/int.js +2 -2
- package/singlestore-core/columns/int.js.map +1 -1
- package/singlestore-core/columns/json.cjs +4 -3
- package/singlestore-core/columns/json.cjs.map +1 -1
- package/singlestore-core/columns/json.d.cts +1 -1
- package/singlestore-core/columns/json.d.ts +1 -1
- package/singlestore-core/columns/json.js +2 -2
- package/singlestore-core/columns/json.js.map +1 -1
- package/singlestore-core/columns/mediumint.cjs +4 -3
- package/singlestore-core/columns/mediumint.cjs.map +1 -1
- package/singlestore-core/columns/mediumint.d.cts +1 -1
- package/singlestore-core/columns/mediumint.d.ts +1 -1
- package/singlestore-core/columns/mediumint.js +2 -2
- package/singlestore-core/columns/mediumint.js.map +1 -1
- package/singlestore-core/columns/real.cjs +2 -1
- package/singlestore-core/columns/real.cjs.map +1 -1
- package/singlestore-core/columns/serial.cjs +4 -3
- package/singlestore-core/columns/serial.cjs.map +1 -1
- package/singlestore-core/columns/serial.d.cts +1 -1
- package/singlestore-core/columns/serial.d.ts +1 -1
- package/singlestore-core/columns/serial.js +2 -2
- package/singlestore-core/columns/serial.js.map +1 -1
- package/singlestore-core/columns/smallint.cjs +4 -3
- package/singlestore-core/columns/smallint.cjs.map +1 -1
- package/singlestore-core/columns/smallint.d.cts +1 -1
- package/singlestore-core/columns/smallint.d.ts +1 -1
- package/singlestore-core/columns/smallint.js +2 -2
- package/singlestore-core/columns/smallint.js.map +1 -1
- package/singlestore-core/columns/text.cjs +2 -1
- package/singlestore-core/columns/text.cjs.map +1 -1
- package/singlestore-core/columns/time.cjs +2 -1
- package/singlestore-core/columns/time.cjs.map +1 -1
- package/singlestore-core/columns/timestamp.cjs +8 -7
- package/singlestore-core/columns/timestamp.cjs.map +1 -1
- package/singlestore-core/columns/timestamp.d.cts +3 -3
- package/singlestore-core/columns/timestamp.d.ts +3 -3
- package/singlestore-core/columns/timestamp.js +6 -6
- package/singlestore-core/columns/timestamp.js.map +1 -1
- package/singlestore-core/columns/tinyint.cjs +4 -3
- package/singlestore-core/columns/tinyint.cjs.map +1 -1
- package/singlestore-core/columns/tinyint.d.cts +1 -1
- package/singlestore-core/columns/tinyint.d.ts +1 -1
- package/singlestore-core/columns/tinyint.js +2 -2
- package/singlestore-core/columns/tinyint.js.map +1 -1
- package/singlestore-core/columns/varbinary.cjs +4 -3
- package/singlestore-core/columns/varbinary.cjs.map +1 -1
- package/singlestore-core/columns/varbinary.d.cts +1 -1
- package/singlestore-core/columns/varbinary.d.ts +1 -1
- package/singlestore-core/columns/varbinary.js +2 -2
- package/singlestore-core/columns/varbinary.js.map +1 -1
- package/singlestore-core/columns/varchar.cjs +2 -1
- package/singlestore-core/columns/varchar.cjs.map +1 -1
- package/singlestore-core/columns/vector.cjs +10 -9
- package/singlestore-core/columns/vector.cjs.map +1 -1
- package/singlestore-core/columns/vector.d.cts +4 -4
- package/singlestore-core/columns/vector.d.ts +4 -4
- package/singlestore-core/columns/vector.js +8 -8
- package/singlestore-core/columns/vector.js.map +1 -1
- package/singlestore-core/columns/year.cjs +4 -3
- package/singlestore-core/columns/year.cjs.map +1 -1
- package/singlestore-core/columns/year.d.cts +1 -1
- package/singlestore-core/columns/year.d.ts +1 -1
- package/singlestore-core/columns/year.js +2 -2
- package/singlestore-core/columns/year.js.map +1 -1
- package/singlestore-core/db.cjs +2 -1
- package/singlestore-core/db.cjs.map +1 -1
- package/singlestore-core/db.d.cts +4 -4
- package/singlestore-core/db.d.ts +5 -5
- package/singlestore-core/db.js.map +1 -1
- package/singlestore-core/dialect.cjs +82 -68
- package/singlestore-core/dialect.cjs.map +1 -1
- package/singlestore-core/dialect.d.cts +3 -5
- package/singlestore-core/dialect.d.ts +4 -6
- package/singlestore-core/dialect.js +79 -66
- package/singlestore-core/dialect.js.map +1 -1
- package/singlestore-core/expressions.cjs +2 -1
- package/singlestore-core/expressions.cjs.map +1 -1
- package/singlestore-core/expressions.d.cts +0 -1
- package/singlestore-core/expressions.d.ts +0 -1
- package/singlestore-core/expressions.js.map +1 -1
- package/singlestore-core/index.cjs +9 -4
- package/singlestore-core/index.d.cts +2 -3
- package/singlestore-core/index.d.ts +2 -3
- package/singlestore-core/index.js +7 -6
- package/singlestore-core/indexes.cjs +2 -1
- package/singlestore-core/indexes.cjs.map +1 -1
- package/singlestore-core/indexes.d.cts +0 -1
- package/singlestore-core/indexes.d.ts +0 -1
- package/singlestore-core/indexes.js.map +1 -1
- package/singlestore-core/primary-keys.cjs +2 -1
- package/singlestore-core/primary-keys.cjs.map +1 -1
- package/singlestore-core/primary-keys.d.cts +0 -1
- package/singlestore-core/primary-keys.d.ts +0 -1
- package/singlestore-core/primary-keys.js.map +1 -1
- package/singlestore-core/query-builders/_query.cjs +3 -2
- package/singlestore-core/query-builders/_query.cjs.map +1 -1
- package/singlestore-core/query-builders/_query.js.map +1 -1
- package/singlestore-core/query-builders/count.cjs +2 -1
- package/singlestore-core/query-builders/count.cjs.map +1 -1
- package/singlestore-core/query-builders/count.js.map +1 -1
- package/singlestore-core/query-builders/delete.cjs +2 -1
- package/singlestore-core/query-builders/delete.cjs.map +1 -1
- package/singlestore-core/query-builders/delete.d.ts +1 -1
- package/singlestore-core/query-builders/delete.js.map +1 -1
- package/singlestore-core/query-builders/index.cjs +1 -0
- package/singlestore-core/query-builders/insert.cjs +4 -3
- package/singlestore-core/query-builders/insert.cjs.map +1 -1
- package/singlestore-core/query-builders/insert.d.cts +1 -1
- package/singlestore-core/query-builders/insert.d.ts +2 -2
- package/singlestore-core/query-builders/insert.js +2 -2
- package/singlestore-core/query-builders/insert.js.map +1 -1
- package/singlestore-core/query-builders/query-builder.cjs +3 -2
- package/singlestore-core/query-builders/query-builder.cjs.map +1 -1
- package/singlestore-core/query-builders/query-builder.js +1 -1
- package/singlestore-core/query-builders/query.cjs +15 -6
- package/singlestore-core/query-builders/query.cjs.map +1 -1
- package/singlestore-core/query-builders/query.d.ts +1 -1
- package/singlestore-core/query-builders/query.js +13 -5
- package/singlestore-core/query-builders/query.js.map +1 -1
- package/singlestore-core/query-builders/select.cjs +6 -1
- package/singlestore-core/query-builders/select.cjs.map +1 -1
- package/singlestore-core/query-builders/select.d.cts +1 -2
- package/singlestore-core/query-builders/select.d.ts +3 -4
- package/singlestore-core/query-builders/select.js +4 -0
- package/singlestore-core/query-builders/select.js.map +1 -1
- package/singlestore-core/query-builders/select.types.d.cts +1 -2
- package/singlestore-core/query-builders/select.types.d.ts +1 -2
- package/singlestore-core/query-builders/update.cjs +2 -1
- package/singlestore-core/query-builders/update.cjs.map +1 -1
- package/singlestore-core/query-builders/update.d.cts +1 -1
- package/singlestore-core/query-builders/update.d.ts +3 -3
- package/singlestore-core/query-builders/update.js.map +1 -1
- package/singlestore-core/schema.cjs +8 -12
- package/singlestore-core/schema.cjs.map +1 -1
- package/singlestore-core/schema.d.cts +3 -1
- package/singlestore-core/schema.d.ts +3 -1
- package/singlestore-core/schema.js +6 -11
- package/singlestore-core/schema.js.map +1 -1
- package/singlestore-core/session.cjs +5 -4
- package/singlestore-core/session.cjs.map +1 -1
- package/singlestore-core/session.d.cts +2 -2
- package/singlestore-core/session.d.ts +2 -2
- package/singlestore-core/session.js +3 -3
- package/singlestore-core/session.js.map +1 -1
- package/singlestore-core/table.cjs +16 -10
- package/singlestore-core/table.cjs.map +1 -1
- package/singlestore-core/table.d.cts +4 -3
- package/singlestore-core/table.d.ts +4 -3
- package/singlestore-core/table.js +14 -10
- package/singlestore-core/table.js.map +1 -1
- package/singlestore-core/unique-constraint.cjs +2 -1
- package/singlestore-core/unique-constraint.cjs.map +1 -1
- package/singlestore-core/unique-constraint.d.cts +0 -1
- package/singlestore-core/unique-constraint.d.ts +0 -1
- package/singlestore-core/unique-constraint.js.map +1 -1
- package/singlestore-core/utils.cjs +3 -2
- package/singlestore-core/utils.cjs.map +1 -1
- package/singlestore-core/utils.d.cts +0 -1
- package/singlestore-core/utils.d.ts +0 -1
- package/singlestore-core/utils.js +1 -1
- package/singlestore-core/utils.js.map +1 -1
- package/singlestore-core/view-base.cjs +2 -1
- package/singlestore-core/view-base.cjs.map +1 -1
- package/singlestore-core/view-common.cjs +1 -0
- package/singlestore-core/view-common.cjs.map +1 -1
- package/singlestore-core/view.cjs +3 -2
- package/singlestore-core/view.cjs.map +1 -1
- package/singlestore-core/view.js +1 -1
- package/singlestore-core/view.js.map +1 -1
- package/singlestore-proxy/driver.cjs +9 -4
- package/singlestore-proxy/driver.cjs.map +1 -1
- package/singlestore-proxy/driver.d.ts +1 -1
- package/singlestore-proxy/driver.js +7 -3
- package/singlestore-proxy/driver.js.map +1 -1
- package/singlestore-proxy/index.cjs +1 -0
- package/singlestore-proxy/migrator.cjs +26 -14
- package/singlestore-proxy/migrator.cjs.map +1 -1
- package/singlestore-proxy/migrator.d.cts +2 -6
- package/singlestore-proxy/migrator.d.ts +2 -6
- package/singlestore-proxy/migrator.js +24 -13
- package/singlestore-proxy/migrator.js.map +1 -1
- package/singlestore-proxy/session.cjs +13 -7
- package/singlestore-proxy/session.cjs.map +1 -1
- package/singlestore-proxy/session.d.cts +9 -4
- package/singlestore-proxy/session.d.ts +10 -5
- package/singlestore-proxy/session.js +12 -7
- package/singlestore-proxy/session.js.map +1 -1
- package/sql/expressions/conditions.cjs +12 -8
- package/sql/expressions/conditions.cjs.map +1 -1
- package/sql/expressions/conditions.js +10 -7
- package/sql/expressions/conditions.js.map +1 -1
- package/sql/expressions/index.cjs +1 -0
- package/sql/expressions/select.cjs +1 -0
- package/sql/expressions/select.cjs.map +1 -1
- package/sql/expressions/select.d.cts +0 -1
- package/sql/expressions/select.d.ts +0 -1
- package/sql/functions/aggregate.cjs +2 -1
- package/sql/functions/aggregate.cjs.map +1 -1
- package/sql/functions/aggregate.d.cts +0 -1
- package/sql/functions/aggregate.d.ts +0 -1
- package/sql/functions/index.cjs +1 -0
- package/sql/functions/vector.cjs +1 -0
- package/sql/functions/vector.cjs.map +1 -1
- package/sql/functions/vector.d.cts +0 -1
- package/sql/functions/vector.d.ts +0 -1
- package/sql/index.cjs +8 -0
- package/sql/index.d.cts +2 -4
- package/sql/index.d.ts +2 -4
- package/sql/index.js +2 -2
- package/sql/sql.cjs +133 -32
- package/sql/sql.cjs.map +1 -1
- package/sql/sql.d.cts +30 -9
- package/sql/sql.d.ts +30 -9
- package/sql/sql.js +125 -32
- package/sql/sql.js.map +1 -1
- package/sql-js/driver.cjs +10 -5
- package/sql-js/driver.cjs.map +1 -1
- package/sql-js/driver.d.ts +1 -1
- package/sql-js/driver.js +7 -3
- package/sql-js/driver.js.map +1 -1
- package/sql-js/index.cjs +1 -0
- package/sql-js/migrator.cjs +2 -1
- package/sql-js/migrator.cjs.map +1 -1
- package/sql-js/migrator.d.cts +2 -2
- package/sql-js/migrator.d.ts +2 -2
- package/sql-js/session.cjs +19 -18
- package/sql-js/session.cjs.map +1 -1
- package/sql-js/session.d.cts +15 -10
- package/sql-js/session.d.ts +18 -13
- package/sql-js/session.js +21 -21
- package/sql-js/session.js.map +1 -1
- package/sqlite-cloud/driver.cjs +8 -5
- package/sqlite-cloud/driver.cjs.map +1 -1
- package/sqlite-cloud/driver.d.ts +1 -1
- package/sqlite-cloud/driver.js +5 -3
- package/sqlite-cloud/driver.js.map +1 -1
- package/sqlite-cloud/index.cjs +1 -0
- package/sqlite-cloud/migrator.cjs +24 -13
- package/sqlite-cloud/migrator.cjs.map +1 -1
- package/sqlite-cloud/migrator.js +22 -12
- package/sqlite-cloud/migrator.js.map +1 -1
- package/sqlite-cloud/session.cjs +23 -21
- package/sqlite-cloud/session.cjs.map +1 -1
- package/sqlite-cloud/session.d.cts +14 -9
- package/sqlite-cloud/session.d.ts +17 -12
- package/sqlite-cloud/session.js +25 -24
- package/sqlite-cloud/session.js.map +1 -1
- package/sqlite-core/alias.cjs +4 -3
- package/sqlite-core/alias.cjs.map +1 -1
- package/sqlite-core/alias.js +2 -2
- package/sqlite-core/alias.js.map +1 -1
- package/sqlite-core/casing.cjs +18 -0
- package/sqlite-core/casing.cjs.map +1 -0
- package/sqlite-core/casing.d.cts +15 -0
- package/sqlite-core/casing.d.ts +15 -0
- package/sqlite-core/casing.js +16 -0
- package/sqlite-core/casing.js.map +1 -0
- package/sqlite-core/checks.cjs +2 -1
- package/sqlite-core/checks.cjs.map +1 -1
- package/sqlite-core/checks.js.map +1 -1
- package/sqlite-core/columns/all.cjs +1 -0
- package/sqlite-core/columns/all.cjs.map +1 -1
- package/sqlite-core/columns/blob.cjs +12 -11
- package/sqlite-core/columns/blob.cjs.map +1 -1
- package/sqlite-core/columns/blob.d.cts +5 -5
- package/sqlite-core/columns/blob.d.ts +5 -5
- package/sqlite-core/columns/blob.js +10 -10
- package/sqlite-core/columns/blob.js.map +1 -1
- package/sqlite-core/columns/common.cjs +6 -5
- package/sqlite-core/columns/common.cjs.map +1 -1
- package/sqlite-core/columns/common.d.cts +1 -1
- package/sqlite-core/columns/common.d.ts +1 -1
- package/sqlite-core/columns/common.js +4 -4
- package/sqlite-core/columns/common.js.map +1 -1
- package/sqlite-core/columns/custom.cjs +6 -5
- package/sqlite-core/columns/custom.cjs.map +1 -1
- package/sqlite-core/columns/custom.d.cts +2 -2
- package/sqlite-core/columns/custom.d.ts +2 -2
- package/sqlite-core/columns/custom.js +4 -4
- package/sqlite-core/columns/custom.js.map +1 -1
- package/sqlite-core/columns/index.cjs +1 -0
- package/sqlite-core/columns/integer.cjs +10 -9
- package/sqlite-core/columns/integer.cjs.map +1 -1
- package/sqlite-core/columns/integer.d.cts +4 -4
- package/sqlite-core/columns/integer.d.ts +4 -4
- package/sqlite-core/columns/integer.js +8 -8
- package/sqlite-core/columns/integer.js.map +1 -1
- package/sqlite-core/columns/numeric.cjs +6 -5
- package/sqlite-core/columns/numeric.cjs.map +1 -1
- package/sqlite-core/columns/numeric.d.cts +2 -2
- package/sqlite-core/columns/numeric.d.ts +2 -2
- package/sqlite-core/columns/numeric.js +4 -4
- package/sqlite-core/columns/numeric.js.map +1 -1
- package/sqlite-core/columns/real.cjs +2 -1
- package/sqlite-core/columns/real.cjs.map +1 -1
- package/sqlite-core/columns/text.cjs +6 -5
- package/sqlite-core/columns/text.cjs.map +1 -1
- package/sqlite-core/columns/text.d.cts +2 -2
- package/sqlite-core/columns/text.d.ts +2 -2
- package/sqlite-core/columns/text.js +4 -4
- package/sqlite-core/columns/text.js.map +1 -1
- package/sqlite-core/db.cjs +2 -1
- package/sqlite-core/db.cjs.map +1 -1
- package/sqlite-core/db.d.cts +4 -2
- package/sqlite-core/db.d.ts +4 -2
- package/sqlite-core/db.js.map +1 -1
- package/sqlite-core/dialect.cjs +90 -69
- package/sqlite-core/dialect.cjs.map +1 -1
- package/sqlite-core/dialect.d.cts +6 -7
- package/sqlite-core/dialect.d.ts +8 -9
- package/sqlite-core/dialect.js +88 -68
- package/sqlite-core/dialect.js.map +1 -1
- package/sqlite-core/expressions.cjs +2 -1
- package/sqlite-core/expressions.cjs.map +1 -1
- package/sqlite-core/expressions.js.map +1 -1
- package/sqlite-core/foreign-keys.cjs +2 -1
- package/sqlite-core/foreign-keys.cjs.map +1 -1
- package/sqlite-core/foreign-keys.d.cts +0 -1
- package/sqlite-core/foreign-keys.d.ts +0 -1
- package/sqlite-core/foreign-keys.js.map +1 -1
- package/sqlite-core/index.cjs +13 -6
- package/sqlite-core/index.d.cts +3 -4
- package/sqlite-core/index.d.ts +3 -4
- package/sqlite-core/index.js +10 -9
- package/sqlite-core/indexes.cjs +2 -1
- package/sqlite-core/indexes.cjs.map +1 -1
- package/sqlite-core/indexes.d.cts +0 -1
- package/sqlite-core/indexes.d.ts +0 -1
- package/sqlite-core/indexes.js.map +1 -1
- package/sqlite-core/primary-keys.cjs +2 -1
- package/sqlite-core/primary-keys.cjs.map +1 -1
- package/sqlite-core/primary-keys.d.cts +0 -1
- package/sqlite-core/primary-keys.d.ts +0 -1
- package/sqlite-core/primary-keys.js.map +1 -1
- package/sqlite-core/query-builders/_query.cjs +4 -3
- package/sqlite-core/query-builders/_query.cjs.map +1 -1
- package/sqlite-core/query-builders/_query.d.cts +1 -0
- package/sqlite-core/query-builders/_query.d.ts +1 -0
- package/sqlite-core/query-builders/_query.js +1 -1
- package/sqlite-core/query-builders/_query.js.map +1 -1
- package/sqlite-core/query-builders/count.cjs +2 -1
- package/sqlite-core/query-builders/count.cjs.map +1 -1
- package/sqlite-core/query-builders/count.js.map +1 -1
- package/sqlite-core/query-builders/delete.cjs +3 -2
- package/sqlite-core/query-builders/delete.cjs.map +1 -1
- package/sqlite-core/query-builders/delete.js +1 -1
- package/sqlite-core/query-builders/delete.js.map +1 -1
- package/sqlite-core/query-builders/index.cjs +1 -0
- package/sqlite-core/query-builders/insert.cjs +3 -2
- package/sqlite-core/query-builders/insert.cjs.map +1 -1
- package/sqlite-core/query-builders/insert.d.cts +2 -3
- package/sqlite-core/query-builders/insert.d.ts +2 -3
- package/sqlite-core/query-builders/insert.js +1 -1
- package/sqlite-core/query-builders/insert.js.map +1 -1
- package/sqlite-core/query-builders/query-builder.cjs +2 -1
- package/sqlite-core/query-builders/query-builder.cjs.map +1 -1
- package/sqlite-core/query-builders/query.cjs +15 -6
- package/sqlite-core/query-builders/query.cjs.map +1 -1
- package/sqlite-core/query-builders/query.d.ts +1 -1
- package/sqlite-core/query-builders/query.js +13 -5
- package/sqlite-core/query-builders/query.js.map +1 -1
- package/sqlite-core/query-builders/raw.cjs +2 -5
- package/sqlite-core/query-builders/raw.cjs.map +1 -1
- package/sqlite-core/query-builders/raw.d.cts +4 -2
- package/sqlite-core/query-builders/raw.d.ts +4 -2
- package/sqlite-core/query-builders/raw.js +0 -4
- package/sqlite-core/query-builders/raw.js.map +1 -1
- package/sqlite-core/query-builders/select.cjs +7 -2
- package/sqlite-core/query-builders/select.cjs.map +1 -1
- package/sqlite-core/query-builders/select.d.cts +2 -2
- package/sqlite-core/query-builders/select.d.ts +2 -2
- package/sqlite-core/query-builders/select.js +5 -1
- package/sqlite-core/query-builders/select.js.map +1 -1
- package/sqlite-core/query-builders/update.cjs +3 -2
- package/sqlite-core/query-builders/update.cjs.map +1 -1
- package/sqlite-core/query-builders/update.d.cts +1 -1
- package/sqlite-core/query-builders/update.d.ts +2 -2
- package/sqlite-core/query-builders/update.js +1 -1
- package/sqlite-core/query-builders/update.js.map +1 -1
- package/sqlite-core/session.cjs +11 -10
- package/sqlite-core/session.cjs.map +1 -1
- package/sqlite-core/session.d.cts +6 -5
- package/sqlite-core/session.d.ts +6 -5
- package/sqlite-core/session.js +9 -9
- package/sqlite-core/session.js.map +1 -1
- package/sqlite-core/table.cjs +19 -11
- package/sqlite-core/table.cjs.map +1 -1
- package/sqlite-core/table.d.cts +3 -2
- package/sqlite-core/table.d.ts +3 -2
- package/sqlite-core/table.js +16 -11
- package/sqlite-core/table.js.map +1 -1
- package/sqlite-core/unique-constraint.cjs +2 -1
- package/sqlite-core/unique-constraint.cjs.map +1 -1
- package/sqlite-core/unique-constraint.js.map +1 -1
- package/sqlite-core/utils.cjs +6 -5
- package/sqlite-core/utils.cjs.map +1 -1
- package/sqlite-core/utils.d.cts +0 -1
- package/sqlite-core/utils.d.ts +0 -1
- package/sqlite-core/utils.js +4 -4
- package/sqlite-core/utils.js.map +1 -1
- package/sqlite-core/view-base.cjs +2 -1
- package/sqlite-core/view-base.cjs.map +1 -1
- package/sqlite-core/view-common.cjs +1 -0
- package/sqlite-core/view-common.cjs.map +1 -1
- package/sqlite-core/view.cjs +12 -6
- package/sqlite-core/view.cjs.map +1 -1
- package/sqlite-core/view.d.cts +9 -5
- package/sqlite-core/view.d.ts +9 -5
- package/sqlite-core/view.js +11 -7
- package/sqlite-core/view.js.map +1 -1
- package/sqlite-proxy/driver.cjs +8 -5
- package/sqlite-proxy/driver.cjs.map +1 -1
- package/sqlite-proxy/driver.d.ts +1 -1
- package/sqlite-proxy/driver.js +5 -3
- package/sqlite-proxy/driver.js.map +1 -1
- package/sqlite-proxy/index.cjs +1 -0
- package/sqlite-proxy/migrator.cjs +26 -11
- package/sqlite-proxy/migrator.cjs.map +1 -1
- package/sqlite-proxy/migrator.js +24 -10
- package/sqlite-proxy/migrator.js.map +1 -1
- package/sqlite-proxy/session.cjs +21 -17
- package/sqlite-proxy/session.cjs.map +1 -1
- package/sqlite-proxy/session.d.cts +13 -7
- package/sqlite-proxy/session.d.ts +19 -13
- package/sqlite-proxy/session.js +23 -20
- package/sqlite-proxy/session.js.map +1 -1
- package/subquery.cjs +1 -0
- package/subquery.cjs.map +1 -1
- package/supabase/index.cjs +1 -0
- package/supabase/rls.cjs +2 -1
- package/supabase/rls.cjs.map +1 -1
- package/supabase/rls.d.cts +6 -17
- package/supabase/rls.d.ts +3 -14
- package/table.cjs +1 -0
- package/table.cjs.map +1 -1
- package/table.d.cts +1 -1
- package/table.d.ts +1 -1
- package/table.utils.cjs +1 -0
- package/table.utils.cjs.map +1 -1
- package/tidb-serverless/driver.cjs +8 -5
- package/tidb-serverless/driver.cjs.map +1 -1
- package/tidb-serverless/driver.d.cts +1 -0
- package/tidb-serverless/driver.d.ts +2 -1
- package/tidb-serverless/driver.js +5 -3
- package/tidb-serverless/driver.js.map +1 -1
- package/tidb-serverless/index.cjs +1 -0
- package/tidb-serverless/migrator.cjs +2 -1
- package/tidb-serverless/migrator.cjs.map +1 -1
- package/tidb-serverless/migrator.d.cts +2 -2
- package/tidb-serverless/migrator.d.ts +2 -2
- package/tidb-serverless/session.cjs +16 -29
- package/tidb-serverless/session.cjs.map +1 -1
- package/tidb-serverless/session.d.cts +7 -3
- package/tidb-serverless/session.d.ts +8 -4
- package/tidb-serverless/session.js +15 -29
- package/tidb-serverless/session.js.map +1 -1
- package/tracing-utils.cjs +1 -0
- package/tracing-utils.cjs.map +1 -1
- package/tracing.cjs +3 -0
- package/tracing.cjs.map +1 -1
- package/tracing.d.cts +5 -1
- package/tracing.d.ts +5 -1
- package/tracing.js +2 -1
- package/tracing.js.map +1 -1
- package/tursodatabase/database.cjs +2 -1
- package/tursodatabase/database.cjs.map +1 -1
- package/tursodatabase/database.d.ts +1 -1
- package/tursodatabase/driver-core.cjs +8 -5
- package/tursodatabase/driver-core.cjs.map +1 -1
- package/tursodatabase/driver-core.d.ts +1 -1
- package/tursodatabase/driver-core.js +5 -3
- package/tursodatabase/driver-core.js.map +1 -1
- package/tursodatabase/index.cjs +1 -0
- package/tursodatabase/migrator.cjs +3 -2
- package/tursodatabase/migrator.cjs.map +1 -1
- package/tursodatabase/migrator.d.cts +2 -2
- package/tursodatabase/migrator.d.ts +2 -2
- package/tursodatabase/migrator.js +1 -1
- package/tursodatabase/migrator.js.map +1 -1
- package/tursodatabase/session.cjs +22 -20
- package/tursodatabase/session.cjs.map +1 -1
- package/tursodatabase/session.d.cts +14 -9
- package/tursodatabase/session.d.ts +17 -12
- package/tursodatabase/session.js +24 -23
- package/tursodatabase/session.js.map +1 -1
- package/tursodatabase/wasm.cjs +2 -1
- package/tursodatabase/wasm.cjs.map +1 -1
- package/tursodatabase/wasm.d.ts +1 -1
- package/typebox/column.cjs +334 -0
- package/typebox/column.cjs.map +1 -0
- package/typebox/column.d.cts +34 -0
- package/typebox/column.d.ts +34 -0
- package/typebox/column.js +324 -0
- package/typebox/column.js.map +1 -0
- package/typebox/column.types.cjs +0 -0
- package/typebox/column.types.d.cts +35 -0
- package/typebox/column.types.d.ts +35 -0
- package/typebox/column.types.js +1 -0
- package/typebox/index.cjs +16 -0
- package/typebox/index.d.cts +6 -0
- package/typebox/index.d.ts +6 -0
- package/typebox/index.js +4 -0
- package/typebox/schema.cjs +90 -0
- package/typebox/schema.cjs.map +1 -0
- package/typebox/schema.d.cts +19 -0
- package/typebox/schema.d.ts +19 -0
- package/typebox/schema.js +83 -0
- package/typebox/schema.js.map +1 -0
- package/typebox/schema.types.cjs +0 -0
- package/typebox/schema.types.d.cts +29 -0
- package/typebox/schema.types.d.ts +29 -0
- package/typebox/schema.types.internal.cjs +0 -0
- package/typebox/schema.types.internal.d.cts +24 -0
- package/typebox/schema.types.internal.d.ts +24 -0
- package/typebox/schema.types.internal.js +1 -0
- package/typebox/schema.types.js +1 -0
- package/typebox-legacy/column.cjs +306 -0
- package/typebox-legacy/column.cjs.map +1 -0
- package/typebox-legacy/column.d.cts +18 -0
- package/typebox-legacy/column.d.ts +18 -0
- package/typebox-legacy/column.js +298 -0
- package/typebox-legacy/column.js.map +1 -0
- package/typebox-legacy/column.types.cjs +0 -0
- package/typebox-legacy/column.types.d.cts +47 -0
- package/typebox-legacy/column.types.d.ts +47 -0
- package/typebox-legacy/column.types.js +1 -0
- package/typebox-legacy/index.cjs +15 -0
- package/typebox-legacy/index.d.cts +6 -0
- package/typebox-legacy/index.d.ts +6 -0
- package/typebox-legacy/index.js +4 -0
- package/typebox-legacy/schema.cjs +90 -0
- package/typebox-legacy/schema.cjs.map +1 -0
- package/typebox-legacy/schema.d.cts +22 -0
- package/typebox-legacy/schema.d.ts +22 -0
- package/typebox-legacy/schema.js +83 -0
- package/typebox-legacy/schema.js.map +1 -0
- package/typebox-legacy/schema.types.cjs +0 -0
- package/typebox-legacy/schema.types.d.cts +30 -0
- package/typebox-legacy/schema.types.d.ts +30 -0
- package/typebox-legacy/schema.types.internal.cjs +0 -0
- package/typebox-legacy/schema.types.internal.d.cts +24 -0
- package/typebox-legacy/schema.types.internal.d.ts +24 -0
- package/typebox-legacy/schema.types.internal.js +1 -0
- package/typebox-legacy/schema.types.js +1 -0
- package/up-migrations/cockroach.cjs +81 -0
- package/up-migrations/cockroach.cjs.map +1 -0
- package/up-migrations/cockroach.d.cts +15 -0
- package/up-migrations/cockroach.d.ts +15 -0
- package/up-migrations/cockroach.js +79 -0
- package/up-migrations/cockroach.js.map +1 -0
- package/up-migrations/effect-pg.cjs +84 -0
- package/up-migrations/effect-pg.cjs.map +1 -0
- package/up-migrations/effect-pg.d.cts +17 -0
- package/up-migrations/effect-pg.d.ts +17 -0
- package/up-migrations/effect-pg.js +82 -0
- package/up-migrations/effect-pg.js.map +1 -0
- package/up-migrations/mssql.cjs +71 -0
- package/up-migrations/mssql.cjs.map +1 -0
- package/up-migrations/mssql.d.cts +15 -0
- package/up-migrations/mssql.d.ts +15 -0
- package/up-migrations/mssql.js +69 -0
- package/up-migrations/mssql.js.map +1 -0
- package/up-migrations/mysql-proxy.cjs +73 -0
- package/up-migrations/mysql-proxy.cjs.map +1 -0
- package/up-migrations/mysql-proxy.d.cts +16 -0
- package/up-migrations/mysql-proxy.d.ts +16 -0
- package/up-migrations/mysql-proxy.js +71 -0
- package/up-migrations/mysql-proxy.js.map +1 -0
- package/up-migrations/mysql.cjs +69 -0
- package/up-migrations/mysql.cjs.map +1 -0
- package/up-migrations/mysql.d.cts +15 -0
- package/up-migrations/mysql.d.ts +15 -0
- package/up-migrations/mysql.js +67 -0
- package/up-migrations/mysql.js.map +1 -0
- package/up-migrations/pg-proxy.cjs +79 -0
- package/up-migrations/pg-proxy.cjs.map +1 -0
- package/up-migrations/pg-proxy.d.cts +16 -0
- package/up-migrations/pg-proxy.d.ts +16 -0
- package/up-migrations/pg-proxy.js +77 -0
- package/up-migrations/pg-proxy.js.map +1 -0
- package/up-migrations/pg.cjs +87 -0
- package/up-migrations/pg.cjs.map +1 -0
- package/up-migrations/pg.d.cts +16 -0
- package/up-migrations/pg.d.ts +16 -0
- package/up-migrations/pg.js +85 -0
- package/up-migrations/pg.js.map +1 -0
- package/up-migrations/singlestore-proxy.cjs +73 -0
- package/up-migrations/singlestore-proxy.cjs.map +1 -0
- package/up-migrations/singlestore-proxy.d.cts +16 -0
- package/up-migrations/singlestore-proxy.d.ts +16 -0
- package/up-migrations/singlestore-proxy.js +71 -0
- package/up-migrations/singlestore-proxy.js.map +1 -0
- package/up-migrations/singlestore.cjs +69 -0
- package/up-migrations/singlestore.cjs.map +1 -0
- package/up-migrations/singlestore.d.cts +15 -0
- package/up-migrations/singlestore.d.ts +15 -0
- package/up-migrations/singlestore.js +67 -0
- package/up-migrations/singlestore.js.map +1 -0
- package/up-migrations/sqlite-proxy.cjs +80 -0
- package/up-migrations/sqlite-proxy.cjs.map +1 -0
- package/up-migrations/sqlite-proxy.d.cts +16 -0
- package/up-migrations/sqlite-proxy.d.ts +16 -0
- package/up-migrations/sqlite-proxy.js +78 -0
- package/up-migrations/sqlite-proxy.js.map +1 -0
- package/up-migrations/sqlite.cjs +147 -0
- package/up-migrations/sqlite.cjs.map +1 -0
- package/up-migrations/sqlite.d.cts +25 -0
- package/up-migrations/sqlite.d.ts +25 -0
- package/up-migrations/sqlite.js +144 -0
- package/up-migrations/sqlite.js.map +1 -0
- package/up-migrations/utils.cjs +47 -0
- package/up-migrations/utils.cjs.map +1 -0
- package/up-migrations/utils.d.cts +25 -0
- package/up-migrations/utils.d.ts +25 -0
- package/up-migrations/utils.js +44 -0
- package/up-migrations/utils.js.map +1 -0
- package/utils.cjs +200 -16
- package/utils.cjs.map +1 -1
- package/utils.d.cts +64 -12
- package/utils.d.ts +64 -12
- package/utils.js +193 -17
- package/utils.js.map +1 -1
- package/valibot/column.cjs +270 -0
- package/valibot/column.cjs.map +1 -0
- package/valibot/column.d.cts +17 -0
- package/valibot/column.d.ts +17 -0
- package/valibot/column.js +261 -0
- package/valibot/column.js.map +1 -0
- package/valibot/column.types.cjs +0 -0
- package/valibot/column.types.d.cts +34 -0
- package/valibot/column.types.d.ts +34 -0
- package/valibot/column.types.js +1 -0
- package/valibot/index.cjs +12 -0
- package/valibot/index.d.cts +6 -0
- package/valibot/index.d.ts +6 -0
- package/valibot/index.js +4 -0
- package/valibot/schema.cjs +65 -0
- package/valibot/schema.cjs.map +1 -0
- package/valibot/schema.d.cts +9 -0
- package/valibot/schema.d.ts +9 -0
- package/valibot/schema.js +60 -0
- package/valibot/schema.js.map +1 -0
- package/valibot/schema.types.cjs +0 -0
- package/valibot/schema.types.d.cts +27 -0
- package/valibot/schema.types.d.ts +27 -0
- package/valibot/schema.types.internal.cjs +0 -0
- package/valibot/schema.types.internal.d.cts +24 -0
- package/valibot/schema.types.internal.d.ts +24 -0
- package/valibot/schema.types.internal.js +1 -0
- package/valibot/schema.types.js +1 -0
- 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 +12 -33
- package/vercel-postgres/driver.cjs.map +1 -1
- package/vercel-postgres/driver.d.cts +7 -23
- package/vercel-postgres/driver.d.ts +8 -24
- package/vercel-postgres/driver.js +12 -32
- package/vercel-postgres/driver.js.map +1 -1
- package/vercel-postgres/index.cjs +4 -3
- package/vercel-postgres/index.d.cts +4 -3
- package/vercel-postgres/index.d.ts +4 -3
- package/vercel-postgres/index.js +4 -3
- package/vercel-postgres/migrator.cjs +3 -2
- package/vercel-postgres/migrator.cjs.map +1 -1
- package/vercel-postgres/migrator.d.cts +2 -2
- package/vercel-postgres/migrator.d.ts +1 -1
- package/vercel-postgres/migrator.js +1 -1
- package/vercel-postgres/migrator.js.map +1 -1
- package/vercel-postgres/session.cjs +35 -116
- package/vercel-postgres/session.cjs.map +1 -1
- package/vercel-postgres/session.d.cts +9 -35
- package/vercel-postgres/session.d.ts +9 -35
- package/vercel-postgres/session.js +35 -116
- package/vercel-postgres/session.js.map +1 -1
- package/version.cjs +2 -1
- package/version.cjs.map +1 -1
- package/version.d.cts +2 -2
- package/version.d.ts +2 -2
- package/version.js +1 -1
- package/version.js.map +1 -1
- package/view-common.cjs +1 -0
- package/view-common.cjs.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 +10 -32
- package/xata-http/driver.cjs.map +1 -1
- package/xata-http/driver.d.cts +5 -22
- package/xata-http/driver.d.ts +5 -22
- package/xata-http/driver.js +9 -30
- package/xata-http/driver.js.map +1 -1
- package/xata-http/index.cjs +4 -4
- package/xata-http/index.d.cts +4 -3
- package/xata-http/index.d.ts +4 -3
- package/xata-http/index.js +4 -3
- package/xata-http/migrator.cjs +20 -9
- package/xata-http/migrator.cjs.map +1 -1
- package/xata-http/migrator.d.cts +1 -1
- package/xata-http/migrator.d.ts +1 -1
- package/xata-http/migrator.js +18 -8
- package/xata-http/migrator.js.map +1 -1
- package/xata-http/session.cjs +25 -110
- package/xata-http/session.cjs.map +1 -1
- package/xata-http/session.d.cts +7 -34
- package/xata-http/session.d.ts +5 -32
- package/xata-http/session.js +25 -109
- package/xata-http/session.js.map +1 -1
- package/zod/column.cjs +269 -0
- package/zod/column.cjs.map +1 -0
- package/zod/column.d.cts +15 -0
- package/zod/column.d.ts +15 -0
- package/zod/column.js +262 -0
- package/zod/column.js.map +1 -0
- package/zod/column.types.cjs +0 -0
- package/zod/column.types.d.cts +32 -0
- package/zod/column.types.d.ts +32 -0
- package/zod/column.types.js +1 -0
- package/zod/index.cjs +13 -0
- package/zod/index.d.cts +6 -0
- package/zod/index.d.ts +6 -0
- package/zod/index.js +4 -0
- package/zod/schema.cjs +88 -0
- package/zod/schema.cjs.map +1 -0
- package/zod/schema.d.cts +14 -0
- package/zod/schema.d.ts +14 -0
- package/zod/schema.js +83 -0
- package/zod/schema.js.map +1 -0
- package/zod/schema.types.cjs +0 -0
- package/zod/schema.types.d.cts +32 -0
- package/zod/schema.types.d.ts +32 -0
- package/zod/schema.types.internal.cjs +0 -0
- package/zod/schema.types.internal.d.cts +28 -0
- package/zod/schema.types.internal.d.ts +28 -0
- package/zod/schema.types.internal.js +1 -0
- package/zod/schema.types.js +1 -0
- package/_virtual/rolldown_runtime.cjs +0 -29
- package/gel/driver.cjs +0 -75
- package/gel/driver.cjs.map +0 -1
- package/gel/driver.d.cts +0 -43
- package/gel/driver.d.ts +0 -43
- package/gel/driver.js +0 -66
- package/gel/driver.js.map +0 -1
- package/gel/index.cjs +0 -14
- package/gel/index.d.cts +0 -3
- package/gel/index.d.ts +0 -3
- package/gel/index.js +0 -4
- package/gel/migrator.d.cts +0 -1
- package/gel/migrator.d.ts +0 -1
- package/gel/session.cjs +0 -135
- package/gel/session.cjs.map +0 -1
- package/gel/session.d.cts +0 -67
- package/gel/session.d.ts +0 -67
- package/gel/session.js +0 -132
- package/gel/session.js.map +0 -1
- package/gel-core/alias.cjs +0 -11
- package/gel-core/alias.cjs.map +0 -1
- package/gel-core/alias.d.cts +0 -9
- package/gel-core/alias.d.ts +0 -9
- package/gel-core/alias.js +0 -10
- package/gel-core/alias.js.map +0 -1
- package/gel-core/checks.cjs +0 -35
- package/gel-core/checks.cjs.map +0 -1
- package/gel-core/checks.d.cts +0 -23
- package/gel-core/checks.d.ts +0 -23
- package/gel-core/checks.js +0 -32
- package/gel-core/checks.js.map +0 -1
- package/gel-core/columns/all.cjs +0 -50
- package/gel-core/columns/all.cjs.map +0 -1
- package/gel-core/columns/all.d.cts +0 -48
- package/gel-core/columns/all.d.ts +0 -48
- package/gel-core/columns/all.js +0 -50
- package/gel-core/columns/all.js.map +0 -1
- package/gel-core/columns/bigint.cjs +0 -31
- package/gel-core/columns/bigint.cjs.map +0 -1
- package/gel-core/columns/bigint.d.cts +0 -22
- package/gel-core/columns/bigint.d.ts +0 -22
- package/gel-core/columns/bigint.js +0 -28
- package/gel-core/columns/bigint.js.map +0 -1
- package/gel-core/columns/bigintT.cjs +0 -34
- package/gel-core/columns/bigintT.cjs.map +0 -1
- package/gel-core/columns/bigintT.d.cts +0 -23
- package/gel-core/columns/bigintT.d.ts +0 -23
- package/gel-core/columns/bigintT.js +0 -31
- package/gel-core/columns/bigintT.js.map +0 -1
- package/gel-core/columns/boolean.cjs +0 -30
- package/gel-core/columns/boolean.cjs.map +0 -1
- package/gel-core/columns/boolean.d.cts +0 -21
- package/gel-core/columns/boolean.d.ts +0 -21
- package/gel-core/columns/boolean.js +0 -27
- package/gel-core/columns/boolean.js.map +0 -1
- package/gel-core/columns/bytes.cjs +0 -30
- package/gel-core/columns/bytes.cjs.map +0 -1
- package/gel-core/columns/bytes.d.cts +0 -21
- package/gel-core/columns/bytes.d.ts +0 -21
- package/gel-core/columns/bytes.js +0 -27
- package/gel-core/columns/bytes.js.map +0 -1
- package/gel-core/columns/common.cjs +0 -184
- package/gel-core/columns/common.cjs.map +0 -1
- package/gel-core/columns/common.d.cts +0 -135
- package/gel-core/columns/common.d.ts +0 -135
- package/gel-core/columns/common.js +0 -178
- package/gel-core/columns/common.js.map +0 -1
- package/gel-core/columns/custom.cjs +0 -65
- package/gel-core/columns/custom.cjs.map +0 -1
- package/gel-core/columns/custom.d.cts +0 -266
- package/gel-core/columns/custom.d.ts +0 -266
- package/gel-core/columns/custom.js +0 -62
- package/gel-core/columns/custom.js.map +0 -1
- package/gel-core/columns/date-duration.cjs +0 -30
- package/gel-core/columns/date-duration.cjs.map +0 -1
- package/gel-core/columns/date-duration.d.cts +0 -22
- package/gel-core/columns/date-duration.d.ts +0 -22
- package/gel-core/columns/date-duration.js +0 -27
- package/gel-core/columns/date-duration.js.map +0 -1
- package/gel-core/columns/date.common.cjs +0 -16
- package/gel-core/columns/date.common.cjs.map +0 -1
- package/gel-core/columns/date.common.d.cts +0 -13
- package/gel-core/columns/date.common.d.ts +0 -13
- package/gel-core/columns/date.common.js +0 -15
- package/gel-core/columns/date.common.js.map +0 -1
- package/gel-core/columns/decimal.cjs +0 -33
- package/gel-core/columns/decimal.cjs.map +0 -1
- package/gel-core/columns/decimal.d.cts +0 -25
- package/gel-core/columns/decimal.d.ts +0 -25
- package/gel-core/columns/decimal.js +0 -30
- package/gel-core/columns/decimal.js.map +0 -1
- package/gel-core/columns/double-precision.cjs +0 -34
- package/gel-core/columns/double-precision.cjs.map +0 -1
- package/gel-core/columns/double-precision.d.cts +0 -22
- package/gel-core/columns/double-precision.d.ts +0 -22
- package/gel-core/columns/double-precision.js +0 -31
- package/gel-core/columns/double-precision.js.map +0 -1
- package/gel-core/columns/duration.cjs +0 -30
- package/gel-core/columns/duration.cjs.map +0 -1
- package/gel-core/columns/duration.d.cts +0 -22
- package/gel-core/columns/duration.d.ts +0 -22
- package/gel-core/columns/duration.js +0 -27
- package/gel-core/columns/duration.js.map +0 -1
- package/gel-core/columns/index.cjs +0 -90
- package/gel-core/columns/index.d.cts +0 -23
- package/gel-core/columns/index.d.ts +0 -23
- package/gel-core/columns/index.js +0 -24
- package/gel-core/columns/int.common.cjs +0 -38
- package/gel-core/columns/int.common.cjs.map +0 -1
- package/gel-core/columns/int.common.d.cts +0 -20
- package/gel-core/columns/int.common.d.ts +0 -20
- package/gel-core/columns/int.common.js +0 -37
- package/gel-core/columns/int.common.js.map +0 -1
- package/gel-core/columns/integer.cjs +0 -31
- package/gel-core/columns/integer.cjs.map +0 -1
- package/gel-core/columns/integer.d.cts +0 -22
- package/gel-core/columns/integer.d.ts +0 -22
- package/gel-core/columns/integer.js +0 -28
- package/gel-core/columns/integer.js.map +0 -1
- package/gel-core/columns/json.cjs +0 -33
- package/gel-core/columns/json.cjs.map +0 -1
- package/gel-core/columns/json.d.cts +0 -25
- package/gel-core/columns/json.d.ts +0 -25
- package/gel-core/columns/json.js +0 -30
- package/gel-core/columns/json.js.map +0 -1
- package/gel-core/columns/localdate.cjs +0 -31
- package/gel-core/columns/localdate.cjs.map +0 -1
- package/gel-core/columns/localdate.d.cts +0 -23
- package/gel-core/columns/localdate.d.ts +0 -23
- package/gel-core/columns/localdate.js +0 -28
- package/gel-core/columns/localdate.js.map +0 -1
- package/gel-core/columns/localtime.cjs +0 -31
- package/gel-core/columns/localtime.cjs.map +0 -1
- package/gel-core/columns/localtime.d.cts +0 -23
- package/gel-core/columns/localtime.d.ts +0 -23
- package/gel-core/columns/localtime.js +0 -28
- package/gel-core/columns/localtime.js.map +0 -1
- package/gel-core/columns/real.cjs +0 -34
- package/gel-core/columns/real.cjs.map +0 -1
- package/gel-core/columns/real.d.cts +0 -27
- package/gel-core/columns/real.d.ts +0 -27
- package/gel-core/columns/real.js +0 -31
- package/gel-core/columns/real.js.map +0 -1
- package/gel-core/columns/relative-duration.cjs +0 -30
- package/gel-core/columns/relative-duration.cjs.map +0 -1
- package/gel-core/columns/relative-duration.d.cts +0 -22
- package/gel-core/columns/relative-duration.d.ts +0 -22
- package/gel-core/columns/relative-duration.js +0 -27
- package/gel-core/columns/relative-duration.js.map +0 -1
- package/gel-core/columns/smallint.cjs +0 -31
- package/gel-core/columns/smallint.cjs.map +0 -1
- package/gel-core/columns/smallint.d.cts +0 -22
- package/gel-core/columns/smallint.d.ts +0 -22
- package/gel-core/columns/smallint.js +0 -28
- package/gel-core/columns/smallint.js.map +0 -1
- package/gel-core/columns/text.cjs +0 -31
- package/gel-core/columns/text.cjs.map +0 -1
- package/gel-core/columns/text.d.cts +0 -24
- package/gel-core/columns/text.d.ts +0 -24
- package/gel-core/columns/text.js +0 -28
- package/gel-core/columns/text.js.map +0 -1
- package/gel-core/columns/timestamp.cjs +0 -34
- package/gel-core/columns/timestamp.cjs.map +0 -1
- package/gel-core/columns/timestamp.d.cts +0 -27
- package/gel-core/columns/timestamp.d.ts +0 -27
- package/gel-core/columns/timestamp.js +0 -31
- package/gel-core/columns/timestamp.js.map +0 -1
- package/gel-core/columns/timestamptz.cjs +0 -38
- package/gel-core/columns/timestamptz.cjs.map +0 -1
- package/gel-core/columns/timestamptz.d.cts +0 -27
- package/gel-core/columns/timestamptz.d.ts +0 -27
- package/gel-core/columns/timestamptz.js +0 -35
- package/gel-core/columns/timestamptz.js.map +0 -1
- package/gel-core/columns/uuid.cjs +0 -30
- package/gel-core/columns/uuid.cjs.map +0 -1
- package/gel-core/columns/uuid.d.cts +0 -21
- package/gel-core/columns/uuid.d.ts +0 -21
- package/gel-core/columns/uuid.js +0 -27
- package/gel-core/columns/uuid.js.map +0 -1
- package/gel-core/db.cjs +0 -385
- package/gel-core/db.cjs.map +0 -1
- package/gel-core/db.d.cts +0 -293
- package/gel-core/db.d.ts +0 -293
- package/gel-core/db.js +0 -383
- package/gel-core/db.js.map +0 -1
- package/gel-core/dialect.cjs +0 -567
- package/gel-core/dialect.cjs.map +0 -1
- package/gel-core/dialect.d.cts +0 -154
- package/gel-core/dialect.d.ts +0 -154
- package/gel-core/dialect.js +0 -565
- package/gel-core/dialect.js.map +0 -1
- package/gel-core/expressions.cjs +0 -27
- package/gel-core/expressions.cjs.map +0 -1
- package/gel-core/expressions.d.cts +0 -16
- package/gel-core/expressions.d.ts +0 -16
- package/gel-core/expressions.js +0 -20
- package/gel-core/expressions.js.map +0 -1
- package/gel-core/foreign-keys.cjs +0 -82
- package/gel-core/foreign-keys.cjs.map +0 -1
- package/gel-core/foreign-keys.d.cts +0 -51
- package/gel-core/foreign-keys.d.ts +0 -51
- package/gel-core/foreign-keys.js +0 -79
- package/gel-core/foreign-keys.js.map +0 -1
- package/gel-core/index.cjs +0 -188
- package/gel-core/index.d.cts +0 -50
- package/gel-core/index.d.ts +0 -50
- package/gel-core/index.js +0 -47
- package/gel-core/indexes.cjs +0 -114
- package/gel-core/indexes.cjs.map +0 -1
- package/gel-core/indexes.d.cts +0 -82
- package/gel-core/indexes.d.ts +0 -82
- package/gel-core/indexes.js +0 -109
- package/gel-core/indexes.js.map +0 -1
- package/gel-core/policies.cjs +0 -36
- package/gel-core/policies.cjs.map +0 -1
- package/gel-core/policies.d.cts +0 -29
- package/gel-core/policies.d.ts +0 -29
- package/gel-core/policies.js +0 -34
- package/gel-core/policies.js.map +0 -1
- package/gel-core/primary-keys.cjs +0 -43
- package/gel-core/primary-keys.cjs.map +0 -1
- package/gel-core/primary-keys.d.cts +0 -36
- package/gel-core/primary-keys.d.ts +0 -36
- package/gel-core/primary-keys.js +0 -40
- package/gel-core/primary-keys.js.map +0 -1
- package/gel-core/query-builders/_query.cjs +0 -93
- package/gel-core/query-builders/_query.cjs.map +0 -1
- package/gel-core/query-builders/_query.d.cts +0 -51
- package/gel-core/query-builders/_query.d.ts +0 -51
- package/gel-core/query-builders/_query.js +0 -90
- package/gel-core/query-builders/_query.js.map +0 -1
- package/gel-core/query-builders/count.cjs +0 -43
- package/gel-core/query-builders/count.cjs.map +0 -1
- package/gel-core/query-builders/count.d.cts +0 -31
- package/gel-core/query-builders/count.d.ts +0 -31
- package/gel-core/query-builders/count.js +0 -42
- package/gel-core/query-builders/count.js.map +0 -1
- package/gel-core/query-builders/delete.cjs +0 -91
- package/gel-core/query-builders/delete.cjs.map +0 -1
- package/gel-core/query-builders/delete.d.cts +0 -104
- package/gel-core/query-builders/delete.d.ts +0 -104
- package/gel-core/query-builders/delete.js +0 -90
- package/gel-core/query-builders/delete.js.map +0 -1
- package/gel-core/query-builders/index.cjs +0 -23
- package/gel-core/query-builders/index.d.cts +0 -8
- package/gel-core/query-builders/index.d.ts +0 -8
- package/gel-core/query-builders/index.js +0 -8
- package/gel-core/query-builders/insert.cjs +0 -154
- package/gel-core/query-builders/insert.cjs.map +0 -1
- package/gel-core/query-builders/insert.d.cts +0 -113
- package/gel-core/query-builders/insert.d.ts +0 -113
- package/gel-core/query-builders/insert.js +0 -152
- package/gel-core/query-builders/insert.js.map +0 -1
- package/gel-core/query-builders/query-builder.cjs +0 -91
- package/gel-core/query-builders/query-builder.cjs.map +0 -1
- package/gel-core/query-builders/query-builder.d.cts +0 -45
- package/gel-core/query-builders/query-builder.d.ts +0 -45
- package/gel-core/query-builders/query-builder.js +0 -90
- package/gel-core/query-builders/query-builder.js.map +0 -1
- package/gel-core/query-builders/query.cjs +0 -89
- package/gel-core/query-builders/query.cjs.map +0 -1
- package/gel-core/query-builders/query.d.cts +0 -48
- package/gel-core/query-builders/query.d.ts +0 -48
- package/gel-core/query-builders/query.js +0 -87
- package/gel-core/query-builders/query.js.map +0 -1
- package/gel-core/query-builders/raw.cjs +0 -36
- package/gel-core/query-builders/raw.cjs.map +0 -1
- package/gel-core/query-builders/raw.d.cts +0 -26
- package/gel-core/query-builders/raw.d.ts +0 -26
- package/gel-core/query-builders/raw.js +0 -35
- package/gel-core/query-builders/raw.js.map +0 -1
- package/gel-core/query-builders/refresh-materialized-view.cjs +0 -52
- package/gel-core/query-builders/refresh-materialized-view.cjs.map +0 -1
- package/gel-core/query-builders/refresh-materialized-view.d.cts +0 -32
- package/gel-core/query-builders/refresh-materialized-view.d.ts +0 -32
- package/gel-core/query-builders/refresh-materialized-view.js +0 -51
- package/gel-core/query-builders/refresh-materialized-view.js.map +0 -1
- package/gel-core/query-builders/select.cjs +0 -964
- package/gel-core/query-builders/select.cjs.map +0 -1
- package/gel-core/query-builders/select.d.cts +0 -806
- package/gel-core/query-builders/select.d.ts +0 -806
- package/gel-core/query-builders/select.js +0 -955
- package/gel-core/query-builders/select.js.map +0 -1
- package/gel-core/query-builders/select.types.d.cts +0 -141
- package/gel-core/query-builders/select.types.d.ts +0 -141
- package/gel-core/query-builders/update.cjs +0 -192
- package/gel-core/query-builders/update.cjs.map +0 -1
- package/gel-core/query-builders/update.d.cts +0 -162
- package/gel-core/query-builders/update.d.ts +0 -162
- package/gel-core/query-builders/update.js +0 -190
- package/gel-core/query-builders/update.js.map +0 -1
- package/gel-core/roles.cjs +0 -35
- package/gel-core/roles.cjs.map +0 -1
- package/gel-core/roles.d.cts +0 -18
- package/gel-core/roles.d.ts +0 -18
- package/gel-core/roles.js +0 -33
- package/gel-core/roles.js.map +0 -1
- package/gel-core/schema.cjs +0 -38
- package/gel-core/schema.cjs.map +0 -1
- package/gel-core/schema.d.cts +0 -20
- package/gel-core/schema.d.ts +0 -20
- package/gel-core/schema.js +0 -35
- package/gel-core/schema.js.map +0 -1
- package/gel-core/sequence.cjs +0 -29
- package/gel-core/sequence.cjs.map +0 -1
- package/gel-core/sequence.d.cts +0 -23
- package/gel-core/sequence.d.ts +0 -23
- package/gel-core/sequence.js +0 -25
- package/gel-core/sequence.js.map +0 -1
- package/gel-core/session.cjs +0 -111
- package/gel-core/session.cjs.map +0 -1
- package/gel-core/session.d.cts +0 -76
- package/gel-core/session.d.ts +0 -76
- package/gel-core/session.js +0 -108
- package/gel-core/session.js.map +0 -1
- package/gel-core/subquery.d.cts +0 -10
- package/gel-core/subquery.d.ts +0 -10
- package/gel-core/table.cjs +0 -68
- package/gel-core/table.cjs.map +0 -1
- package/gel-core/table.d.cts +0 -98
- package/gel-core/table.d.ts +0 -98
- package/gel-core/table.js +0 -62
- package/gel-core/table.js.map +0 -1
- package/gel-core/unique-constraint.cjs +0 -64
- package/gel-core/unique-constraint.cjs.map +0 -1
- package/gel-core/unique-constraint.d.cts +0 -31
- package/gel-core/unique-constraint.d.ts +0 -31
- package/gel-core/unique-constraint.js +0 -59
- package/gel-core/unique-constraint.js.map +0 -1
- package/gel-core/utils.cjs +0 -76
- package/gel-core/utils.cjs.map +0 -1
- package/gel-core/utils.d.cts +0 -61
- package/gel-core/utils.d.ts +0 -61
- package/gel-core/utils.js +0 -72
- package/gel-core/utils.js.map +0 -1
- package/gel-core/view-base.cjs +0 -12
- package/gel-core/view-base.cjs.map +0 -1
- package/gel-core/view-base.d.cts +0 -13
- package/gel-core/view-base.d.ts +0 -13
- package/gel-core/view-base.js +0 -11
- package/gel-core/view-base.js.map +0 -1
- package/gel-core/view-common.cjs +0 -9
- package/gel-core/view-common.cjs.map +0 -1
- package/gel-core/view-common.d.cts +0 -6
- package/gel-core/view-common.d.ts +0 -6
- package/gel-core/view-common.js +0 -7
- package/gel-core/view-common.js.map +0 -1
- package/gel-core/view.cjs +0 -229
- package/gel-core/view.cjs.map +0 -1
- package/gel-core/view.d.cts +0 -159
- package/gel-core/view.d.ts +0 -159
- package/gel-core/view.js +0 -219
- package/gel-core/view.js.map +0 -1
- package/package.d.cts +0 -5
- package/package.d.ts +0 -5
- package/pg-core/query-builders/_query.cjs +0 -99
- package/pg-core/query-builders/_query.cjs.map +0 -1
- package/pg-core/query-builders/_query.d.cts +0 -53
- package/pg-core/query-builders/_query.d.ts +0 -53
- package/pg-core/query-builders/_query.js +0 -96
- package/pg-core/query-builders/_query.js.map +0 -1
- package/pg-core/utils/array.cjs +0 -68
- package/pg-core/utils/array.cjs.map +0 -1
- package/pg-core/utils/array.d.cts +0 -7
- package/pg-core/utils/array.d.ts +0 -7
- package/pg-core/utils/array.js +0 -65
- package/pg-core/utils/array.js.map +0 -1
- package/pg-core/utils/index.cjs +0 -5
- package/pg-core/utils/index.d.cts +0 -2
- package/pg-core/utils/index.d.ts +0 -2
- package/pg-core/utils/index.js +0 -3
- package/prisma/mysql/driver.cjs +0 -31
- package/prisma/mysql/driver.cjs.map +0 -1
- package/prisma/mysql/driver.d.cts +0 -28
- package/prisma/mysql/driver.d.ts +0 -28
- package/prisma/mysql/driver.js +0 -29
- package/prisma/mysql/driver.js.map +0 -1
- package/prisma/mysql/index.cjs +0 -7
- package/prisma/mysql/index.d.cts +0 -3
- package/prisma/mysql/index.d.ts +0 -3
- package/prisma/mysql/index.js +0 -4
- package/prisma/mysql/session.cjs +0 -54
- package/prisma/mysql/session.cjs.map +0 -1
- package/prisma/mysql/session.d.cts +0 -44
- package/prisma/mysql/session.d.ts +0 -44
- package/prisma/mysql/session.js +0 -52
- package/prisma/mysql/session.js.map +0 -1
- package/prisma/pg/driver.cjs +0 -32
- package/prisma/pg/driver.cjs.map +0 -1
- package/prisma/pg/driver.d.cts +0 -28
- package/prisma/pg/driver.d.ts +0 -28
- package/prisma/pg/driver.js +0 -30
- package/prisma/pg/driver.js.map +0 -1
- package/prisma/pg/index.cjs +0 -7
- package/prisma/pg/index.d.cts +0 -3
- package/prisma/pg/index.d.ts +0 -3
- package/prisma/pg/index.js +0 -4
- package/prisma/pg/session.cjs +0 -53
- package/prisma/pg/session.cjs.map +0 -1
- package/prisma/pg/session.d.cts +0 -41
- package/prisma/pg/session.d.ts +0 -41
- package/prisma/pg/session.js +0 -51
- package/prisma/pg/session.js.map +0 -1
- package/prisma/sqlite/driver.cjs +0 -24
- package/prisma/sqlite/driver.cjs.map +0 -1
- package/prisma/sqlite/driver.d.cts +0 -21
- package/prisma/sqlite/driver.d.ts +0 -21
- package/prisma/sqlite/driver.js +0 -23
- package/prisma/sqlite/driver.js.map +0 -1
- package/prisma/sqlite/index.cjs +0 -6
- package/prisma/sqlite/index.d.cts +0 -3
- package/prisma/sqlite/index.d.ts +0 -3
- package/prisma/sqlite/index.js +0 -4
- package/prisma/sqlite/session.cjs +0 -56
- package/prisma/sqlite/session.cjs.map +0 -1
- package/prisma/sqlite/session.d.cts +0 -42
- package/prisma/sqlite/session.d.ts +0 -42
- package/prisma/sqlite/session.js +0 -54
- package/prisma/sqlite/session.js.map +0 -1
- package/row-mappers/index.cjs +0 -231
- package/row-mappers/index.cjs.map +0 -1
- package/row-mappers/index.d.cts +0 -101
- package/row-mappers/index.d.ts +0 -101
- package/row-mappers/index.js +0 -227
- package/row-mappers/index.js.map +0 -1
- /package/{gel-core/query-builders/select.types.cjs → arktype/column.types.cjs} +0 -0
- /package/{gel-core/query-builders/select.types.js → arktype/column.types.js} +0 -0
- /package/{gel-core/subquery.cjs → arktype/schema.types.cjs} +0 -0
- /package/{gel/migrator.cjs → arktype/schema.types.internal.cjs} +0 -0
- /package/{gel-core/subquery.js → arktype/schema.types.internal.js} +0 -0
- /package/{gel/migrator.js → arktype/schema.types.js} +0 -0
package/_relations.cjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_runtime = require('./_virtual/_rolldown/runtime.cjs');
|
|
2
3
|
const require_entity = require('./entity.cjs');
|
|
3
4
|
const require_column = require('./column.cjs');
|
|
4
5
|
const require_sql_sql = require('./sql/sql.cjs');
|
|
@@ -109,8 +110,8 @@ function extractTablesRelationalConfig(schema, configHelpers) {
|
|
|
109
110
|
} else if (require_entity.is(value, Relations)) {
|
|
110
111
|
const dbName = (0, __table_ts.getTableUniqueName)(value.table);
|
|
111
112
|
const tableName = tableNamesMap[dbName];
|
|
112
|
-
const relations
|
|
113
|
-
for (const [relationName, relation] of Object.entries(relations
|
|
113
|
+
const relations = value.config(configHelpers(value.table));
|
|
114
|
+
for (const [relationName, relation] of Object.entries(relations)) if (tableName) {
|
|
114
115
|
const tableConfig = tablesConfig[tableName];
|
|
115
116
|
tableConfig.relations[relationName] = relation;
|
|
116
117
|
} else {
|
|
@@ -123,8 +124,8 @@ function extractTablesRelationalConfig(schema, configHelpers) {
|
|
|
123
124
|
tableNamesMap
|
|
124
125
|
};
|
|
125
126
|
}
|
|
126
|
-
function relations(table, relations
|
|
127
|
-
return new Relations(table, (helpers) => Object.fromEntries(Object.entries(relations
|
|
127
|
+
function relations(table, relations) {
|
|
128
|
+
return new Relations(table, (helpers) => Object.fromEntries(Object.entries(relations(helpers)).map(([key, value]) => [key, value.withFieldName(key)])));
|
|
128
129
|
}
|
|
129
130
|
function createOne(sourceTable) {
|
|
130
131
|
return function one(table, config) {
|
package/_relations.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_relations.cjs","names":["entityKind","sourceTable: Table","referencedTable: AnyTable<{ name: TTableName }>","relationName: string | undefined","Table","table: AnyTable<{ name: TTableName }>","config: (helpers: TableRelationsHelpers<TTableName>) => TConfig","config:\n\t\t\t| RelationConfig<\n\t\t\t\tTTableName,\n\t\t\t\tstring,\n\t\t\t\tAnyColumn<{ tableName: TTableName }>[]\n\t\t\t>\n\t\t\t| undefined","isNullable: TIsNullable","config: { relationName: string } | undefined","is","tableNamesMap: Record<string, string>","relationsBuffer: Record<\n\t\tstring,\n\t\t{ relations: Record<string, Relation>; primaryKey?: AnyColumn[] }\n\t>","tablesConfig: TablesRelationalConfig","PrimaryKeyBuilder","relations: Record<string, Relation>","relations","reverseRelations: Relation[]","result: Record<string, unknown>","Column","SQL"],"sources":["../src/_relations.ts"],"sourcesContent":["import { type AnyTable, getTableUniqueName, type InferModelFromColumns, Table } from '~/table.ts';\nimport { type AnyColumn, Column } from './column.ts';\nimport { entityKind, is } from './entity.ts';\nimport { PrimaryKeyBuilder } from './pg-core/primary-keys.ts';\nimport {\n\tand,\n\tasc,\n\tbetween,\n\tdesc,\n\teq,\n\texists,\n\tgt,\n\tgte,\n\tilike,\n\tinArray,\n\tisNotNull,\n\tisNull,\n\tlike,\n\tlt,\n\tlte,\n\tne,\n\tnot,\n\tnotBetween,\n\tnotExists,\n\tnotIlike,\n\tnotInArray,\n\tnotLike,\n\tor,\n} from './sql/expressions/index.ts';\nimport { type Placeholder, SQL, sql } from './sql/sql.ts';\nimport type { Assume, ColumnsWithTable, Equal, Simplify, ValueOrArray } from './utils.ts';\n\nexport abstract class Relation<TTableName extends string = string> {\n\tstatic readonly [entityKind]: string = 'Relation';\n\n\tdeclare readonly $brand: 'Relation';\n\treadonly referencedTableName: TTableName;\n\tfieldName!: string;\n\n\tconstructor(\n\t\treadonly sourceTable: Table,\n\t\treadonly referencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly relationName: string | undefined,\n\t) {\n\t\tthis.referencedTableName = referencedTable[Table.Symbol.Name] as TTableName;\n\t}\n\n\tabstract withFieldName(fieldName: string): Relation<TTableName>;\n}\n\nexport class Relations<\n\tTTableName extends string = string,\n\tTConfig extends Record<string, Relation> = Record<string, Relation>,\n> {\n\tstatic readonly [entityKind]: string = 'Relations';\n\n\tdeclare readonly $brand: 'Relations';\n\n\tconstructor(\n\t\treadonly table: AnyTable<{ name: TTableName }>,\n\t\treadonly config: (helpers: TableRelationsHelpers<TTableName>) => TConfig,\n\t) {}\n}\n\nexport class One<\n\tTTableName extends string = string,\n\tTIsNullable extends boolean = boolean,\n> extends Relation<TTableName> {\n\tstatic override readonly [entityKind]: string = 'One';\n\n\tdeclare protected $relationBrand: 'One';\n\n\tconstructor(\n\t\tsourceTable: Table,\n\t\treferencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly config:\n\t\t\t| RelationConfig<\n\t\t\t\tTTableName,\n\t\t\t\tstring,\n\t\t\t\tAnyColumn<{ tableName: TTableName }>[]\n\t\t\t>\n\t\t\t| undefined,\n\t\treadonly isNullable: TIsNullable,\n\t) {\n\t\tsuper(sourceTable, referencedTable, config?.relationName);\n\t}\n\n\twithFieldName(fieldName: string): One<TTableName> {\n\t\tconst relation = new One(\n\t\t\tthis.sourceTable,\n\t\t\tthis.referencedTable,\n\t\t\tthis.config,\n\t\t\tthis.isNullable,\n\t\t);\n\t\trelation.fieldName = fieldName;\n\t\treturn relation;\n\t}\n}\n\nexport class Many<TTableName extends string> extends Relation<TTableName> {\n\tstatic override readonly [entityKind]: string = 'Many';\n\n\tdeclare protected $relationBrand: 'Many';\n\n\tconstructor(\n\t\tsourceTable: Table,\n\t\treferencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly config: { relationName: string } | undefined,\n\t) {\n\t\tsuper(sourceTable, referencedTable, config?.relationName);\n\t}\n\n\twithFieldName(fieldName: string): Many<TTableName> {\n\t\tconst relation = new Many(\n\t\t\tthis.sourceTable,\n\t\t\tthis.referencedTable,\n\t\t\tthis.config,\n\t\t);\n\t\trelation.fieldName = fieldName;\n\t\treturn relation;\n\t}\n}\n\nexport type TableRelationsKeysOnly<\n\tTSchema extends Record<string, unknown>,\n\tTTableName extends string,\n\tK extends keyof TSchema,\n> = TSchema[K] extends Relations<TTableName> ? K : never;\n\nexport type ExtractTableRelationsFromSchema<\n\tTSchema extends Record<string, unknown>,\n\tTTableName extends string,\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TSchema as TableRelationsKeysOnly<\n\t\t\t\tTSchema,\n\t\t\t\tTTableName,\n\t\t\t\tK\n\t\t\t>\n\t\t]: TSchema[K] extends Relations<TTableName, infer TConfig> ? TConfig : never;\n\t}\n>;\n\nexport type ExtractObjectValues<T> = T[keyof T];\n\nexport type ExtractRelationsFromTableExtraConfigSchema<\n\tTConfig extends unknown[],\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TConfig as TConfig[K] extends Relations<any> ? K\n\t\t\t\t: never\n\t\t]: TConfig[K] extends Relations<infer TRelationConfig> ? TRelationConfig\n\t\t\t: never;\n\t}\n>;\n\nexport function getOperators() {\n\treturn {\n\t\tand,\n\t\tbetween,\n\t\teq,\n\t\texists,\n\t\tgt,\n\t\tgte,\n\t\tilike,\n\t\tinArray,\n\t\tisNull,\n\t\tisNotNull,\n\t\tlike,\n\t\tlt,\n\t\tlte,\n\t\tne,\n\t\tnot,\n\t\tnotBetween,\n\t\tnotExists,\n\t\tnotLike,\n\t\tnotIlike,\n\t\tnotInArray,\n\t\tor,\n\t\tsql,\n\t};\n}\n\nexport type Operators = ReturnType<typeof getOperators>;\n\nexport function getOrderByOperators() {\n\treturn {\n\t\tsql,\n\t\tasc,\n\t\tdesc,\n\t};\n}\n\nexport type OrderByOperators = ReturnType<typeof getOrderByOperators>;\n\nexport type FindTableByDBName<\n\tTSchema extends TablesRelationalConfig,\n\tTTableName extends string,\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TSchema as TSchema[K]['dbName'] extends TTableName ? K\n\t\t\t\t: never\n\t\t]: TSchema[K];\n\t}\n>;\n\nexport type DBQueryConfig<\n\tTRelationType extends 'one' | 'many' = 'one' | 'many',\n\tTIsRoot extends boolean = boolean,\n\tTSchema extends TablesRelationalConfig = TablesRelationalConfig,\n\tTTableConfig extends TableRelationalConfig = TableRelationalConfig,\n> =\n\t& {\n\t\tcolumns?:\n\t\t\t| {\n\t\t\t\t[K in keyof TTableConfig['columns']]?: boolean;\n\t\t\t}\n\t\t\t| undefined;\n\t\twith?:\n\t\t\t| {\n\t\t\t\t[K in keyof TTableConfig['relations']]?:\n\t\t\t\t\t| true\n\t\t\t\t\t| DBQueryConfig<\n\t\t\t\t\t\tTTableConfig['relations'][K] extends One ? 'one' : 'many',\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\tTSchema,\n\t\t\t\t\t\tFindTableByDBName<\n\t\t\t\t\t\t\tTSchema,\n\t\t\t\t\t\t\tTTableConfig['relations'][K]['referencedTableName']\n\t\t\t\t\t\t>\n\t\t\t\t\t>\n\t\t\t\t\t| undefined;\n\t\t\t}\n\t\t\t| undefined;\n\t\textras?:\n\t\t\t| Record<string, SQL.Aliased>\n\t\t\t| ((\n\t\t\t\tfields: Simplify<\n\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t>,\n\t\t\t\toperators: { sql: Operators['sql'] },\n\t\t\t) => Record<string, SQL.Aliased>)\n\t\t\t| undefined;\n\t}\n\t& (TRelationType extends 'many' ?\n\t\t\t& {\n\t\t\t\twhere?:\n\t\t\t\t\t| SQL\n\t\t\t\t\t| undefined\n\t\t\t\t\t| ((\n\t\t\t\t\t\tfields: Simplify<\n\t\t\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t\t\t>,\n\t\t\t\t\t\toperators: Operators,\n\t\t\t\t\t) => SQL | undefined);\n\t\t\t\torderBy?:\n\t\t\t\t\t| ValueOrArray<AnyColumn | SQL>\n\t\t\t\t\t| ((\n\t\t\t\t\t\tfields: Simplify<\n\t\t\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t\t\t>,\n\t\t\t\t\t\toperators: OrderByOperators,\n\t\t\t\t\t) => ValueOrArray<AnyColumn | SQL>)\n\t\t\t\t\t| undefined;\n\t\t\t\tlimit?: number | Placeholder | undefined;\n\t\t\t}\n\t\t\t& (TIsRoot extends true ? {\n\t\t\t\t\toffset?: number | Placeholder | undefined;\n\t\t\t\t}\n\t\t\t\t: {})\n\t\t: {});\n\nexport interface TableRelationalConfig {\n\ttsName: string;\n\tdbName: string;\n\tcolumns: Record<string, Column>;\n\trelations: Record<string, Relation>;\n\tprimaryKey: AnyColumn[];\n\tschema?: string;\n}\n\nexport type TablesRelationalConfig = Record<string, TableRelationalConfig>;\n\nexport interface RelationalSchemaConfig<\n\tTSchema extends TablesRelationalConfig,\n> {\n\tfullSchema: Record<string, unknown>;\n\tschema: TSchema;\n\ttableNamesMap: Record<string, string>;\n}\n\nexport type ExtractTablesWithRelations<\n\tTSchema extends Record<string, unknown>,\n> = {\n\t[\n\t\tK in keyof TSchema as TSchema[K] extends Table ? K\n\t\t\t: never\n\t]: TSchema[K] extends Table ? {\n\t\t\ttsName: K & string;\n\t\t\tdbName: TSchema[K]['_']['name'];\n\t\t\tcolumns: TSchema[K]['_']['columns'];\n\t\t\trelations: ExtractTableRelationsFromSchema<\n\t\t\t\tTSchema,\n\t\t\t\tTSchema[K]['_']['name']\n\t\t\t>;\n\t\t\tprimaryKey: AnyColumn[];\n\t\t}\n\t\t: never;\n};\n\nexport type ReturnTypeOrValue<T> = T extends (...args: any[]) => infer R ? R\n\t: T;\n\nexport type BuildRelationResult<\n\tTSchema extends TablesRelationalConfig,\n\tTInclude,\n\tTRelations extends Record<string, Relation>,\n> = {\n\t[\n\t\tK in\n\t\t\t& NonUndefinedKeysOnly<TInclude>\n\t\t\t& keyof TRelations\n\t]: TRelations[K] extends infer TRel extends Relation ? BuildQueryResult<\n\t\t\tTSchema,\n\t\t\tFindTableByDBName<TSchema, TRel['referencedTableName']>,\n\t\t\tAssume<TInclude[K], true | Record<string, unknown>>\n\t\t> extends infer TResult ? TRel extends One ?\n\t\t\t\t\t| TResult\n\t\t\t\t\t| (Equal<TRel['isNullable'], false> extends true ? null : never)\n\t\t\t: TResult[]\n\t\t: never\n\t\t: never;\n};\n\nexport type NonUndefinedKeysOnly<T> =\n\t& ExtractObjectValues<\n\t\t{\n\t\t\t[K in keyof T as T[K] extends undefined ? never : K]: K;\n\t\t}\n\t>\n\t& keyof T;\n\nexport type BuildQueryResult<\n\tTSchema extends TablesRelationalConfig,\n\tTTableConfig extends TableRelationalConfig,\n\tTFullSelection extends true | Record<string, unknown>,\n> = Equal<TFullSelection, true> extends true ? InferModelFromColumns<TTableConfig['columns']>\n\t: TFullSelection extends Record<string, unknown> ? Simplify<\n\t\t\t& (TFullSelection['columns'] extends Record<string, unknown> ? InferModelFromColumns<\n\t\t\t\t\t{\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tK in Equal<\n\t\t\t\t\t\t\t\tExclude<\n\t\t\t\t\t\t\t\t\tTFullSelection['columns'][\n\t\t\t\t\t\t\t\t\t\t& keyof TFullSelection['columns']\n\t\t\t\t\t\t\t\t\t\t& keyof TTableConfig['columns']\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\tundefined\n\t\t\t\t\t\t\t\t>,\n\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t> extends true ? Exclude<\n\t\t\t\t\t\t\t\t\tkeyof TTableConfig['columns'],\n\t\t\t\t\t\t\t\t\tNonUndefinedKeysOnly<TFullSelection['columns']>\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t& {\n\t\t\t\t\t\t\t\t\t\t[K in keyof TFullSelection['columns']]: Equal<\n\t\t\t\t\t\t\t\t\t\t\tTFullSelection['columns'][K],\n\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t> extends true ? K\n\t\t\t\t\t\t\t\t\t\t\t: never;\n\t\t\t\t\t\t\t\t\t}[keyof TFullSelection['columns']]\n\t\t\t\t\t\t\t\t\t& keyof TTableConfig['columns']\n\t\t\t\t\t\t]: TTableConfig['columns'][K];\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t: InferModelFromColumns<TTableConfig['columns']>)\n\t\t\t& (TFullSelection['extras'] extends\n\t\t\t\t| Record<string, unknown>\n\t\t\t\t| ((...args: any[]) => Record<string, unknown>) ? {\n\t\t\t\t\t[\n\t\t\t\t\t\tK in NonUndefinedKeysOnly<\n\t\t\t\t\t\t\tReturnTypeOrValue<TFullSelection['extras']>\n\t\t\t\t\t\t>\n\t\t\t\t\t]: Assume<\n\t\t\t\t\t\tReturnTypeOrValue<TFullSelection['extras']>[K],\n\t\t\t\t\t\tSQL.Aliased\n\t\t\t\t\t>['_']['type'];\n\t\t\t\t}\n\t\t\t\t: {})\n\t\t\t& (TFullSelection['with'] extends Record<string, unknown> ? BuildRelationResult<\n\t\t\t\t\tTSchema,\n\t\t\t\t\tTFullSelection['with'],\n\t\t\t\t\tTTableConfig['relations']\n\t\t\t\t>\n\t\t\t\t: {})\n\t\t>\n\t: never;\n\nexport interface RelationConfig<\n\tTTableName extends string,\n\tTForeignTableName extends string,\n\tTColumns extends AnyColumn<{ tableName: TTableName }>[],\n> {\n\trelationName?: string;\n\tfields: TColumns;\n\treferences: ColumnsWithTable<TTableName, TForeignTableName, TColumns>;\n}\n\nexport function extractTablesRelationalConfig<\n\tTTables extends TablesRelationalConfig,\n>(\n\tschema: Record<string, unknown>,\n\tconfigHelpers: (table: Table) => any,\n): { tables: TTables; tableNamesMap: Record<string, string> } {\n\tif (\n\t\tObject.keys(schema).length === 1\n\t\t&& 'default' in schema\n\t\t&& !is(schema['default'], Table)\n\t) {\n\t\tschema = schema['default'] as Record<string, unknown>;\n\t}\n\n\t// table DB name -> schema table key\n\tconst tableNamesMap: Record<string, string> = {};\n\t// Table relations found before their tables - need to buffer them until we know the schema table key\n\tconst relationsBuffer: Record<\n\t\tstring,\n\t\t{ relations: Record<string, Relation>; primaryKey?: AnyColumn[] }\n\t> = {};\n\tconst tablesConfig: TablesRelationalConfig = {};\n\tfor (const [key, value] of Object.entries(schema)) {\n\t\tif (is(value, Table)) {\n\t\t\tconst dbName = getTableUniqueName(value);\n\t\t\tconst bufferedRelations = relationsBuffer[dbName];\n\t\t\ttableNamesMap[dbName] = key;\n\t\t\ttablesConfig[key] = {\n\t\t\t\ttsName: key,\n\t\t\t\tdbName: value[Table.Symbol.Name],\n\t\t\t\tschema: value[Table.Symbol.Schema],\n\t\t\t\tcolumns: value[Table.Symbol.Columns],\n\t\t\t\trelations: bufferedRelations?.relations ?? {},\n\t\t\t\tprimaryKey: bufferedRelations?.primaryKey ?? [],\n\t\t\t};\n\n\t\t\t// Fill in primary keys\n\t\t\tfor (\n\t\t\t\tconst column of Object.values(\n\t\t\t\t\t(value as Table)[Table.Symbol.Columns],\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tif (column.primary) {\n\t\t\t\t\ttablesConfig[key]!.primaryKey.push(column);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst extraConfig = value[Table.Symbol.ExtraConfigBuilder]?.((value as Table)[Table.Symbol.ExtraConfigColumns]);\n\t\t\tif (extraConfig) {\n\t\t\t\tfor (const configEntry of Object.values(extraConfig)) {\n\t\t\t\t\tif (is(configEntry, PrimaryKeyBuilder)) {\n\t\t\t\t\t\ttablesConfig[key]!.primaryKey.push(...configEntry.columns);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (is(value, Relations)) {\n\t\t\tconst dbName = getTableUniqueName(value.table);\n\t\t\tconst tableName = tableNamesMap[dbName];\n\t\t\tconst relations: Record<string, Relation> = value.config(\n\t\t\t\tconfigHelpers(value.table),\n\t\t\t);\n\t\t\t// let primaryKey: AnyColumn[] | undefined;\n\n\t\t\tfor (const [relationName, relation] of Object.entries(relations)) {\n\t\t\t\tif (tableName) {\n\t\t\t\t\tconst tableConfig = tablesConfig[tableName]!;\n\t\t\t\t\ttableConfig.relations[relationName] = relation;\n\t\t\t\t\t// if (primaryKey) {\n\t\t\t\t\t// \ttableConfig.primaryKey.push(...primaryKey);\n\t\t\t\t\t// }\n\t\t\t\t} else {\n\t\t\t\t\tif (!(dbName in relationsBuffer)) {\n\t\t\t\t\t\trelationsBuffer[dbName] = {\n\t\t\t\t\t\t\trelations: {},\n\t\t\t\t\t\t\t// primaryKey,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\trelationsBuffer[dbName]!.relations[relationName] = relation;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { tables: tablesConfig as TTables, tableNamesMap };\n}\n\nexport function relations<\n\tTTableName extends string,\n\tTRelations extends Record<string, Relation<any>>,\n>(\n\ttable: AnyTable<{ name: TTableName }>,\n\trelations: (helpers: TableRelationsHelpers<TTableName>) => TRelations,\n): Relations<TTableName, TRelations> {\n\treturn new Relations<TTableName, TRelations>(\n\t\ttable,\n\t\t(helpers: TableRelationsHelpers<TTableName>) =>\n\t\t\tObject.fromEntries(\n\t\t\t\tObject.entries(relations(helpers)).map(([key, value]) => [\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue.withFieldName(key),\n\t\t\t\t]),\n\t\t\t) as TRelations,\n\t);\n}\n\nexport function createOne<TTableName extends string>(sourceTable: Table) {\n\treturn function one<\n\t\tTForeignTable extends Table,\n\t\tTColumns extends [\n\t\t\tAnyColumn<{ tableName: TTableName }>,\n\t\t\t...AnyColumn<{ tableName: TTableName }>[],\n\t\t],\n\t>(\n\t\ttable: TForeignTable,\n\t\tconfig?: RelationConfig<TTableName, TForeignTable['_']['name'], TColumns>,\n\t): One<\n\t\tTForeignTable['_']['name'],\n\t\tEqual<TColumns[number]['_']['notNull'], true>\n\t> {\n\t\treturn new One(\n\t\t\tsourceTable,\n\t\t\ttable,\n\t\t\tconfig,\n\t\t\t(config?.fields.reduce<boolean>((res, f) => res && f.notNull, true)\n\t\t\t\t?? false) as Equal<TColumns[number]['_']['notNull'], true>,\n\t\t);\n\t};\n}\n\nexport function createMany(sourceTable: Table) {\n\treturn function many<TForeignTable extends Table>(\n\t\treferencedTable: TForeignTable,\n\t\tconfig?: { relationName: string },\n\t): Many<TForeignTable['_']['name']> {\n\t\treturn new Many(sourceTable, referencedTable, config);\n\t};\n}\n\nexport interface NormalizedRelation {\n\tfields: AnyColumn[];\n\treferences: AnyColumn[];\n}\n\nexport function normalizeRelation(\n\tschema: TablesRelationalConfig,\n\ttableNamesMap: Record<string, string>,\n\trelation: Relation,\n): NormalizedRelation {\n\tif (is(relation, One) && relation.config) {\n\t\treturn {\n\t\t\tfields: relation.config.fields,\n\t\t\treferences: relation.config.references,\n\t\t};\n\t}\n\n\tconst referencedTableTsName = tableNamesMap[getTableUniqueName(relation.referencedTable)];\n\tif (!referencedTableTsName) {\n\t\tthrow new Error(\n\t\t\t`Table \"${relation.referencedTable[Table.Symbol.Name]}\" not found in schema`,\n\t\t);\n\t}\n\n\tconst referencedTableConfig = schema[referencedTableTsName];\n\tif (!referencedTableConfig) {\n\t\tthrow new Error(`Table \"${referencedTableTsName}\" not found in schema`);\n\t}\n\n\tconst sourceTable = relation.sourceTable;\n\tconst sourceTableTsName = tableNamesMap[getTableUniqueName(sourceTable)];\n\tif (!sourceTableTsName) {\n\t\tthrow new Error(\n\t\t\t`Table \"${sourceTable[Table.Symbol.Name]}\" not found in schema`,\n\t\t);\n\t}\n\n\tconst reverseRelations: Relation[] = [];\n\tfor (\n\t\tconst referencedTableRelation of Object.values(\n\t\t\treferencedTableConfig.relations,\n\t\t)\n\t) {\n\t\tif (\n\t\t\t(relation.relationName\n\t\t\t\t&& relation !== referencedTableRelation\n\t\t\t\t&& referencedTableRelation.relationName === relation.relationName)\n\t\t\t|| (!relation.relationName\n\t\t\t\t&& referencedTableRelation.referencedTable === relation.sourceTable)\n\t\t) {\n\t\t\treverseRelations.push(referencedTableRelation);\n\t\t}\n\t}\n\n\tif (reverseRelations.length > 1) {\n\t\tthrow relation.relationName\n\t\t\t? new Error(\n\t\t\t\t`There are multiple relations with name \"${relation.relationName}\" in table \"${referencedTableTsName}\"`,\n\t\t\t)\n\t\t\t: new Error(\n\t\t\t\t`There are multiple relations between \"${referencedTableTsName}\" and \"${\n\t\t\t\t\trelation.sourceTable[Table.Symbol.Name]\n\t\t\t\t}\". Please specify relation name`,\n\t\t\t);\n\t}\n\n\tif (\n\t\treverseRelations[0]\n\t\t&& is(reverseRelations[0], One)\n\t\t&& reverseRelations[0].config\n\t) {\n\t\treturn {\n\t\t\tfields: reverseRelations[0].config.references,\n\t\t\treferences: reverseRelations[0].config.fields,\n\t\t};\n\t}\n\n\tthrow new Error(\n\t\t`There is not enough information to infer relation \"${sourceTableTsName}.${relation.fieldName}\"`,\n\t);\n}\n\nexport function createTableRelationsHelpers<TTableName extends string>(\n\tsourceTable: AnyTable<{ name: TTableName }>,\n) {\n\treturn {\n\t\tone: createOne<TTableName>(sourceTable),\n\t\tmany: createMany(sourceTable),\n\t};\n}\n\nexport type TableRelationsHelpers<TTableName extends string> = ReturnType<\n\ttypeof createTableRelationsHelpers<TTableName>\n>;\n\nexport interface BuildRelationalQueryResult<\n\tTTable extends Table = Table,\n\tTColumn extends Column = Column,\n> {\n\ttableTsKey: string;\n\tselection: {\n\t\tdbKey: string;\n\t\ttsKey: string;\n\t\tfield: TColumn | SQL | SQL.Aliased;\n\t\trelationTableTsKey: string | undefined;\n\t\tisJson: boolean;\n\t\tisExtra?: boolean;\n\t\tselection: BuildRelationalQueryResult<TTable>['selection'];\n\t}[];\n\tsql: TTable | SQL;\n}\n\nexport function mapRelationalRow(\n\ttablesConfig: TablesRelationalConfig,\n\ttableConfig: TableRelationalConfig,\n\trow: unknown[],\n\tbuildQueryResultSelection: BuildRelationalQueryResult['selection'],\n\tmapColumnValue: (value: unknown) => unknown = (value) => value,\n): Record<string, unknown> {\n\tconst result: Record<string, unknown> = {};\n\n\tfor (\n\t\tconst [\n\t\t\tselectionItemIndex,\n\t\t\tselectionItem,\n\t\t] of buildQueryResultSelection.entries()\n\t) {\n\t\tif (selectionItem.isJson) {\n\t\t\tconst relation = tableConfig.relations[selectionItem.tsKey]!;\n\t\t\tconst rawSubRows = row[selectionItemIndex] as\n\t\t\t\t| unknown[]\n\t\t\t\t| null\n\t\t\t\t| [null]\n\t\t\t\t| string;\n\t\t\tconst subRows = typeof rawSubRows === 'string'\n\t\t\t\t? (JSON.parse(rawSubRows) as unknown[])\n\t\t\t\t: rawSubRows;\n\t\t\tresult[selectionItem.tsKey] = is(relation, One)\n\t\t\t\t? subRows\n\t\t\t\t\t&& mapRelationalRow(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRows,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t: (subRows as unknown[][]).map((subRow) =>\n\t\t\t\t\tmapRelationalRow(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRow,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t} else {\n\t\t\tconst value = mapColumnValue(row[selectionItemIndex]);\n\t\t\tconst field = selectionItem.field!;\n\t\t\tlet decoder;\n\t\t\tif (is(field, Column)) {\n\t\t\t\tdecoder = field;\n\t\t\t} else if (is(field, SQL)) {\n\t\t\t\tdecoder = field.decoder;\n\t\t\t} else {\n\t\t\t\tdecoder = field.sql.decoder;\n\t\t\t}\n\t\t\tresult[selectionItem.tsKey] = value === null ? null : decoder.mapFromDriverValue(value);\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function mapRelationalRowFromObj(\n\ttablesConfig: TablesRelationalConfig,\n\ttableConfig: TableRelationalConfig,\n\trow: unknown[],\n\tbuildQueryResultSelection: BuildRelationalQueryResult['selection'],\n\tmapColumnValue: (value: unknown) => unknown = (value) => value,\n): Record<string, unknown> {\n\tconst result: Record<string, unknown> = {};\n\n\tfor (\n\t\tconst [\n\t\t\tselectionItemIndex,\n\t\t\tselectionItem,\n\t\t] of buildQueryResultSelection.entries()\n\t) {\n\t\tif (selectionItem.isJson) {\n\t\t\tconst relation = tableConfig.relations[selectionItem.tsKey]!;\n\t\t\tconst isOne = is(relation, One);\n\t\t\tconst rawSubRows = row[selectionItemIndex] as unknown[] | null | [null] | string;\n\n\t\t\tlet subRows = rawSubRows as unknown[] | null;\n\t\t\tif (subRows || Array.isArray(subRows)) {\n\t\t\t\tsubRows = (typeof rawSubRows === 'string' ? JSON.parse(rawSubRows) : rawSubRows) as unknown[];\n\n\t\t\t\tsubRows = isOne\n\t\t\t\t\t? subRows.flatMap((r) => Array.isArray(r) ? r : Object.values(r as any))\n\t\t\t\t\t: subRows.map((r) => Array.isArray(r) ? r : Object.values(r as any));\n\t\t\t}\n\n\t\t\tresult[selectionItem.tsKey] = isOne\n\t\t\t\t? subRows\n\t\t\t\t\t&& mapRelationalRowFromObj(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRows,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t: ((subRows ?? []) as unknown[][]).map((subRow) =>\n\t\t\t\t\tmapRelationalRowFromObj(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRow,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t} else {\n\t\t\tconst value = mapColumnValue(row[selectionItemIndex]);\n\t\t\tconst field = selectionItem.field!;\n\t\t\tlet decoder;\n\t\t\tif (is(field, Column)) {\n\t\t\t\tdecoder = field;\n\t\t\t} else if (is(field, SQL)) {\n\t\t\t\tdecoder = field.decoder;\n\t\t\t} else {\n\t\t\t\tdecoder = field.sql.decoder;\n\t\t\t}\n\t\t\tresult[selectionItem.tsKey] = value === null ? null : decoder.mapFromDriverValue(value);\n\t\t}\n\t}\n\n\treturn result;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"_relations.cjs","names":["entityKind","Table","is","PrimaryKeyBuilder","Column","SQL"],"sources":["../src/_relations.ts"],"sourcesContent":["import { type AnyTable, getTableUniqueName, type InferModelFromColumns, Table } from '~/table.ts';\nimport { type AnyColumn, Column } from './column.ts';\nimport { entityKind, is } from './entity.ts';\nimport { PrimaryKeyBuilder } from './pg-core/primary-keys.ts';\nimport {\n\tand,\n\tasc,\n\tbetween,\n\tdesc,\n\teq,\n\texists,\n\tgt,\n\tgte,\n\tilike,\n\tinArray,\n\tisNotNull,\n\tisNull,\n\tlike,\n\tlt,\n\tlte,\n\tne,\n\tnot,\n\tnotBetween,\n\tnotExists,\n\tnotIlike,\n\tnotInArray,\n\tnotLike,\n\tor,\n} from './sql/expressions/index.ts';\nimport { type CommentInput, type Placeholder, SQL, sql } from './sql/sql.ts';\nimport type { Assume, ColumnsWithTable, Equal, Simplify, ValueOrArray } from './utils.ts';\n\nexport abstract class Relation<TTableName extends string = string> {\n\tstatic readonly [entityKind]: string = 'Relation';\n\n\tdeclare readonly $brand: 'Relation';\n\treadonly referencedTableName: TTableName;\n\tfieldName!: string;\n\n\tconstructor(\n\t\treadonly sourceTable: Table,\n\t\treadonly referencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly relationName: string | undefined,\n\t) {\n\t\tthis.referencedTableName = referencedTable[Table.Symbol.Name] as TTableName;\n\t}\n\n\tabstract withFieldName(fieldName: string): Relation<TTableName>;\n}\n\nexport class Relations<\n\tTTableName extends string = string,\n\tTConfig extends Record<string, Relation> = Record<string, Relation>,\n> {\n\tstatic readonly [entityKind]: string = 'Relations';\n\n\tdeclare readonly $brand: 'Relations';\n\n\tconstructor(\n\t\treadonly table: AnyTable<{ name: TTableName }>,\n\t\treadonly config: (helpers: TableRelationsHelpers<TTableName>) => TConfig,\n\t) {}\n}\n\nexport class One<\n\tTTableName extends string = string,\n\tTIsNullable extends boolean = boolean,\n> extends Relation<TTableName> {\n\tstatic override readonly [entityKind]: string = 'One';\n\n\tdeclare protected $relationBrand: 'One';\n\n\tconstructor(\n\t\tsourceTable: Table,\n\t\treferencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly config:\n\t\t\t| RelationConfig<\n\t\t\t\tTTableName,\n\t\t\t\tstring,\n\t\t\t\tAnyColumn<{ tableName: TTableName }>[]\n\t\t\t>\n\t\t\t| undefined,\n\t\treadonly isNullable: TIsNullable,\n\t) {\n\t\tsuper(sourceTable, referencedTable, config?.relationName);\n\t}\n\n\twithFieldName(fieldName: string): One<TTableName> {\n\t\tconst relation = new One(\n\t\t\tthis.sourceTable,\n\t\t\tthis.referencedTable,\n\t\t\tthis.config,\n\t\t\tthis.isNullable,\n\t\t);\n\t\trelation.fieldName = fieldName;\n\t\treturn relation;\n\t}\n}\n\nexport class Many<TTableName extends string> extends Relation<TTableName> {\n\tstatic override readonly [entityKind]: string = 'Many';\n\n\tdeclare protected $relationBrand: 'Many';\n\n\tconstructor(\n\t\tsourceTable: Table,\n\t\treferencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly config: { relationName: string } | undefined,\n\t) {\n\t\tsuper(sourceTable, referencedTable, config?.relationName);\n\t}\n\n\twithFieldName(fieldName: string): Many<TTableName> {\n\t\tconst relation = new Many(\n\t\t\tthis.sourceTable,\n\t\t\tthis.referencedTable,\n\t\t\tthis.config,\n\t\t);\n\t\trelation.fieldName = fieldName;\n\t\treturn relation;\n\t}\n}\n\nexport type TableRelationsKeysOnly<\n\tTSchema extends Record<string, unknown>,\n\tTTableName extends string,\n\tK extends keyof TSchema,\n> = TSchema[K] extends Relations<TTableName> ? K : never;\n\nexport type ExtractTableRelationsFromSchema<\n\tTSchema extends Record<string, unknown>,\n\tTTableName extends string,\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TSchema as TableRelationsKeysOnly<\n\t\t\t\tTSchema,\n\t\t\t\tTTableName,\n\t\t\t\tK\n\t\t\t>\n\t\t]: TSchema[K] extends Relations<TTableName, infer TConfig> ? TConfig : never;\n\t}\n>;\n\nexport type ExtractObjectValues<T> = T[keyof T];\n\nexport type ExtractRelationsFromTableExtraConfigSchema<\n\tTConfig extends unknown[],\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TConfig as TConfig[K] extends Relations<any> ? K\n\t\t\t\t: never\n\t\t]: TConfig[K] extends Relations<infer TRelationConfig> ? TRelationConfig\n\t\t\t: never;\n\t}\n>;\n\nexport function getOperators() {\n\treturn {\n\t\tand,\n\t\tbetween,\n\t\teq,\n\t\texists,\n\t\tgt,\n\t\tgte,\n\t\tilike,\n\t\tinArray,\n\t\tisNull,\n\t\tisNotNull,\n\t\tlike,\n\t\tlt,\n\t\tlte,\n\t\tne,\n\t\tnot,\n\t\tnotBetween,\n\t\tnotExists,\n\t\tnotLike,\n\t\tnotIlike,\n\t\tnotInArray,\n\t\tor,\n\t\tsql,\n\t};\n}\n\nexport type Operators = ReturnType<typeof getOperators>;\n\nexport function getOrderByOperators() {\n\treturn {\n\t\tsql,\n\t\tasc,\n\t\tdesc,\n\t};\n}\n\nexport type OrderByOperators = ReturnType<typeof getOrderByOperators>;\n\nexport type FindTableByDBName<\n\tTSchema extends TablesRelationalConfig,\n\tTTableName extends string,\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TSchema as TSchema[K]['dbName'] extends TTableName ? K\n\t\t\t\t: never\n\t\t]: TSchema[K];\n\t}\n>;\n\nexport type DBQueryConfig<\n\tTRelationType extends 'one' | 'many' = 'one' | 'many',\n\tTIsRoot extends boolean = boolean,\n\tTSchema extends TablesRelationalConfig = TablesRelationalConfig,\n\tTTableConfig extends TableRelationalConfig = TableRelationalConfig,\n> =\n\t& {\n\t\tcolumns?:\n\t\t\t| {\n\t\t\t\t[K in keyof TTableConfig['columns']]?: boolean;\n\t\t\t}\n\t\t\t| undefined;\n\t\twith?:\n\t\t\t| {\n\t\t\t\t[K in keyof TTableConfig['relations']]?:\n\t\t\t\t\t| true\n\t\t\t\t\t| DBQueryConfig<\n\t\t\t\t\t\tTTableConfig['relations'][K] extends One ? 'one' : 'many',\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\tTSchema,\n\t\t\t\t\t\tFindTableByDBName<\n\t\t\t\t\t\t\tTSchema,\n\t\t\t\t\t\t\tTTableConfig['relations'][K]['referencedTableName']\n\t\t\t\t\t\t>\n\t\t\t\t\t>\n\t\t\t\t\t| undefined;\n\t\t\t}\n\t\t\t| undefined;\n\t\textras?:\n\t\t\t| Record<string, SQL.Aliased>\n\t\t\t| ((\n\t\t\t\tfields: Simplify<\n\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t>,\n\t\t\t\toperators: { sql: Operators['sql'] },\n\t\t\t) => Record<string, SQL.Aliased>)\n\t\t\t| undefined;\n\t}\n\t& (TRelationType extends 'many' ?\n\t\t\t& {\n\t\t\t\twhere?:\n\t\t\t\t\t| SQL\n\t\t\t\t\t| undefined\n\t\t\t\t\t| ((\n\t\t\t\t\t\tfields: Simplify<\n\t\t\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t\t\t>,\n\t\t\t\t\t\toperators: Operators,\n\t\t\t\t\t) => SQL | undefined);\n\t\t\t\torderBy?:\n\t\t\t\t\t| ValueOrArray<AnyColumn | SQL>\n\t\t\t\t\t| ((\n\t\t\t\t\t\tfields: Simplify<\n\t\t\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t\t\t>,\n\t\t\t\t\t\toperators: OrderByOperators,\n\t\t\t\t\t) => ValueOrArray<AnyColumn | SQL>)\n\t\t\t\t\t| undefined;\n\t\t\t\tlimit?: number | Placeholder | undefined;\n\t\t\t}\n\t\t\t& (TIsRoot extends true ? {\n\t\t\t\t\toffset?: number | Placeholder | undefined;\n\t\t\t\t}\n\t\t\t\t: {})\n\t\t: {});\n\nexport type DBQueryConfigWithComment<\n\tTRelationType extends 'one' | 'many' = 'one' | 'many',\n\tTIsRoot extends boolean = boolean,\n\tTSchema extends TablesRelationalConfig = TablesRelationalConfig,\n\tTTableConfig extends TableRelationalConfig = TableRelationalConfig,\n> = DBQueryConfig<TRelationType, TIsRoot, TSchema, TTableConfig> & { comment?: CommentInput | undefined };\n\nexport interface TableRelationalConfig {\n\ttsName: string;\n\tdbName: string;\n\tcolumns: Record<string, Column>;\n\trelations: Record<string, Relation>;\n\tprimaryKey: AnyColumn[];\n\tschema?: string;\n}\n\nexport type TablesRelationalConfig = Record<string, TableRelationalConfig>;\n\nexport interface RelationalSchemaConfig<\n\tTSchema extends TablesRelationalConfig,\n> {\n\tfullSchema: Record<string, unknown>;\n\tschema: TSchema;\n\ttableNamesMap: Record<string, string>;\n}\n\nexport type ExtractTablesWithRelations<\n\tTSchema extends Record<string, unknown>,\n> = {\n\t[\n\t\tK in keyof TSchema as TSchema[K] extends Table ? K\n\t\t\t: never\n\t]: TSchema[K] extends Table ? {\n\t\t\ttsName: K & string;\n\t\t\tdbName: TSchema[K]['_']['name'];\n\t\t\tcolumns: TSchema[K]['_']['columns'];\n\t\t\trelations: ExtractTableRelationsFromSchema<\n\t\t\t\tTSchema,\n\t\t\t\tTSchema[K]['_']['name']\n\t\t\t>;\n\t\t\tprimaryKey: AnyColumn[];\n\t\t}\n\t\t: never;\n};\n\nexport type ReturnTypeOrValue<T> = T extends (...args: any[]) => infer R ? R\n\t: T;\n\nexport type BuildRelationResult<\n\tTSchema extends TablesRelationalConfig,\n\tTInclude,\n\tTRelations extends Record<string, Relation>,\n> = {\n\t[\n\t\tK in\n\t\t\t& NonUndefinedKeysOnly<TInclude>\n\t\t\t& keyof TRelations\n\t]: TRelations[K] extends infer TRel extends Relation ? BuildQueryResult<\n\t\t\tTSchema,\n\t\t\tFindTableByDBName<TSchema, TRel['referencedTableName']>,\n\t\t\tAssume<TInclude[K], true | Record<string, unknown>>\n\t\t> extends infer TResult ? TRel extends One ?\n\t\t\t\t\t| TResult\n\t\t\t\t\t| (Equal<TRel['isNullable'], false> extends true ? null : never)\n\t\t\t: TResult[]\n\t\t: never\n\t\t: never;\n};\n\nexport type NonUndefinedKeysOnly<T> =\n\t& ExtractObjectValues<\n\t\t{\n\t\t\t[K in keyof T as T[K] extends undefined ? never : K]: K;\n\t\t}\n\t>\n\t& keyof T;\n\nexport type BuildQueryResult<\n\tTSchema extends TablesRelationalConfig,\n\tTTableConfig extends TableRelationalConfig,\n\tTFullSelection extends true | Record<string, unknown>,\n> = Equal<TFullSelection, true> extends true ? InferModelFromColumns<TTableConfig['columns']>\n\t: TFullSelection extends Record<string, unknown> ? Simplify<\n\t\t\t& (TFullSelection['columns'] extends Record<string, unknown> ? InferModelFromColumns<\n\t\t\t\t\t{\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tK in Equal<\n\t\t\t\t\t\t\t\tExclude<\n\t\t\t\t\t\t\t\t\tTFullSelection['columns'][\n\t\t\t\t\t\t\t\t\t\t& keyof TFullSelection['columns']\n\t\t\t\t\t\t\t\t\t\t& keyof TTableConfig['columns']\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\tundefined\n\t\t\t\t\t\t\t\t>,\n\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t> extends true ? Exclude<\n\t\t\t\t\t\t\t\t\tkeyof TTableConfig['columns'],\n\t\t\t\t\t\t\t\t\tNonUndefinedKeysOnly<TFullSelection['columns']>\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t& {\n\t\t\t\t\t\t\t\t\t\t[K in keyof TFullSelection['columns']]: Equal<\n\t\t\t\t\t\t\t\t\t\t\tTFullSelection['columns'][K],\n\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t> extends true ? K\n\t\t\t\t\t\t\t\t\t\t\t: never;\n\t\t\t\t\t\t\t\t\t}[keyof TFullSelection['columns']]\n\t\t\t\t\t\t\t\t\t& keyof TTableConfig['columns']\n\t\t\t\t\t\t]: TTableConfig['columns'][K];\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t: InferModelFromColumns<TTableConfig['columns']>)\n\t\t\t& (TFullSelection['extras'] extends\n\t\t\t\t| Record<string, unknown>\n\t\t\t\t| ((...args: any[]) => Record<string, unknown>) ? {\n\t\t\t\t\t[\n\t\t\t\t\t\tK in NonUndefinedKeysOnly<\n\t\t\t\t\t\t\tReturnTypeOrValue<TFullSelection['extras']>\n\t\t\t\t\t\t>\n\t\t\t\t\t]: Assume<\n\t\t\t\t\t\tReturnTypeOrValue<TFullSelection['extras']>[K],\n\t\t\t\t\t\tSQL.Aliased\n\t\t\t\t\t>['_']['type'];\n\t\t\t\t}\n\t\t\t\t: {})\n\t\t\t& (TFullSelection['with'] extends Record<string, unknown> ? BuildRelationResult<\n\t\t\t\t\tTSchema,\n\t\t\t\t\tTFullSelection['with'],\n\t\t\t\t\tTTableConfig['relations']\n\t\t\t\t>\n\t\t\t\t: {})\n\t\t>\n\t: never;\n\nexport interface RelationConfig<\n\tTTableName extends string,\n\tTForeignTableName extends string,\n\tTColumns extends AnyColumn<{ tableName: TTableName }>[],\n> {\n\trelationName?: string;\n\tfields: TColumns;\n\treferences: ColumnsWithTable<TTableName, TForeignTableName, TColumns>;\n}\n\nexport function extractTablesRelationalConfig<\n\tTTables extends TablesRelationalConfig,\n>(\n\tschema: Record<string, unknown>,\n\tconfigHelpers: (table: Table) => any,\n): { tables: TTables; tableNamesMap: Record<string, string> } {\n\tif (\n\t\tObject.keys(schema).length === 1\n\t\t&& 'default' in schema\n\t\t&& !is(schema['default'], Table)\n\t) {\n\t\tschema = schema['default'] as Record<string, unknown>;\n\t}\n\n\t// table DB name -> schema table key\n\tconst tableNamesMap: Record<string, string> = {};\n\t// Table relations found before their tables - need to buffer them until we know the schema table key\n\tconst relationsBuffer: Record<\n\t\tstring,\n\t\t{ relations: Record<string, Relation>; primaryKey?: AnyColumn[] }\n\t> = {};\n\tconst tablesConfig: TablesRelationalConfig = {};\n\tfor (const [key, value] of Object.entries(schema)) {\n\t\tif (is(value, Table)) {\n\t\t\tconst dbName = getTableUniqueName(value);\n\t\t\tconst bufferedRelations = relationsBuffer[dbName];\n\t\t\ttableNamesMap[dbName] = key;\n\t\t\ttablesConfig[key] = {\n\t\t\t\ttsName: key,\n\t\t\t\tdbName: value[Table.Symbol.Name],\n\t\t\t\tschema: value[Table.Symbol.Schema],\n\t\t\t\tcolumns: value[Table.Symbol.Columns],\n\t\t\t\trelations: bufferedRelations?.relations ?? {},\n\t\t\t\tprimaryKey: bufferedRelations?.primaryKey ?? [],\n\t\t\t};\n\n\t\t\t// Fill in primary keys\n\t\t\tfor (\n\t\t\t\tconst column of Object.values(\n\t\t\t\t\t(value as Table)[Table.Symbol.Columns],\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tif (column.primary) {\n\t\t\t\t\ttablesConfig[key]!.primaryKey.push(column);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst extraConfig = value[Table.Symbol.ExtraConfigBuilder]?.((value as Table)[Table.Symbol.ExtraConfigColumns]);\n\t\t\tif (extraConfig) {\n\t\t\t\tfor (const configEntry of Object.values(extraConfig)) {\n\t\t\t\t\tif (is(configEntry, PrimaryKeyBuilder)) {\n\t\t\t\t\t\ttablesConfig[key]!.primaryKey.push(...configEntry.columns);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (is(value, Relations)) {\n\t\t\tconst dbName = getTableUniqueName(value.table);\n\t\t\tconst tableName = tableNamesMap[dbName];\n\t\t\tconst relations: Record<string, Relation> = value.config(\n\t\t\t\tconfigHelpers(value.table),\n\t\t\t);\n\t\t\t// let primaryKey: AnyColumn[] | undefined;\n\n\t\t\tfor (const [relationName, relation] of Object.entries(relations)) {\n\t\t\t\tif (tableName) {\n\t\t\t\t\tconst tableConfig = tablesConfig[tableName]!;\n\t\t\t\t\ttableConfig.relations[relationName] = relation;\n\t\t\t\t\t// if (primaryKey) {\n\t\t\t\t\t// \ttableConfig.primaryKey.push(...primaryKey);\n\t\t\t\t\t// }\n\t\t\t\t} else {\n\t\t\t\t\tif (!(dbName in relationsBuffer)) {\n\t\t\t\t\t\trelationsBuffer[dbName] = {\n\t\t\t\t\t\t\trelations: {},\n\t\t\t\t\t\t\t// primaryKey,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\trelationsBuffer[dbName]!.relations[relationName] = relation;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { tables: tablesConfig as TTables, tableNamesMap };\n}\n\nexport function relations<\n\tTTableName extends string,\n\tTRelations extends Record<string, Relation<any>>,\n>(\n\ttable: AnyTable<{ name: TTableName }>,\n\trelations: (helpers: TableRelationsHelpers<TTableName>) => TRelations,\n): Relations<TTableName, TRelations> {\n\treturn new Relations<TTableName, TRelations>(\n\t\ttable,\n\t\t(helpers: TableRelationsHelpers<TTableName>) =>\n\t\t\tObject.fromEntries(\n\t\t\t\tObject.entries(relations(helpers)).map(([key, value]) => [\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue.withFieldName(key),\n\t\t\t\t]),\n\t\t\t) as TRelations,\n\t);\n}\n\nexport function createOne<TTableName extends string>(sourceTable: Table) {\n\treturn function one<\n\t\tTForeignTable extends Table,\n\t\tTColumns extends [\n\t\t\tAnyColumn<{ tableName: TTableName }>,\n\t\t\t...AnyColumn<{ tableName: TTableName }>[],\n\t\t],\n\t>(\n\t\ttable: TForeignTable,\n\t\tconfig?: RelationConfig<TTableName, TForeignTable['_']['name'], TColumns>,\n\t): One<\n\t\tTForeignTable['_']['name'],\n\t\tEqual<TColumns[number]['_']['notNull'], true>\n\t> {\n\t\treturn new One(\n\t\t\tsourceTable,\n\t\t\ttable,\n\t\t\tconfig,\n\t\t\t(config?.fields.reduce<boolean>((res, f) => res && f.notNull, true)\n\t\t\t\t?? false) as Equal<TColumns[number]['_']['notNull'], true>,\n\t\t);\n\t};\n}\n\nexport function createMany(sourceTable: Table) {\n\treturn function many<TForeignTable extends Table>(\n\t\treferencedTable: TForeignTable,\n\t\tconfig?: { relationName: string },\n\t): Many<TForeignTable['_']['name']> {\n\t\treturn new Many(sourceTable, referencedTable, config);\n\t};\n}\n\nexport interface NormalizedRelation {\n\tfields: AnyColumn[];\n\treferences: AnyColumn[];\n}\n\nexport function normalizeRelation(\n\tschema: TablesRelationalConfig,\n\ttableNamesMap: Record<string, string>,\n\trelation: Relation,\n): NormalizedRelation {\n\tif (is(relation, One) && relation.config) {\n\t\treturn {\n\t\t\tfields: relation.config.fields,\n\t\t\treferences: relation.config.references,\n\t\t};\n\t}\n\n\tconst referencedTableTsName = tableNamesMap[getTableUniqueName(relation.referencedTable)];\n\tif (!referencedTableTsName) {\n\t\tthrow new Error(\n\t\t\t`Table \"${relation.referencedTable[Table.Symbol.Name]}\" not found in schema`,\n\t\t);\n\t}\n\n\tconst referencedTableConfig = schema[referencedTableTsName];\n\tif (!referencedTableConfig) {\n\t\tthrow new Error(`Table \"${referencedTableTsName}\" not found in schema`);\n\t}\n\n\tconst sourceTable = relation.sourceTable;\n\tconst sourceTableTsName = tableNamesMap[getTableUniqueName(sourceTable)];\n\tif (!sourceTableTsName) {\n\t\tthrow new Error(\n\t\t\t`Table \"${sourceTable[Table.Symbol.Name]}\" not found in schema`,\n\t\t);\n\t}\n\n\tconst reverseRelations: Relation[] = [];\n\tfor (\n\t\tconst referencedTableRelation of Object.values(\n\t\t\treferencedTableConfig.relations,\n\t\t)\n\t) {\n\t\tif (\n\t\t\t(relation.relationName\n\t\t\t\t&& relation !== referencedTableRelation\n\t\t\t\t&& referencedTableRelation.relationName === relation.relationName)\n\t\t\t|| (!relation.relationName\n\t\t\t\t&& referencedTableRelation.referencedTable === relation.sourceTable)\n\t\t) {\n\t\t\treverseRelations.push(referencedTableRelation);\n\t\t}\n\t}\n\n\tif (reverseRelations.length > 1) {\n\t\tthrow relation.relationName\n\t\t\t? new Error(\n\t\t\t\t`There are multiple relations with name \"${relation.relationName}\" in table \"${referencedTableTsName}\"`,\n\t\t\t)\n\t\t\t: new Error(\n\t\t\t\t`There are multiple relations between \"${referencedTableTsName}\" and \"${\n\t\t\t\t\trelation.sourceTable[Table.Symbol.Name]\n\t\t\t\t}\". Please specify relation name`,\n\t\t\t);\n\t}\n\n\tif (\n\t\treverseRelations[0]\n\t\t&& is(reverseRelations[0], One)\n\t\t&& reverseRelations[0].config\n\t) {\n\t\treturn {\n\t\t\tfields: reverseRelations[0].config.references,\n\t\t\treferences: reverseRelations[0].config.fields,\n\t\t};\n\t}\n\n\tthrow new Error(\n\t\t`There is not enough information to infer relation \"${sourceTableTsName}.${relation.fieldName}\"`,\n\t);\n}\n\nexport function createTableRelationsHelpers<TTableName extends string>(\n\tsourceTable: AnyTable<{ name: TTableName }>,\n) {\n\treturn {\n\t\tone: createOne<TTableName>(sourceTable),\n\t\tmany: createMany(sourceTable),\n\t};\n}\n\nexport type TableRelationsHelpers<TTableName extends string> = ReturnType<\n\ttypeof createTableRelationsHelpers<TTableName>\n>;\n\nexport interface BuildRelationalQueryResult<\n\tTTable extends Table = Table,\n\tTColumn extends Column = Column,\n> {\n\ttableTsKey: string;\n\tselection: {\n\t\tdbKey: string;\n\t\ttsKey: string;\n\t\tfield: TColumn | SQL | SQL.Aliased;\n\t\trelationTableTsKey: string | undefined;\n\t\tisJson: boolean;\n\t\tisExtra?: boolean;\n\t\tselection: BuildRelationalQueryResult<TTable>['selection'];\n\t}[];\n\tsql: TTable | SQL;\n}\n\nexport function mapRelationalRow(\n\ttablesConfig: TablesRelationalConfig,\n\ttableConfig: TableRelationalConfig,\n\trow: unknown[],\n\tbuildQueryResultSelection: BuildRelationalQueryResult['selection'],\n\tmapColumnValue: (value: unknown) => unknown = (value) => value,\n): Record<string, unknown> {\n\tconst result: Record<string, unknown> = {};\n\n\tfor (\n\t\tconst [\n\t\t\tselectionItemIndex,\n\t\t\tselectionItem,\n\t\t] of buildQueryResultSelection.entries()\n\t) {\n\t\tif (selectionItem.isJson) {\n\t\t\tconst relation = tableConfig.relations[selectionItem.tsKey]!;\n\t\t\tconst rawSubRows = row[selectionItemIndex] as\n\t\t\t\t| unknown[]\n\t\t\t\t| null\n\t\t\t\t| [null]\n\t\t\t\t| string;\n\t\t\tconst subRows = typeof rawSubRows === 'string'\n\t\t\t\t? (JSON.parse(rawSubRows) as unknown[])\n\t\t\t\t: rawSubRows;\n\t\t\tresult[selectionItem.tsKey] = is(relation, One)\n\t\t\t\t? subRows\n\t\t\t\t\t&& mapRelationalRow(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRows,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t: (subRows as unknown[][]).map((subRow) =>\n\t\t\t\t\tmapRelationalRow(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRow,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t} else {\n\t\t\tconst value = mapColumnValue(row[selectionItemIndex]);\n\t\t\tconst field = selectionItem.field!;\n\t\t\tlet decoder;\n\t\t\tif (is(field, Column)) {\n\t\t\t\tdecoder = field;\n\t\t\t} else if (is(field, SQL)) {\n\t\t\t\tdecoder = field.decoder;\n\t\t\t} else {\n\t\t\t\tdecoder = field.sql.decoder;\n\t\t\t}\n\t\t\tresult[selectionItem.tsKey] = value === null ? null : decoder.mapFromDriverValue(value);\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function mapRelationalRowFromObj(\n\ttablesConfig: TablesRelationalConfig,\n\ttableConfig: TableRelationalConfig,\n\trow: unknown[],\n\tbuildQueryResultSelection: BuildRelationalQueryResult['selection'],\n\tmapColumnValue: (value: unknown) => unknown = (value) => value,\n): Record<string, unknown> {\n\tconst result: Record<string, unknown> = {};\n\n\tfor (\n\t\tconst [\n\t\t\tselectionItemIndex,\n\t\t\tselectionItem,\n\t\t] of buildQueryResultSelection.entries()\n\t) {\n\t\tif (selectionItem.isJson) {\n\t\t\tconst relation = tableConfig.relations[selectionItem.tsKey]!;\n\t\t\tconst isOne = is(relation, One);\n\t\t\tconst rawSubRows = row[selectionItemIndex] as unknown[] | null | [null] | string;\n\n\t\t\tlet subRows = rawSubRows as unknown[] | null;\n\t\t\tif (subRows || Array.isArray(subRows)) {\n\t\t\t\tsubRows = (typeof rawSubRows === 'string' ? JSON.parse(rawSubRows) : rawSubRows) as unknown[];\n\n\t\t\t\tsubRows = isOne\n\t\t\t\t\t? subRows.flatMap((r) => Array.isArray(r) ? r : Object.values(r as any))\n\t\t\t\t\t: subRows.map((r) => Array.isArray(r) ? r : Object.values(r as any));\n\t\t\t}\n\n\t\t\tresult[selectionItem.tsKey] = isOne\n\t\t\t\t? subRows\n\t\t\t\t\t&& mapRelationalRowFromObj(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRows,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t: ((subRows ?? []) as unknown[][]).map((subRow) =>\n\t\t\t\t\tmapRelationalRowFromObj(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRow,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t} else {\n\t\t\tconst value = mapColumnValue(row[selectionItemIndex]);\n\t\t\tconst field = selectionItem.field!;\n\t\t\tlet decoder;\n\t\t\tif (is(field, Column)) {\n\t\t\t\tdecoder = field;\n\t\t\t} else if (is(field, SQL)) {\n\t\t\t\tdecoder = field.decoder;\n\t\t\t} else {\n\t\t\t\tdecoder = field.sql.decoder;\n\t\t\t}\n\t\t\tresult[selectionItem.tsKey] = value === null ? null : decoder.mapFromDriverValue(value);\n\t\t}\n\t}\n\n\treturn result;\n}\n"],"mappings":"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"}
|
package/_relations.d.cts
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { entityKind } from "./entity.cjs";
|
|
2
2
|
import { BinaryOperator, and, between, exists, ilike, inArray, isNotNull, isNull, like, not, notBetween, notExists, notIlike, notInArray, notLike, or } from "./sql/expressions/conditions.cjs";
|
|
3
3
|
import { asc, desc } from "./sql/expressions/select.cjs";
|
|
4
|
-
import "./sql/expressions/index.cjs";
|
|
5
4
|
import { Assume, ColumnsWithTable, Equal, Simplify, ValueOrArray } from "./utils.cjs";
|
|
6
|
-
import { Placeholder, SQL, sql } from "./sql/sql.cjs";
|
|
5
|
+
import { CommentInput, Placeholder, SQL, sql } from "./sql/sql.cjs";
|
|
7
6
|
import { AnyColumn, Column } from "./column.cjs";
|
|
8
|
-
import "./index.cjs";
|
|
9
7
|
import { AnyTable, InferModelFromColumns, Table } from "./table.cjs";
|
|
10
8
|
|
|
11
9
|
//#region src/_relations.d.ts
|
|
@@ -62,7 +60,7 @@ declare class Many<TTableName extends string> extends Relation<TTableName> {
|
|
|
62
60
|
} | undefined);
|
|
63
61
|
withFieldName(fieldName: string): Many<TTableName>;
|
|
64
62
|
}
|
|
65
|
-
type TableRelationsKeysOnly<TSchema extends Record<string, unknown>, TTableName extends string, K
|
|
63
|
+
type TableRelationsKeysOnly<TSchema extends Record<string, unknown>, TTableName extends string, K extends keyof TSchema> = TSchema[K] extends Relations<TTableName> ? K : never;
|
|
66
64
|
type ExtractTableRelationsFromSchema<TSchema extends Record<string, unknown>, TTableName extends string> = ExtractObjectValues<{ [K in keyof TSchema as TableRelationsKeysOnly<TSchema, TTableName, K>]: TSchema[K] extends Relations<TTableName, infer TConfig> ? TConfig : never }>;
|
|
67
65
|
type ExtractObjectValues<T> = T[keyof T];
|
|
68
66
|
type ExtractRelationsFromTableExtraConfigSchema<TConfig extends unknown[]> = ExtractObjectValues<{ [K in keyof TConfig as TConfig[K] extends Relations<any> ? K : never]: TConfig[K] extends Relations<infer TRelationConfig> ? TRelationConfig : never }>;
|
|
@@ -111,6 +109,9 @@ type DBQueryConfig<TRelationType extends 'one' | 'many' = 'one' | 'many', TIsRoo
|
|
|
111
109
|
} & (TIsRoot extends true ? {
|
|
112
110
|
offset?: number | Placeholder | undefined;
|
|
113
111
|
} : {}) : {});
|
|
112
|
+
type DBQueryConfigWithComment<TRelationType extends 'one' | 'many' = 'one' | 'many', TIsRoot extends boolean = boolean, TSchema extends TablesRelationalConfig = TablesRelationalConfig, TTableConfig extends TableRelationalConfig = TableRelationalConfig> = DBQueryConfig<TRelationType, TIsRoot, TSchema, TTableConfig> & {
|
|
113
|
+
comment?: CommentInput | undefined;
|
|
114
|
+
};
|
|
114
115
|
interface TableRelationalConfig {
|
|
115
116
|
tsName: string;
|
|
116
117
|
dbName: string;
|
|
@@ -192,5 +193,5 @@ interface BuildRelationalQueryResult<TTable extends Table = Table, TColumn exten
|
|
|
192
193
|
declare function mapRelationalRow(tablesConfig: TablesRelationalConfig, tableConfig: TableRelationalConfig, row: unknown[], buildQueryResultSelection: BuildRelationalQueryResult['selection'], mapColumnValue?: (value: unknown) => unknown): Record<string, unknown>;
|
|
193
194
|
declare function mapRelationalRowFromObj(tablesConfig: TablesRelationalConfig, tableConfig: TableRelationalConfig, row: unknown[], buildQueryResultSelection: BuildRelationalQueryResult['selection'], mapColumnValue?: (value: unknown) => unknown): Record<string, unknown>;
|
|
194
195
|
//#endregion
|
|
195
|
-
export { BuildQueryResult, BuildRelationResult, BuildRelationalQueryResult, DBQueryConfig, ExtractObjectValues, ExtractRelationsFromTableExtraConfigSchema, ExtractTableRelationsFromSchema, ExtractTablesWithRelations, FindTableByDBName, Many, NonUndefinedKeysOnly, NormalizedRelation, One, Operators, OrderByOperators, Relation, RelationConfig, RelationalSchemaConfig, Relations, ReturnTypeOrValue, TableRelationalConfig, TableRelationsHelpers, TableRelationsKeysOnly, TablesRelationalConfig, createMany, createOne, createTableRelationsHelpers, extractTablesRelationalConfig, getOperators, getOrderByOperators, mapRelationalRow, mapRelationalRowFromObj, normalizeRelation, relations };
|
|
196
|
+
export { BuildQueryResult, BuildRelationResult, BuildRelationalQueryResult, DBQueryConfig, DBQueryConfigWithComment, ExtractObjectValues, ExtractRelationsFromTableExtraConfigSchema, ExtractTableRelationsFromSchema, ExtractTablesWithRelations, FindTableByDBName, Many, NonUndefinedKeysOnly, NormalizedRelation, One, Operators, OrderByOperators, Relation, RelationConfig, RelationalSchemaConfig, Relations, ReturnTypeOrValue, TableRelationalConfig, TableRelationsHelpers, TableRelationsKeysOnly, TablesRelationalConfig, createMany, createOne, createTableRelationsHelpers, extractTablesRelationalConfig, getOperators, getOrderByOperators, mapRelationalRow, mapRelationalRowFromObj, normalizeRelation, relations };
|
|
196
197
|
//# sourceMappingURL=_relations.d.cts.map
|
package/_relations.d.ts
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { entityKind } from "./entity.js";
|
|
2
2
|
import { BinaryOperator, and, between, exists, ilike, inArray, isNotNull, isNull, like, not, notBetween, notExists, notIlike, notInArray, notLike, or } from "./sql/expressions/conditions.js";
|
|
3
3
|
import { asc, desc } from "./sql/expressions/select.js";
|
|
4
|
-
import "./sql/expressions/index.js";
|
|
5
4
|
import { Assume, ColumnsWithTable, Equal, Simplify, ValueOrArray } from "./utils.js";
|
|
6
|
-
import { Placeholder, SQL, sql } from "./sql/sql.js";
|
|
5
|
+
import { CommentInput, Placeholder, SQL, sql } from "./sql/sql.js";
|
|
7
6
|
import { AnyColumn, Column } from "./column.js";
|
|
8
|
-
import "./index.js";
|
|
9
7
|
import { AnyTable, InferModelFromColumns, Table } from "./table.js";
|
|
10
8
|
|
|
11
9
|
//#region src/_relations.d.ts
|
|
@@ -62,7 +60,7 @@ declare class Many<TTableName extends string> extends Relation<TTableName> {
|
|
|
62
60
|
} | undefined);
|
|
63
61
|
withFieldName(fieldName: string): Many<TTableName>;
|
|
64
62
|
}
|
|
65
|
-
type TableRelationsKeysOnly<TSchema extends Record<string, unknown>, TTableName extends string, K
|
|
63
|
+
type TableRelationsKeysOnly<TSchema extends Record<string, unknown>, TTableName extends string, K extends keyof TSchema> = TSchema[K] extends Relations<TTableName> ? K : never;
|
|
66
64
|
type ExtractTableRelationsFromSchema<TSchema extends Record<string, unknown>, TTableName extends string> = ExtractObjectValues<{ [K in keyof TSchema as TableRelationsKeysOnly<TSchema, TTableName, K>]: TSchema[K] extends Relations<TTableName, infer TConfig> ? TConfig : never }>;
|
|
67
65
|
type ExtractObjectValues<T> = T[keyof T];
|
|
68
66
|
type ExtractRelationsFromTableExtraConfigSchema<TConfig extends unknown[]> = ExtractObjectValues<{ [K in keyof TConfig as TConfig[K] extends Relations<any> ? K : never]: TConfig[K] extends Relations<infer TRelationConfig> ? TRelationConfig : never }>;
|
|
@@ -111,6 +109,9 @@ type DBQueryConfig<TRelationType extends 'one' | 'many' = 'one' | 'many', TIsRoo
|
|
|
111
109
|
} & (TIsRoot extends true ? {
|
|
112
110
|
offset?: number | Placeholder | undefined;
|
|
113
111
|
} : {}) : {});
|
|
112
|
+
type DBQueryConfigWithComment<TRelationType extends 'one' | 'many' = 'one' | 'many', TIsRoot extends boolean = boolean, TSchema extends TablesRelationalConfig = TablesRelationalConfig, TTableConfig extends TableRelationalConfig = TableRelationalConfig> = DBQueryConfig<TRelationType, TIsRoot, TSchema, TTableConfig> & {
|
|
113
|
+
comment?: CommentInput | undefined;
|
|
114
|
+
};
|
|
114
115
|
interface TableRelationalConfig {
|
|
115
116
|
tsName: string;
|
|
116
117
|
dbName: string;
|
|
@@ -192,5 +193,5 @@ interface BuildRelationalQueryResult<TTable extends Table = Table, TColumn exten
|
|
|
192
193
|
declare function mapRelationalRow(tablesConfig: TablesRelationalConfig, tableConfig: TableRelationalConfig, row: unknown[], buildQueryResultSelection: BuildRelationalQueryResult['selection'], mapColumnValue?: (value: unknown) => unknown): Record<string, unknown>;
|
|
193
194
|
declare function mapRelationalRowFromObj(tablesConfig: TablesRelationalConfig, tableConfig: TableRelationalConfig, row: unknown[], buildQueryResultSelection: BuildRelationalQueryResult['selection'], mapColumnValue?: (value: unknown) => unknown): Record<string, unknown>;
|
|
194
195
|
//#endregion
|
|
195
|
-
export { BuildQueryResult, BuildRelationResult, BuildRelationalQueryResult, DBQueryConfig, ExtractObjectValues, ExtractRelationsFromTableExtraConfigSchema, ExtractTableRelationsFromSchema, ExtractTablesWithRelations, FindTableByDBName, Many, NonUndefinedKeysOnly, NormalizedRelation, One, Operators, OrderByOperators, Relation, RelationConfig, RelationalSchemaConfig, Relations, ReturnTypeOrValue, TableRelationalConfig, TableRelationsHelpers, TableRelationsKeysOnly, TablesRelationalConfig, createMany, createOne, createTableRelationsHelpers, extractTablesRelationalConfig, getOperators, getOrderByOperators, mapRelationalRow, mapRelationalRowFromObj, normalizeRelation, relations };
|
|
196
|
+
export { BuildQueryResult, BuildRelationResult, BuildRelationalQueryResult, DBQueryConfig, DBQueryConfigWithComment, ExtractObjectValues, ExtractRelationsFromTableExtraConfigSchema, ExtractTableRelationsFromSchema, ExtractTablesWithRelations, FindTableByDBName, Many, NonUndefinedKeysOnly, NormalizedRelation, One, Operators, OrderByOperators, Relation, RelationConfig, RelationalSchemaConfig, Relations, ReturnTypeOrValue, TableRelationalConfig, TableRelationsHelpers, TableRelationsKeysOnly, TablesRelationalConfig, createMany, createOne, createTableRelationsHelpers, extractTablesRelationalConfig, getOperators, getOrderByOperators, mapRelationalRow, mapRelationalRowFromObj, normalizeRelation, relations };
|
|
196
197
|
//# sourceMappingURL=_relations.d.ts.map
|
package/_relations.js
CHANGED
|
@@ -108,8 +108,8 @@ function extractTablesRelationalConfig(schema, configHelpers) {
|
|
|
108
108
|
} else if (is(value, Relations)) {
|
|
109
109
|
const dbName = getTableUniqueName(value.table);
|
|
110
110
|
const tableName = tableNamesMap[dbName];
|
|
111
|
-
const relations
|
|
112
|
-
for (const [relationName, relation] of Object.entries(relations
|
|
111
|
+
const relations = value.config(configHelpers(value.table));
|
|
112
|
+
for (const [relationName, relation] of Object.entries(relations)) if (tableName) {
|
|
113
113
|
const tableConfig = tablesConfig[tableName];
|
|
114
114
|
tableConfig.relations[relationName] = relation;
|
|
115
115
|
} else {
|
|
@@ -122,8 +122,8 @@ function extractTablesRelationalConfig(schema, configHelpers) {
|
|
|
122
122
|
tableNamesMap
|
|
123
123
|
};
|
|
124
124
|
}
|
|
125
|
-
function relations(table, relations
|
|
126
|
-
return new Relations(table, (helpers) => Object.fromEntries(Object.entries(relations
|
|
125
|
+
function relations(table, relations) {
|
|
126
|
+
return new Relations(table, (helpers) => Object.fromEntries(Object.entries(relations(helpers)).map(([key, value]) => [key, value.withFieldName(key)])));
|
|
127
127
|
}
|
|
128
128
|
function createOne(sourceTable) {
|
|
129
129
|
return function one(table, config) {
|
package/_relations.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_relations.js","names":["sourceTable: Table","referencedTable: AnyTable<{ name: TTableName }>","relationName: string | undefined","table: AnyTable<{ name: TTableName }>","config: (helpers: TableRelationsHelpers<TTableName>) => TConfig","config:\n\t\t\t| RelationConfig<\n\t\t\t\tTTableName,\n\t\t\t\tstring,\n\t\t\t\tAnyColumn<{ tableName: TTableName }>[]\n\t\t\t>\n\t\t\t| undefined","isNullable: TIsNullable","config: { relationName: string } | undefined","tableNamesMap: Record<string, string>","relationsBuffer: Record<\n\t\tstring,\n\t\t{ relations: Record<string, Relation>; primaryKey?: AnyColumn[] }\n\t>","tablesConfig: TablesRelationalConfig","relations: Record<string, Relation>","relations","reverseRelations: Relation[]","result: Record<string, unknown>"],"sources":["../src/_relations.ts"],"sourcesContent":["import { type AnyTable, getTableUniqueName, type InferModelFromColumns, Table } from '~/table.ts';\nimport { type AnyColumn, Column } from './column.ts';\nimport { entityKind, is } from './entity.ts';\nimport { PrimaryKeyBuilder } from './pg-core/primary-keys.ts';\nimport {\n\tand,\n\tasc,\n\tbetween,\n\tdesc,\n\teq,\n\texists,\n\tgt,\n\tgte,\n\tilike,\n\tinArray,\n\tisNotNull,\n\tisNull,\n\tlike,\n\tlt,\n\tlte,\n\tne,\n\tnot,\n\tnotBetween,\n\tnotExists,\n\tnotIlike,\n\tnotInArray,\n\tnotLike,\n\tor,\n} from './sql/expressions/index.ts';\nimport { type Placeholder, SQL, sql } from './sql/sql.ts';\nimport type { Assume, ColumnsWithTable, Equal, Simplify, ValueOrArray } from './utils.ts';\n\nexport abstract class Relation<TTableName extends string = string> {\n\tstatic readonly [entityKind]: string = 'Relation';\n\n\tdeclare readonly $brand: 'Relation';\n\treadonly referencedTableName: TTableName;\n\tfieldName!: string;\n\n\tconstructor(\n\t\treadonly sourceTable: Table,\n\t\treadonly referencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly relationName: string | undefined,\n\t) {\n\t\tthis.referencedTableName = referencedTable[Table.Symbol.Name] as TTableName;\n\t}\n\n\tabstract withFieldName(fieldName: string): Relation<TTableName>;\n}\n\nexport class Relations<\n\tTTableName extends string = string,\n\tTConfig extends Record<string, Relation> = Record<string, Relation>,\n> {\n\tstatic readonly [entityKind]: string = 'Relations';\n\n\tdeclare readonly $brand: 'Relations';\n\n\tconstructor(\n\t\treadonly table: AnyTable<{ name: TTableName }>,\n\t\treadonly config: (helpers: TableRelationsHelpers<TTableName>) => TConfig,\n\t) {}\n}\n\nexport class One<\n\tTTableName extends string = string,\n\tTIsNullable extends boolean = boolean,\n> extends Relation<TTableName> {\n\tstatic override readonly [entityKind]: string = 'One';\n\n\tdeclare protected $relationBrand: 'One';\n\n\tconstructor(\n\t\tsourceTable: Table,\n\t\treferencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly config:\n\t\t\t| RelationConfig<\n\t\t\t\tTTableName,\n\t\t\t\tstring,\n\t\t\t\tAnyColumn<{ tableName: TTableName }>[]\n\t\t\t>\n\t\t\t| undefined,\n\t\treadonly isNullable: TIsNullable,\n\t) {\n\t\tsuper(sourceTable, referencedTable, config?.relationName);\n\t}\n\n\twithFieldName(fieldName: string): One<TTableName> {\n\t\tconst relation = new One(\n\t\t\tthis.sourceTable,\n\t\t\tthis.referencedTable,\n\t\t\tthis.config,\n\t\t\tthis.isNullable,\n\t\t);\n\t\trelation.fieldName = fieldName;\n\t\treturn relation;\n\t}\n}\n\nexport class Many<TTableName extends string> extends Relation<TTableName> {\n\tstatic override readonly [entityKind]: string = 'Many';\n\n\tdeclare protected $relationBrand: 'Many';\n\n\tconstructor(\n\t\tsourceTable: Table,\n\t\treferencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly config: { relationName: string } | undefined,\n\t) {\n\t\tsuper(sourceTable, referencedTable, config?.relationName);\n\t}\n\n\twithFieldName(fieldName: string): Many<TTableName> {\n\t\tconst relation = new Many(\n\t\t\tthis.sourceTable,\n\t\t\tthis.referencedTable,\n\t\t\tthis.config,\n\t\t);\n\t\trelation.fieldName = fieldName;\n\t\treturn relation;\n\t}\n}\n\nexport type TableRelationsKeysOnly<\n\tTSchema extends Record<string, unknown>,\n\tTTableName extends string,\n\tK extends keyof TSchema,\n> = TSchema[K] extends Relations<TTableName> ? K : never;\n\nexport type ExtractTableRelationsFromSchema<\n\tTSchema extends Record<string, unknown>,\n\tTTableName extends string,\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TSchema as TableRelationsKeysOnly<\n\t\t\t\tTSchema,\n\t\t\t\tTTableName,\n\t\t\t\tK\n\t\t\t>\n\t\t]: TSchema[K] extends Relations<TTableName, infer TConfig> ? TConfig : never;\n\t}\n>;\n\nexport type ExtractObjectValues<T> = T[keyof T];\n\nexport type ExtractRelationsFromTableExtraConfigSchema<\n\tTConfig extends unknown[],\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TConfig as TConfig[K] extends Relations<any> ? K\n\t\t\t\t: never\n\t\t]: TConfig[K] extends Relations<infer TRelationConfig> ? TRelationConfig\n\t\t\t: never;\n\t}\n>;\n\nexport function getOperators() {\n\treturn {\n\t\tand,\n\t\tbetween,\n\t\teq,\n\t\texists,\n\t\tgt,\n\t\tgte,\n\t\tilike,\n\t\tinArray,\n\t\tisNull,\n\t\tisNotNull,\n\t\tlike,\n\t\tlt,\n\t\tlte,\n\t\tne,\n\t\tnot,\n\t\tnotBetween,\n\t\tnotExists,\n\t\tnotLike,\n\t\tnotIlike,\n\t\tnotInArray,\n\t\tor,\n\t\tsql,\n\t};\n}\n\nexport type Operators = ReturnType<typeof getOperators>;\n\nexport function getOrderByOperators() {\n\treturn {\n\t\tsql,\n\t\tasc,\n\t\tdesc,\n\t};\n}\n\nexport type OrderByOperators = ReturnType<typeof getOrderByOperators>;\n\nexport type FindTableByDBName<\n\tTSchema extends TablesRelationalConfig,\n\tTTableName extends string,\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TSchema as TSchema[K]['dbName'] extends TTableName ? K\n\t\t\t\t: never\n\t\t]: TSchema[K];\n\t}\n>;\n\nexport type DBQueryConfig<\n\tTRelationType extends 'one' | 'many' = 'one' | 'many',\n\tTIsRoot extends boolean = boolean,\n\tTSchema extends TablesRelationalConfig = TablesRelationalConfig,\n\tTTableConfig extends TableRelationalConfig = TableRelationalConfig,\n> =\n\t& {\n\t\tcolumns?:\n\t\t\t| {\n\t\t\t\t[K in keyof TTableConfig['columns']]?: boolean;\n\t\t\t}\n\t\t\t| undefined;\n\t\twith?:\n\t\t\t| {\n\t\t\t\t[K in keyof TTableConfig['relations']]?:\n\t\t\t\t\t| true\n\t\t\t\t\t| DBQueryConfig<\n\t\t\t\t\t\tTTableConfig['relations'][K] extends One ? 'one' : 'many',\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\tTSchema,\n\t\t\t\t\t\tFindTableByDBName<\n\t\t\t\t\t\t\tTSchema,\n\t\t\t\t\t\t\tTTableConfig['relations'][K]['referencedTableName']\n\t\t\t\t\t\t>\n\t\t\t\t\t>\n\t\t\t\t\t| undefined;\n\t\t\t}\n\t\t\t| undefined;\n\t\textras?:\n\t\t\t| Record<string, SQL.Aliased>\n\t\t\t| ((\n\t\t\t\tfields: Simplify<\n\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t>,\n\t\t\t\toperators: { sql: Operators['sql'] },\n\t\t\t) => Record<string, SQL.Aliased>)\n\t\t\t| undefined;\n\t}\n\t& (TRelationType extends 'many' ?\n\t\t\t& {\n\t\t\t\twhere?:\n\t\t\t\t\t| SQL\n\t\t\t\t\t| undefined\n\t\t\t\t\t| ((\n\t\t\t\t\t\tfields: Simplify<\n\t\t\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t\t\t>,\n\t\t\t\t\t\toperators: Operators,\n\t\t\t\t\t) => SQL | undefined);\n\t\t\t\torderBy?:\n\t\t\t\t\t| ValueOrArray<AnyColumn | SQL>\n\t\t\t\t\t| ((\n\t\t\t\t\t\tfields: Simplify<\n\t\t\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t\t\t>,\n\t\t\t\t\t\toperators: OrderByOperators,\n\t\t\t\t\t) => ValueOrArray<AnyColumn | SQL>)\n\t\t\t\t\t| undefined;\n\t\t\t\tlimit?: number | Placeholder | undefined;\n\t\t\t}\n\t\t\t& (TIsRoot extends true ? {\n\t\t\t\t\toffset?: number | Placeholder | undefined;\n\t\t\t\t}\n\t\t\t\t: {})\n\t\t: {});\n\nexport interface TableRelationalConfig {\n\ttsName: string;\n\tdbName: string;\n\tcolumns: Record<string, Column>;\n\trelations: Record<string, Relation>;\n\tprimaryKey: AnyColumn[];\n\tschema?: string;\n}\n\nexport type TablesRelationalConfig = Record<string, TableRelationalConfig>;\n\nexport interface RelationalSchemaConfig<\n\tTSchema extends TablesRelationalConfig,\n> {\n\tfullSchema: Record<string, unknown>;\n\tschema: TSchema;\n\ttableNamesMap: Record<string, string>;\n}\n\nexport type ExtractTablesWithRelations<\n\tTSchema extends Record<string, unknown>,\n> = {\n\t[\n\t\tK in keyof TSchema as TSchema[K] extends Table ? K\n\t\t\t: never\n\t]: TSchema[K] extends Table ? {\n\t\t\ttsName: K & string;\n\t\t\tdbName: TSchema[K]['_']['name'];\n\t\t\tcolumns: TSchema[K]['_']['columns'];\n\t\t\trelations: ExtractTableRelationsFromSchema<\n\t\t\t\tTSchema,\n\t\t\t\tTSchema[K]['_']['name']\n\t\t\t>;\n\t\t\tprimaryKey: AnyColumn[];\n\t\t}\n\t\t: never;\n};\n\nexport type ReturnTypeOrValue<T> = T extends (...args: any[]) => infer R ? R\n\t: T;\n\nexport type BuildRelationResult<\n\tTSchema extends TablesRelationalConfig,\n\tTInclude,\n\tTRelations extends Record<string, Relation>,\n> = {\n\t[\n\t\tK in\n\t\t\t& NonUndefinedKeysOnly<TInclude>\n\t\t\t& keyof TRelations\n\t]: TRelations[K] extends infer TRel extends Relation ? BuildQueryResult<\n\t\t\tTSchema,\n\t\t\tFindTableByDBName<TSchema, TRel['referencedTableName']>,\n\t\t\tAssume<TInclude[K], true | Record<string, unknown>>\n\t\t> extends infer TResult ? TRel extends One ?\n\t\t\t\t\t| TResult\n\t\t\t\t\t| (Equal<TRel['isNullable'], false> extends true ? null : never)\n\t\t\t: TResult[]\n\t\t: never\n\t\t: never;\n};\n\nexport type NonUndefinedKeysOnly<T> =\n\t& ExtractObjectValues<\n\t\t{\n\t\t\t[K in keyof T as T[K] extends undefined ? never : K]: K;\n\t\t}\n\t>\n\t& keyof T;\n\nexport type BuildQueryResult<\n\tTSchema extends TablesRelationalConfig,\n\tTTableConfig extends TableRelationalConfig,\n\tTFullSelection extends true | Record<string, unknown>,\n> = Equal<TFullSelection, true> extends true ? InferModelFromColumns<TTableConfig['columns']>\n\t: TFullSelection extends Record<string, unknown> ? Simplify<\n\t\t\t& (TFullSelection['columns'] extends Record<string, unknown> ? InferModelFromColumns<\n\t\t\t\t\t{\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tK in Equal<\n\t\t\t\t\t\t\t\tExclude<\n\t\t\t\t\t\t\t\t\tTFullSelection['columns'][\n\t\t\t\t\t\t\t\t\t\t& keyof TFullSelection['columns']\n\t\t\t\t\t\t\t\t\t\t& keyof TTableConfig['columns']\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\tundefined\n\t\t\t\t\t\t\t\t>,\n\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t> extends true ? Exclude<\n\t\t\t\t\t\t\t\t\tkeyof TTableConfig['columns'],\n\t\t\t\t\t\t\t\t\tNonUndefinedKeysOnly<TFullSelection['columns']>\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t& {\n\t\t\t\t\t\t\t\t\t\t[K in keyof TFullSelection['columns']]: Equal<\n\t\t\t\t\t\t\t\t\t\t\tTFullSelection['columns'][K],\n\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t> extends true ? K\n\t\t\t\t\t\t\t\t\t\t\t: never;\n\t\t\t\t\t\t\t\t\t}[keyof TFullSelection['columns']]\n\t\t\t\t\t\t\t\t\t& keyof TTableConfig['columns']\n\t\t\t\t\t\t]: TTableConfig['columns'][K];\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t: InferModelFromColumns<TTableConfig['columns']>)\n\t\t\t& (TFullSelection['extras'] extends\n\t\t\t\t| Record<string, unknown>\n\t\t\t\t| ((...args: any[]) => Record<string, unknown>) ? {\n\t\t\t\t\t[\n\t\t\t\t\t\tK in NonUndefinedKeysOnly<\n\t\t\t\t\t\t\tReturnTypeOrValue<TFullSelection['extras']>\n\t\t\t\t\t\t>\n\t\t\t\t\t]: Assume<\n\t\t\t\t\t\tReturnTypeOrValue<TFullSelection['extras']>[K],\n\t\t\t\t\t\tSQL.Aliased\n\t\t\t\t\t>['_']['type'];\n\t\t\t\t}\n\t\t\t\t: {})\n\t\t\t& (TFullSelection['with'] extends Record<string, unknown> ? BuildRelationResult<\n\t\t\t\t\tTSchema,\n\t\t\t\t\tTFullSelection['with'],\n\t\t\t\t\tTTableConfig['relations']\n\t\t\t\t>\n\t\t\t\t: {})\n\t\t>\n\t: never;\n\nexport interface RelationConfig<\n\tTTableName extends string,\n\tTForeignTableName extends string,\n\tTColumns extends AnyColumn<{ tableName: TTableName }>[],\n> {\n\trelationName?: string;\n\tfields: TColumns;\n\treferences: ColumnsWithTable<TTableName, TForeignTableName, TColumns>;\n}\n\nexport function extractTablesRelationalConfig<\n\tTTables extends TablesRelationalConfig,\n>(\n\tschema: Record<string, unknown>,\n\tconfigHelpers: (table: Table) => any,\n): { tables: TTables; tableNamesMap: Record<string, string> } {\n\tif (\n\t\tObject.keys(schema).length === 1\n\t\t&& 'default' in schema\n\t\t&& !is(schema['default'], Table)\n\t) {\n\t\tschema = schema['default'] as Record<string, unknown>;\n\t}\n\n\t// table DB name -> schema table key\n\tconst tableNamesMap: Record<string, string> = {};\n\t// Table relations found before their tables - need to buffer them until we know the schema table key\n\tconst relationsBuffer: Record<\n\t\tstring,\n\t\t{ relations: Record<string, Relation>; primaryKey?: AnyColumn[] }\n\t> = {};\n\tconst tablesConfig: TablesRelationalConfig = {};\n\tfor (const [key, value] of Object.entries(schema)) {\n\t\tif (is(value, Table)) {\n\t\t\tconst dbName = getTableUniqueName(value);\n\t\t\tconst bufferedRelations = relationsBuffer[dbName];\n\t\t\ttableNamesMap[dbName] = key;\n\t\t\ttablesConfig[key] = {\n\t\t\t\ttsName: key,\n\t\t\t\tdbName: value[Table.Symbol.Name],\n\t\t\t\tschema: value[Table.Symbol.Schema],\n\t\t\t\tcolumns: value[Table.Symbol.Columns],\n\t\t\t\trelations: bufferedRelations?.relations ?? {},\n\t\t\t\tprimaryKey: bufferedRelations?.primaryKey ?? [],\n\t\t\t};\n\n\t\t\t// Fill in primary keys\n\t\t\tfor (\n\t\t\t\tconst column of Object.values(\n\t\t\t\t\t(value as Table)[Table.Symbol.Columns],\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tif (column.primary) {\n\t\t\t\t\ttablesConfig[key]!.primaryKey.push(column);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst extraConfig = value[Table.Symbol.ExtraConfigBuilder]?.((value as Table)[Table.Symbol.ExtraConfigColumns]);\n\t\t\tif (extraConfig) {\n\t\t\t\tfor (const configEntry of Object.values(extraConfig)) {\n\t\t\t\t\tif (is(configEntry, PrimaryKeyBuilder)) {\n\t\t\t\t\t\ttablesConfig[key]!.primaryKey.push(...configEntry.columns);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (is(value, Relations)) {\n\t\t\tconst dbName = getTableUniqueName(value.table);\n\t\t\tconst tableName = tableNamesMap[dbName];\n\t\t\tconst relations: Record<string, Relation> = value.config(\n\t\t\t\tconfigHelpers(value.table),\n\t\t\t);\n\t\t\t// let primaryKey: AnyColumn[] | undefined;\n\n\t\t\tfor (const [relationName, relation] of Object.entries(relations)) {\n\t\t\t\tif (tableName) {\n\t\t\t\t\tconst tableConfig = tablesConfig[tableName]!;\n\t\t\t\t\ttableConfig.relations[relationName] = relation;\n\t\t\t\t\t// if (primaryKey) {\n\t\t\t\t\t// \ttableConfig.primaryKey.push(...primaryKey);\n\t\t\t\t\t// }\n\t\t\t\t} else {\n\t\t\t\t\tif (!(dbName in relationsBuffer)) {\n\t\t\t\t\t\trelationsBuffer[dbName] = {\n\t\t\t\t\t\t\trelations: {},\n\t\t\t\t\t\t\t// primaryKey,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\trelationsBuffer[dbName]!.relations[relationName] = relation;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { tables: tablesConfig as TTables, tableNamesMap };\n}\n\nexport function relations<\n\tTTableName extends string,\n\tTRelations extends Record<string, Relation<any>>,\n>(\n\ttable: AnyTable<{ name: TTableName }>,\n\trelations: (helpers: TableRelationsHelpers<TTableName>) => TRelations,\n): Relations<TTableName, TRelations> {\n\treturn new Relations<TTableName, TRelations>(\n\t\ttable,\n\t\t(helpers: TableRelationsHelpers<TTableName>) =>\n\t\t\tObject.fromEntries(\n\t\t\t\tObject.entries(relations(helpers)).map(([key, value]) => [\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue.withFieldName(key),\n\t\t\t\t]),\n\t\t\t) as TRelations,\n\t);\n}\n\nexport function createOne<TTableName extends string>(sourceTable: Table) {\n\treturn function one<\n\t\tTForeignTable extends Table,\n\t\tTColumns extends [\n\t\t\tAnyColumn<{ tableName: TTableName }>,\n\t\t\t...AnyColumn<{ tableName: TTableName }>[],\n\t\t],\n\t>(\n\t\ttable: TForeignTable,\n\t\tconfig?: RelationConfig<TTableName, TForeignTable['_']['name'], TColumns>,\n\t): One<\n\t\tTForeignTable['_']['name'],\n\t\tEqual<TColumns[number]['_']['notNull'], true>\n\t> {\n\t\treturn new One(\n\t\t\tsourceTable,\n\t\t\ttable,\n\t\t\tconfig,\n\t\t\t(config?.fields.reduce<boolean>((res, f) => res && f.notNull, true)\n\t\t\t\t?? false) as Equal<TColumns[number]['_']['notNull'], true>,\n\t\t);\n\t};\n}\n\nexport function createMany(sourceTable: Table) {\n\treturn function many<TForeignTable extends Table>(\n\t\treferencedTable: TForeignTable,\n\t\tconfig?: { relationName: string },\n\t): Many<TForeignTable['_']['name']> {\n\t\treturn new Many(sourceTable, referencedTable, config);\n\t};\n}\n\nexport interface NormalizedRelation {\n\tfields: AnyColumn[];\n\treferences: AnyColumn[];\n}\n\nexport function normalizeRelation(\n\tschema: TablesRelationalConfig,\n\ttableNamesMap: Record<string, string>,\n\trelation: Relation,\n): NormalizedRelation {\n\tif (is(relation, One) && relation.config) {\n\t\treturn {\n\t\t\tfields: relation.config.fields,\n\t\t\treferences: relation.config.references,\n\t\t};\n\t}\n\n\tconst referencedTableTsName = tableNamesMap[getTableUniqueName(relation.referencedTable)];\n\tif (!referencedTableTsName) {\n\t\tthrow new Error(\n\t\t\t`Table \"${relation.referencedTable[Table.Symbol.Name]}\" not found in schema`,\n\t\t);\n\t}\n\n\tconst referencedTableConfig = schema[referencedTableTsName];\n\tif (!referencedTableConfig) {\n\t\tthrow new Error(`Table \"${referencedTableTsName}\" not found in schema`);\n\t}\n\n\tconst sourceTable = relation.sourceTable;\n\tconst sourceTableTsName = tableNamesMap[getTableUniqueName(sourceTable)];\n\tif (!sourceTableTsName) {\n\t\tthrow new Error(\n\t\t\t`Table \"${sourceTable[Table.Symbol.Name]}\" not found in schema`,\n\t\t);\n\t}\n\n\tconst reverseRelations: Relation[] = [];\n\tfor (\n\t\tconst referencedTableRelation of Object.values(\n\t\t\treferencedTableConfig.relations,\n\t\t)\n\t) {\n\t\tif (\n\t\t\t(relation.relationName\n\t\t\t\t&& relation !== referencedTableRelation\n\t\t\t\t&& referencedTableRelation.relationName === relation.relationName)\n\t\t\t|| (!relation.relationName\n\t\t\t\t&& referencedTableRelation.referencedTable === relation.sourceTable)\n\t\t) {\n\t\t\treverseRelations.push(referencedTableRelation);\n\t\t}\n\t}\n\n\tif (reverseRelations.length > 1) {\n\t\tthrow relation.relationName\n\t\t\t? new Error(\n\t\t\t\t`There are multiple relations with name \"${relation.relationName}\" in table \"${referencedTableTsName}\"`,\n\t\t\t)\n\t\t\t: new Error(\n\t\t\t\t`There are multiple relations between \"${referencedTableTsName}\" and \"${\n\t\t\t\t\trelation.sourceTable[Table.Symbol.Name]\n\t\t\t\t}\". Please specify relation name`,\n\t\t\t);\n\t}\n\n\tif (\n\t\treverseRelations[0]\n\t\t&& is(reverseRelations[0], One)\n\t\t&& reverseRelations[0].config\n\t) {\n\t\treturn {\n\t\t\tfields: reverseRelations[0].config.references,\n\t\t\treferences: reverseRelations[0].config.fields,\n\t\t};\n\t}\n\n\tthrow new Error(\n\t\t`There is not enough information to infer relation \"${sourceTableTsName}.${relation.fieldName}\"`,\n\t);\n}\n\nexport function createTableRelationsHelpers<TTableName extends string>(\n\tsourceTable: AnyTable<{ name: TTableName }>,\n) {\n\treturn {\n\t\tone: createOne<TTableName>(sourceTable),\n\t\tmany: createMany(sourceTable),\n\t};\n}\n\nexport type TableRelationsHelpers<TTableName extends string> = ReturnType<\n\ttypeof createTableRelationsHelpers<TTableName>\n>;\n\nexport interface BuildRelationalQueryResult<\n\tTTable extends Table = Table,\n\tTColumn extends Column = Column,\n> {\n\ttableTsKey: string;\n\tselection: {\n\t\tdbKey: string;\n\t\ttsKey: string;\n\t\tfield: TColumn | SQL | SQL.Aliased;\n\t\trelationTableTsKey: string | undefined;\n\t\tisJson: boolean;\n\t\tisExtra?: boolean;\n\t\tselection: BuildRelationalQueryResult<TTable>['selection'];\n\t}[];\n\tsql: TTable | SQL;\n}\n\nexport function mapRelationalRow(\n\ttablesConfig: TablesRelationalConfig,\n\ttableConfig: TableRelationalConfig,\n\trow: unknown[],\n\tbuildQueryResultSelection: BuildRelationalQueryResult['selection'],\n\tmapColumnValue: (value: unknown) => unknown = (value) => value,\n): Record<string, unknown> {\n\tconst result: Record<string, unknown> = {};\n\n\tfor (\n\t\tconst [\n\t\t\tselectionItemIndex,\n\t\t\tselectionItem,\n\t\t] of buildQueryResultSelection.entries()\n\t) {\n\t\tif (selectionItem.isJson) {\n\t\t\tconst relation = tableConfig.relations[selectionItem.tsKey]!;\n\t\t\tconst rawSubRows = row[selectionItemIndex] as\n\t\t\t\t| unknown[]\n\t\t\t\t| null\n\t\t\t\t| [null]\n\t\t\t\t| string;\n\t\t\tconst subRows = typeof rawSubRows === 'string'\n\t\t\t\t? (JSON.parse(rawSubRows) as unknown[])\n\t\t\t\t: rawSubRows;\n\t\t\tresult[selectionItem.tsKey] = is(relation, One)\n\t\t\t\t? subRows\n\t\t\t\t\t&& mapRelationalRow(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRows,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t: (subRows as unknown[][]).map((subRow) =>\n\t\t\t\t\tmapRelationalRow(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRow,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t} else {\n\t\t\tconst value = mapColumnValue(row[selectionItemIndex]);\n\t\t\tconst field = selectionItem.field!;\n\t\t\tlet decoder;\n\t\t\tif (is(field, Column)) {\n\t\t\t\tdecoder = field;\n\t\t\t} else if (is(field, SQL)) {\n\t\t\t\tdecoder = field.decoder;\n\t\t\t} else {\n\t\t\t\tdecoder = field.sql.decoder;\n\t\t\t}\n\t\t\tresult[selectionItem.tsKey] = value === null ? null : decoder.mapFromDriverValue(value);\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function mapRelationalRowFromObj(\n\ttablesConfig: TablesRelationalConfig,\n\ttableConfig: TableRelationalConfig,\n\trow: unknown[],\n\tbuildQueryResultSelection: BuildRelationalQueryResult['selection'],\n\tmapColumnValue: (value: unknown) => unknown = (value) => value,\n): Record<string, unknown> {\n\tconst result: Record<string, unknown> = {};\n\n\tfor (\n\t\tconst [\n\t\t\tselectionItemIndex,\n\t\t\tselectionItem,\n\t\t] of buildQueryResultSelection.entries()\n\t) {\n\t\tif (selectionItem.isJson) {\n\t\t\tconst relation = tableConfig.relations[selectionItem.tsKey]!;\n\t\t\tconst isOne = is(relation, One);\n\t\t\tconst rawSubRows = row[selectionItemIndex] as unknown[] | null | [null] | string;\n\n\t\t\tlet subRows = rawSubRows as unknown[] | null;\n\t\t\tif (subRows || Array.isArray(subRows)) {\n\t\t\t\tsubRows = (typeof rawSubRows === 'string' ? JSON.parse(rawSubRows) : rawSubRows) as unknown[];\n\n\t\t\t\tsubRows = isOne\n\t\t\t\t\t? subRows.flatMap((r) => Array.isArray(r) ? r : Object.values(r as any))\n\t\t\t\t\t: subRows.map((r) => Array.isArray(r) ? r : Object.values(r as any));\n\t\t\t}\n\n\t\t\tresult[selectionItem.tsKey] = isOne\n\t\t\t\t? subRows\n\t\t\t\t\t&& mapRelationalRowFromObj(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRows,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t: ((subRows ?? []) as unknown[][]).map((subRow) =>\n\t\t\t\t\tmapRelationalRowFromObj(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRow,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t} else {\n\t\t\tconst value = mapColumnValue(row[selectionItemIndex]);\n\t\t\tconst field = selectionItem.field!;\n\t\t\tlet decoder;\n\t\t\tif (is(field, Column)) {\n\t\t\t\tdecoder = field;\n\t\t\t} else if (is(field, SQL)) {\n\t\t\t\tdecoder = field.decoder;\n\t\t\t} else {\n\t\t\t\tdecoder = field.sql.decoder;\n\t\t\t}\n\t\t\tresult[selectionItem.tsKey] = value === null ? null : decoder.mapFromDriverValue(value);\n\t\t}\n\t}\n\n\treturn result;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"_relations.js","names":[],"sources":["../src/_relations.ts"],"sourcesContent":["import { type AnyTable, getTableUniqueName, type InferModelFromColumns, Table } from '~/table.ts';\nimport { type AnyColumn, Column } from './column.ts';\nimport { entityKind, is } from './entity.ts';\nimport { PrimaryKeyBuilder } from './pg-core/primary-keys.ts';\nimport {\n\tand,\n\tasc,\n\tbetween,\n\tdesc,\n\teq,\n\texists,\n\tgt,\n\tgte,\n\tilike,\n\tinArray,\n\tisNotNull,\n\tisNull,\n\tlike,\n\tlt,\n\tlte,\n\tne,\n\tnot,\n\tnotBetween,\n\tnotExists,\n\tnotIlike,\n\tnotInArray,\n\tnotLike,\n\tor,\n} from './sql/expressions/index.ts';\nimport { type CommentInput, type Placeholder, SQL, sql } from './sql/sql.ts';\nimport type { Assume, ColumnsWithTable, Equal, Simplify, ValueOrArray } from './utils.ts';\n\nexport abstract class Relation<TTableName extends string = string> {\n\tstatic readonly [entityKind]: string = 'Relation';\n\n\tdeclare readonly $brand: 'Relation';\n\treadonly referencedTableName: TTableName;\n\tfieldName!: string;\n\n\tconstructor(\n\t\treadonly sourceTable: Table,\n\t\treadonly referencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly relationName: string | undefined,\n\t) {\n\t\tthis.referencedTableName = referencedTable[Table.Symbol.Name] as TTableName;\n\t}\n\n\tabstract withFieldName(fieldName: string): Relation<TTableName>;\n}\n\nexport class Relations<\n\tTTableName extends string = string,\n\tTConfig extends Record<string, Relation> = Record<string, Relation>,\n> {\n\tstatic readonly [entityKind]: string = 'Relations';\n\n\tdeclare readonly $brand: 'Relations';\n\n\tconstructor(\n\t\treadonly table: AnyTable<{ name: TTableName }>,\n\t\treadonly config: (helpers: TableRelationsHelpers<TTableName>) => TConfig,\n\t) {}\n}\n\nexport class One<\n\tTTableName extends string = string,\n\tTIsNullable extends boolean = boolean,\n> extends Relation<TTableName> {\n\tstatic override readonly [entityKind]: string = 'One';\n\n\tdeclare protected $relationBrand: 'One';\n\n\tconstructor(\n\t\tsourceTable: Table,\n\t\treferencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly config:\n\t\t\t| RelationConfig<\n\t\t\t\tTTableName,\n\t\t\t\tstring,\n\t\t\t\tAnyColumn<{ tableName: TTableName }>[]\n\t\t\t>\n\t\t\t| undefined,\n\t\treadonly isNullable: TIsNullable,\n\t) {\n\t\tsuper(sourceTable, referencedTable, config?.relationName);\n\t}\n\n\twithFieldName(fieldName: string): One<TTableName> {\n\t\tconst relation = new One(\n\t\t\tthis.sourceTable,\n\t\t\tthis.referencedTable,\n\t\t\tthis.config,\n\t\t\tthis.isNullable,\n\t\t);\n\t\trelation.fieldName = fieldName;\n\t\treturn relation;\n\t}\n}\n\nexport class Many<TTableName extends string> extends Relation<TTableName> {\n\tstatic override readonly [entityKind]: string = 'Many';\n\n\tdeclare protected $relationBrand: 'Many';\n\n\tconstructor(\n\t\tsourceTable: Table,\n\t\treferencedTable: AnyTable<{ name: TTableName }>,\n\t\treadonly config: { relationName: string } | undefined,\n\t) {\n\t\tsuper(sourceTable, referencedTable, config?.relationName);\n\t}\n\n\twithFieldName(fieldName: string): Many<TTableName> {\n\t\tconst relation = new Many(\n\t\t\tthis.sourceTable,\n\t\t\tthis.referencedTable,\n\t\t\tthis.config,\n\t\t);\n\t\trelation.fieldName = fieldName;\n\t\treturn relation;\n\t}\n}\n\nexport type TableRelationsKeysOnly<\n\tTSchema extends Record<string, unknown>,\n\tTTableName extends string,\n\tK extends keyof TSchema,\n> = TSchema[K] extends Relations<TTableName> ? K : never;\n\nexport type ExtractTableRelationsFromSchema<\n\tTSchema extends Record<string, unknown>,\n\tTTableName extends string,\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TSchema as TableRelationsKeysOnly<\n\t\t\t\tTSchema,\n\t\t\t\tTTableName,\n\t\t\t\tK\n\t\t\t>\n\t\t]: TSchema[K] extends Relations<TTableName, infer TConfig> ? TConfig : never;\n\t}\n>;\n\nexport type ExtractObjectValues<T> = T[keyof T];\n\nexport type ExtractRelationsFromTableExtraConfigSchema<\n\tTConfig extends unknown[],\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TConfig as TConfig[K] extends Relations<any> ? K\n\t\t\t\t: never\n\t\t]: TConfig[K] extends Relations<infer TRelationConfig> ? TRelationConfig\n\t\t\t: never;\n\t}\n>;\n\nexport function getOperators() {\n\treturn {\n\t\tand,\n\t\tbetween,\n\t\teq,\n\t\texists,\n\t\tgt,\n\t\tgte,\n\t\tilike,\n\t\tinArray,\n\t\tisNull,\n\t\tisNotNull,\n\t\tlike,\n\t\tlt,\n\t\tlte,\n\t\tne,\n\t\tnot,\n\t\tnotBetween,\n\t\tnotExists,\n\t\tnotLike,\n\t\tnotIlike,\n\t\tnotInArray,\n\t\tor,\n\t\tsql,\n\t};\n}\n\nexport type Operators = ReturnType<typeof getOperators>;\n\nexport function getOrderByOperators() {\n\treturn {\n\t\tsql,\n\t\tasc,\n\t\tdesc,\n\t};\n}\n\nexport type OrderByOperators = ReturnType<typeof getOrderByOperators>;\n\nexport type FindTableByDBName<\n\tTSchema extends TablesRelationalConfig,\n\tTTableName extends string,\n> = ExtractObjectValues<\n\t{\n\t\t[\n\t\t\tK in keyof TSchema as TSchema[K]['dbName'] extends TTableName ? K\n\t\t\t\t: never\n\t\t]: TSchema[K];\n\t}\n>;\n\nexport type DBQueryConfig<\n\tTRelationType extends 'one' | 'many' = 'one' | 'many',\n\tTIsRoot extends boolean = boolean,\n\tTSchema extends TablesRelationalConfig = TablesRelationalConfig,\n\tTTableConfig extends TableRelationalConfig = TableRelationalConfig,\n> =\n\t& {\n\t\tcolumns?:\n\t\t\t| {\n\t\t\t\t[K in keyof TTableConfig['columns']]?: boolean;\n\t\t\t}\n\t\t\t| undefined;\n\t\twith?:\n\t\t\t| {\n\t\t\t\t[K in keyof TTableConfig['relations']]?:\n\t\t\t\t\t| true\n\t\t\t\t\t| DBQueryConfig<\n\t\t\t\t\t\tTTableConfig['relations'][K] extends One ? 'one' : 'many',\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\tTSchema,\n\t\t\t\t\t\tFindTableByDBName<\n\t\t\t\t\t\t\tTSchema,\n\t\t\t\t\t\t\tTTableConfig['relations'][K]['referencedTableName']\n\t\t\t\t\t\t>\n\t\t\t\t\t>\n\t\t\t\t\t| undefined;\n\t\t\t}\n\t\t\t| undefined;\n\t\textras?:\n\t\t\t| Record<string, SQL.Aliased>\n\t\t\t| ((\n\t\t\t\tfields: Simplify<\n\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t>,\n\t\t\t\toperators: { sql: Operators['sql'] },\n\t\t\t) => Record<string, SQL.Aliased>)\n\t\t\t| undefined;\n\t}\n\t& (TRelationType extends 'many' ?\n\t\t\t& {\n\t\t\t\twhere?:\n\t\t\t\t\t| SQL\n\t\t\t\t\t| undefined\n\t\t\t\t\t| ((\n\t\t\t\t\t\tfields: Simplify<\n\t\t\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t\t\t>,\n\t\t\t\t\t\toperators: Operators,\n\t\t\t\t\t) => SQL | undefined);\n\t\t\t\torderBy?:\n\t\t\t\t\t| ValueOrArray<AnyColumn | SQL>\n\t\t\t\t\t| ((\n\t\t\t\t\t\tfields: Simplify<\n\t\t\t\t\t\t\t[TTableConfig['columns']] extends [never] ? {}\n\t\t\t\t\t\t\t\t: TTableConfig['columns']\n\t\t\t\t\t\t>,\n\t\t\t\t\t\toperators: OrderByOperators,\n\t\t\t\t\t) => ValueOrArray<AnyColumn | SQL>)\n\t\t\t\t\t| undefined;\n\t\t\t\tlimit?: number | Placeholder | undefined;\n\t\t\t}\n\t\t\t& (TIsRoot extends true ? {\n\t\t\t\t\toffset?: number | Placeholder | undefined;\n\t\t\t\t}\n\t\t\t\t: {})\n\t\t: {});\n\nexport type DBQueryConfigWithComment<\n\tTRelationType extends 'one' | 'many' = 'one' | 'many',\n\tTIsRoot extends boolean = boolean,\n\tTSchema extends TablesRelationalConfig = TablesRelationalConfig,\n\tTTableConfig extends TableRelationalConfig = TableRelationalConfig,\n> = DBQueryConfig<TRelationType, TIsRoot, TSchema, TTableConfig> & { comment?: CommentInput | undefined };\n\nexport interface TableRelationalConfig {\n\ttsName: string;\n\tdbName: string;\n\tcolumns: Record<string, Column>;\n\trelations: Record<string, Relation>;\n\tprimaryKey: AnyColumn[];\n\tschema?: string;\n}\n\nexport type TablesRelationalConfig = Record<string, TableRelationalConfig>;\n\nexport interface RelationalSchemaConfig<\n\tTSchema extends TablesRelationalConfig,\n> {\n\tfullSchema: Record<string, unknown>;\n\tschema: TSchema;\n\ttableNamesMap: Record<string, string>;\n}\n\nexport type ExtractTablesWithRelations<\n\tTSchema extends Record<string, unknown>,\n> = {\n\t[\n\t\tK in keyof TSchema as TSchema[K] extends Table ? K\n\t\t\t: never\n\t]: TSchema[K] extends Table ? {\n\t\t\ttsName: K & string;\n\t\t\tdbName: TSchema[K]['_']['name'];\n\t\t\tcolumns: TSchema[K]['_']['columns'];\n\t\t\trelations: ExtractTableRelationsFromSchema<\n\t\t\t\tTSchema,\n\t\t\t\tTSchema[K]['_']['name']\n\t\t\t>;\n\t\t\tprimaryKey: AnyColumn[];\n\t\t}\n\t\t: never;\n};\n\nexport type ReturnTypeOrValue<T> = T extends (...args: any[]) => infer R ? R\n\t: T;\n\nexport type BuildRelationResult<\n\tTSchema extends TablesRelationalConfig,\n\tTInclude,\n\tTRelations extends Record<string, Relation>,\n> = {\n\t[\n\t\tK in\n\t\t\t& NonUndefinedKeysOnly<TInclude>\n\t\t\t& keyof TRelations\n\t]: TRelations[K] extends infer TRel extends Relation ? BuildQueryResult<\n\t\t\tTSchema,\n\t\t\tFindTableByDBName<TSchema, TRel['referencedTableName']>,\n\t\t\tAssume<TInclude[K], true | Record<string, unknown>>\n\t\t> extends infer TResult ? TRel extends One ?\n\t\t\t\t\t| TResult\n\t\t\t\t\t| (Equal<TRel['isNullable'], false> extends true ? null : never)\n\t\t\t: TResult[]\n\t\t: never\n\t\t: never;\n};\n\nexport type NonUndefinedKeysOnly<T> =\n\t& ExtractObjectValues<\n\t\t{\n\t\t\t[K in keyof T as T[K] extends undefined ? never : K]: K;\n\t\t}\n\t>\n\t& keyof T;\n\nexport type BuildQueryResult<\n\tTSchema extends TablesRelationalConfig,\n\tTTableConfig extends TableRelationalConfig,\n\tTFullSelection extends true | Record<string, unknown>,\n> = Equal<TFullSelection, true> extends true ? InferModelFromColumns<TTableConfig['columns']>\n\t: TFullSelection extends Record<string, unknown> ? Simplify<\n\t\t\t& (TFullSelection['columns'] extends Record<string, unknown> ? InferModelFromColumns<\n\t\t\t\t\t{\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\tK in Equal<\n\t\t\t\t\t\t\t\tExclude<\n\t\t\t\t\t\t\t\t\tTFullSelection['columns'][\n\t\t\t\t\t\t\t\t\t\t& keyof TFullSelection['columns']\n\t\t\t\t\t\t\t\t\t\t& keyof TTableConfig['columns']\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\tundefined\n\t\t\t\t\t\t\t\t>,\n\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t> extends true ? Exclude<\n\t\t\t\t\t\t\t\t\tkeyof TTableConfig['columns'],\n\t\t\t\t\t\t\t\t\tNonUndefinedKeysOnly<TFullSelection['columns']>\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t& {\n\t\t\t\t\t\t\t\t\t\t[K in keyof TFullSelection['columns']]: Equal<\n\t\t\t\t\t\t\t\t\t\t\tTFullSelection['columns'][K],\n\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t\t\t> extends true ? K\n\t\t\t\t\t\t\t\t\t\t\t: never;\n\t\t\t\t\t\t\t\t\t}[keyof TFullSelection['columns']]\n\t\t\t\t\t\t\t\t\t& keyof TTableConfig['columns']\n\t\t\t\t\t\t]: TTableConfig['columns'][K];\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t: InferModelFromColumns<TTableConfig['columns']>)\n\t\t\t& (TFullSelection['extras'] extends\n\t\t\t\t| Record<string, unknown>\n\t\t\t\t| ((...args: any[]) => Record<string, unknown>) ? {\n\t\t\t\t\t[\n\t\t\t\t\t\tK in NonUndefinedKeysOnly<\n\t\t\t\t\t\t\tReturnTypeOrValue<TFullSelection['extras']>\n\t\t\t\t\t\t>\n\t\t\t\t\t]: Assume<\n\t\t\t\t\t\tReturnTypeOrValue<TFullSelection['extras']>[K],\n\t\t\t\t\t\tSQL.Aliased\n\t\t\t\t\t>['_']['type'];\n\t\t\t\t}\n\t\t\t\t: {})\n\t\t\t& (TFullSelection['with'] extends Record<string, unknown> ? BuildRelationResult<\n\t\t\t\t\tTSchema,\n\t\t\t\t\tTFullSelection['with'],\n\t\t\t\t\tTTableConfig['relations']\n\t\t\t\t>\n\t\t\t\t: {})\n\t\t>\n\t: never;\n\nexport interface RelationConfig<\n\tTTableName extends string,\n\tTForeignTableName extends string,\n\tTColumns extends AnyColumn<{ tableName: TTableName }>[],\n> {\n\trelationName?: string;\n\tfields: TColumns;\n\treferences: ColumnsWithTable<TTableName, TForeignTableName, TColumns>;\n}\n\nexport function extractTablesRelationalConfig<\n\tTTables extends TablesRelationalConfig,\n>(\n\tschema: Record<string, unknown>,\n\tconfigHelpers: (table: Table) => any,\n): { tables: TTables; tableNamesMap: Record<string, string> } {\n\tif (\n\t\tObject.keys(schema).length === 1\n\t\t&& 'default' in schema\n\t\t&& !is(schema['default'], Table)\n\t) {\n\t\tschema = schema['default'] as Record<string, unknown>;\n\t}\n\n\t// table DB name -> schema table key\n\tconst tableNamesMap: Record<string, string> = {};\n\t// Table relations found before their tables - need to buffer them until we know the schema table key\n\tconst relationsBuffer: Record<\n\t\tstring,\n\t\t{ relations: Record<string, Relation>; primaryKey?: AnyColumn[] }\n\t> = {};\n\tconst tablesConfig: TablesRelationalConfig = {};\n\tfor (const [key, value] of Object.entries(schema)) {\n\t\tif (is(value, Table)) {\n\t\t\tconst dbName = getTableUniqueName(value);\n\t\t\tconst bufferedRelations = relationsBuffer[dbName];\n\t\t\ttableNamesMap[dbName] = key;\n\t\t\ttablesConfig[key] = {\n\t\t\t\ttsName: key,\n\t\t\t\tdbName: value[Table.Symbol.Name],\n\t\t\t\tschema: value[Table.Symbol.Schema],\n\t\t\t\tcolumns: value[Table.Symbol.Columns],\n\t\t\t\trelations: bufferedRelations?.relations ?? {},\n\t\t\t\tprimaryKey: bufferedRelations?.primaryKey ?? [],\n\t\t\t};\n\n\t\t\t// Fill in primary keys\n\t\t\tfor (\n\t\t\t\tconst column of Object.values(\n\t\t\t\t\t(value as Table)[Table.Symbol.Columns],\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tif (column.primary) {\n\t\t\t\t\ttablesConfig[key]!.primaryKey.push(column);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst extraConfig = value[Table.Symbol.ExtraConfigBuilder]?.((value as Table)[Table.Symbol.ExtraConfigColumns]);\n\t\t\tif (extraConfig) {\n\t\t\t\tfor (const configEntry of Object.values(extraConfig)) {\n\t\t\t\t\tif (is(configEntry, PrimaryKeyBuilder)) {\n\t\t\t\t\t\ttablesConfig[key]!.primaryKey.push(...configEntry.columns);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (is(value, Relations)) {\n\t\t\tconst dbName = getTableUniqueName(value.table);\n\t\t\tconst tableName = tableNamesMap[dbName];\n\t\t\tconst relations: Record<string, Relation> = value.config(\n\t\t\t\tconfigHelpers(value.table),\n\t\t\t);\n\t\t\t// let primaryKey: AnyColumn[] | undefined;\n\n\t\t\tfor (const [relationName, relation] of Object.entries(relations)) {\n\t\t\t\tif (tableName) {\n\t\t\t\t\tconst tableConfig = tablesConfig[tableName]!;\n\t\t\t\t\ttableConfig.relations[relationName] = relation;\n\t\t\t\t\t// if (primaryKey) {\n\t\t\t\t\t// \ttableConfig.primaryKey.push(...primaryKey);\n\t\t\t\t\t// }\n\t\t\t\t} else {\n\t\t\t\t\tif (!(dbName in relationsBuffer)) {\n\t\t\t\t\t\trelationsBuffer[dbName] = {\n\t\t\t\t\t\t\trelations: {},\n\t\t\t\t\t\t\t// primaryKey,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\trelationsBuffer[dbName]!.relations[relationName] = relation;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { tables: tablesConfig as TTables, tableNamesMap };\n}\n\nexport function relations<\n\tTTableName extends string,\n\tTRelations extends Record<string, Relation<any>>,\n>(\n\ttable: AnyTable<{ name: TTableName }>,\n\trelations: (helpers: TableRelationsHelpers<TTableName>) => TRelations,\n): Relations<TTableName, TRelations> {\n\treturn new Relations<TTableName, TRelations>(\n\t\ttable,\n\t\t(helpers: TableRelationsHelpers<TTableName>) =>\n\t\t\tObject.fromEntries(\n\t\t\t\tObject.entries(relations(helpers)).map(([key, value]) => [\n\t\t\t\t\tkey,\n\t\t\t\t\tvalue.withFieldName(key),\n\t\t\t\t]),\n\t\t\t) as TRelations,\n\t);\n}\n\nexport function createOne<TTableName extends string>(sourceTable: Table) {\n\treturn function one<\n\t\tTForeignTable extends Table,\n\t\tTColumns extends [\n\t\t\tAnyColumn<{ tableName: TTableName }>,\n\t\t\t...AnyColumn<{ tableName: TTableName }>[],\n\t\t],\n\t>(\n\t\ttable: TForeignTable,\n\t\tconfig?: RelationConfig<TTableName, TForeignTable['_']['name'], TColumns>,\n\t): One<\n\t\tTForeignTable['_']['name'],\n\t\tEqual<TColumns[number]['_']['notNull'], true>\n\t> {\n\t\treturn new One(\n\t\t\tsourceTable,\n\t\t\ttable,\n\t\t\tconfig,\n\t\t\t(config?.fields.reduce<boolean>((res, f) => res && f.notNull, true)\n\t\t\t\t?? false) as Equal<TColumns[number]['_']['notNull'], true>,\n\t\t);\n\t};\n}\n\nexport function createMany(sourceTable: Table) {\n\treturn function many<TForeignTable extends Table>(\n\t\treferencedTable: TForeignTable,\n\t\tconfig?: { relationName: string },\n\t): Many<TForeignTable['_']['name']> {\n\t\treturn new Many(sourceTable, referencedTable, config);\n\t};\n}\n\nexport interface NormalizedRelation {\n\tfields: AnyColumn[];\n\treferences: AnyColumn[];\n}\n\nexport function normalizeRelation(\n\tschema: TablesRelationalConfig,\n\ttableNamesMap: Record<string, string>,\n\trelation: Relation,\n): NormalizedRelation {\n\tif (is(relation, One) && relation.config) {\n\t\treturn {\n\t\t\tfields: relation.config.fields,\n\t\t\treferences: relation.config.references,\n\t\t};\n\t}\n\n\tconst referencedTableTsName = tableNamesMap[getTableUniqueName(relation.referencedTable)];\n\tif (!referencedTableTsName) {\n\t\tthrow new Error(\n\t\t\t`Table \"${relation.referencedTable[Table.Symbol.Name]}\" not found in schema`,\n\t\t);\n\t}\n\n\tconst referencedTableConfig = schema[referencedTableTsName];\n\tif (!referencedTableConfig) {\n\t\tthrow new Error(`Table \"${referencedTableTsName}\" not found in schema`);\n\t}\n\n\tconst sourceTable = relation.sourceTable;\n\tconst sourceTableTsName = tableNamesMap[getTableUniqueName(sourceTable)];\n\tif (!sourceTableTsName) {\n\t\tthrow new Error(\n\t\t\t`Table \"${sourceTable[Table.Symbol.Name]}\" not found in schema`,\n\t\t);\n\t}\n\n\tconst reverseRelations: Relation[] = [];\n\tfor (\n\t\tconst referencedTableRelation of Object.values(\n\t\t\treferencedTableConfig.relations,\n\t\t)\n\t) {\n\t\tif (\n\t\t\t(relation.relationName\n\t\t\t\t&& relation !== referencedTableRelation\n\t\t\t\t&& referencedTableRelation.relationName === relation.relationName)\n\t\t\t|| (!relation.relationName\n\t\t\t\t&& referencedTableRelation.referencedTable === relation.sourceTable)\n\t\t) {\n\t\t\treverseRelations.push(referencedTableRelation);\n\t\t}\n\t}\n\n\tif (reverseRelations.length > 1) {\n\t\tthrow relation.relationName\n\t\t\t? new Error(\n\t\t\t\t`There are multiple relations with name \"${relation.relationName}\" in table \"${referencedTableTsName}\"`,\n\t\t\t)\n\t\t\t: new Error(\n\t\t\t\t`There are multiple relations between \"${referencedTableTsName}\" and \"${\n\t\t\t\t\trelation.sourceTable[Table.Symbol.Name]\n\t\t\t\t}\". Please specify relation name`,\n\t\t\t);\n\t}\n\n\tif (\n\t\treverseRelations[0]\n\t\t&& is(reverseRelations[0], One)\n\t\t&& reverseRelations[0].config\n\t) {\n\t\treturn {\n\t\t\tfields: reverseRelations[0].config.references,\n\t\t\treferences: reverseRelations[0].config.fields,\n\t\t};\n\t}\n\n\tthrow new Error(\n\t\t`There is not enough information to infer relation \"${sourceTableTsName}.${relation.fieldName}\"`,\n\t);\n}\n\nexport function createTableRelationsHelpers<TTableName extends string>(\n\tsourceTable: AnyTable<{ name: TTableName }>,\n) {\n\treturn {\n\t\tone: createOne<TTableName>(sourceTable),\n\t\tmany: createMany(sourceTable),\n\t};\n}\n\nexport type TableRelationsHelpers<TTableName extends string> = ReturnType<\n\ttypeof createTableRelationsHelpers<TTableName>\n>;\n\nexport interface BuildRelationalQueryResult<\n\tTTable extends Table = Table,\n\tTColumn extends Column = Column,\n> {\n\ttableTsKey: string;\n\tselection: {\n\t\tdbKey: string;\n\t\ttsKey: string;\n\t\tfield: TColumn | SQL | SQL.Aliased;\n\t\trelationTableTsKey: string | undefined;\n\t\tisJson: boolean;\n\t\tisExtra?: boolean;\n\t\tselection: BuildRelationalQueryResult<TTable>['selection'];\n\t}[];\n\tsql: TTable | SQL;\n}\n\nexport function mapRelationalRow(\n\ttablesConfig: TablesRelationalConfig,\n\ttableConfig: TableRelationalConfig,\n\trow: unknown[],\n\tbuildQueryResultSelection: BuildRelationalQueryResult['selection'],\n\tmapColumnValue: (value: unknown) => unknown = (value) => value,\n): Record<string, unknown> {\n\tconst result: Record<string, unknown> = {};\n\n\tfor (\n\t\tconst [\n\t\t\tselectionItemIndex,\n\t\t\tselectionItem,\n\t\t] of buildQueryResultSelection.entries()\n\t) {\n\t\tif (selectionItem.isJson) {\n\t\t\tconst relation = tableConfig.relations[selectionItem.tsKey]!;\n\t\t\tconst rawSubRows = row[selectionItemIndex] as\n\t\t\t\t| unknown[]\n\t\t\t\t| null\n\t\t\t\t| [null]\n\t\t\t\t| string;\n\t\t\tconst subRows = typeof rawSubRows === 'string'\n\t\t\t\t? (JSON.parse(rawSubRows) as unknown[])\n\t\t\t\t: rawSubRows;\n\t\t\tresult[selectionItem.tsKey] = is(relation, One)\n\t\t\t\t? subRows\n\t\t\t\t\t&& mapRelationalRow(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRows,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t: (subRows as unknown[][]).map((subRow) =>\n\t\t\t\t\tmapRelationalRow(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRow,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t} else {\n\t\t\tconst value = mapColumnValue(row[selectionItemIndex]);\n\t\t\tconst field = selectionItem.field!;\n\t\t\tlet decoder;\n\t\t\tif (is(field, Column)) {\n\t\t\t\tdecoder = field;\n\t\t\t} else if (is(field, SQL)) {\n\t\t\t\tdecoder = field.decoder;\n\t\t\t} else {\n\t\t\t\tdecoder = field.sql.decoder;\n\t\t\t}\n\t\t\tresult[selectionItem.tsKey] = value === null ? null : decoder.mapFromDriverValue(value);\n\t\t}\n\t}\n\n\treturn result;\n}\n\nexport function mapRelationalRowFromObj(\n\ttablesConfig: TablesRelationalConfig,\n\ttableConfig: TableRelationalConfig,\n\trow: unknown[],\n\tbuildQueryResultSelection: BuildRelationalQueryResult['selection'],\n\tmapColumnValue: (value: unknown) => unknown = (value) => value,\n): Record<string, unknown> {\n\tconst result: Record<string, unknown> = {};\n\n\tfor (\n\t\tconst [\n\t\t\tselectionItemIndex,\n\t\t\tselectionItem,\n\t\t] of buildQueryResultSelection.entries()\n\t) {\n\t\tif (selectionItem.isJson) {\n\t\t\tconst relation = tableConfig.relations[selectionItem.tsKey]!;\n\t\t\tconst isOne = is(relation, One);\n\t\t\tconst rawSubRows = row[selectionItemIndex] as unknown[] | null | [null] | string;\n\n\t\t\tlet subRows = rawSubRows as unknown[] | null;\n\t\t\tif (subRows || Array.isArray(subRows)) {\n\t\t\t\tsubRows = (typeof rawSubRows === 'string' ? JSON.parse(rawSubRows) : rawSubRows) as unknown[];\n\n\t\t\t\tsubRows = isOne\n\t\t\t\t\t? subRows.flatMap((r) => Array.isArray(r) ? r : Object.values(r as any))\n\t\t\t\t\t: subRows.map((r) => Array.isArray(r) ? r : Object.values(r as any));\n\t\t\t}\n\n\t\t\tresult[selectionItem.tsKey] = isOne\n\t\t\t\t? subRows\n\t\t\t\t\t&& mapRelationalRowFromObj(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRows,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t: ((subRows ?? []) as unknown[][]).map((subRow) =>\n\t\t\t\t\tmapRelationalRowFromObj(\n\t\t\t\t\t\ttablesConfig,\n\t\t\t\t\t\ttablesConfig[selectionItem.relationTableTsKey!]!,\n\t\t\t\t\t\tsubRow,\n\t\t\t\t\t\tselectionItem.selection,\n\t\t\t\t\t\tmapColumnValue,\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t} else {\n\t\t\tconst value = mapColumnValue(row[selectionItemIndex]);\n\t\t\tconst field = selectionItem.field!;\n\t\t\tlet decoder;\n\t\t\tif (is(field, Column)) {\n\t\t\t\tdecoder = field;\n\t\t\t} else if (is(field, SQL)) {\n\t\t\t\tdecoder = field.decoder;\n\t\t\t} else {\n\t\t\t\tdecoder = field.sql.decoder;\n\t\t\t}\n\t\t\tresult[selectionItem.tsKey] = value === null ? null : decoder.mapFromDriverValue(value);\n\t\t}\n\t}\n\n\treturn result;\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
//#region \0rolldown/runtime.js
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
10
|
+
for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
11
|
+
key = keys[i];
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except) {
|
|
13
|
+
__defProp(to, key, {
|
|
14
|
+
get: ((k) => from[k]).bind(null, key),
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
23
|
+
value: mod,
|
|
24
|
+
enumerable: true
|
|
25
|
+
}) : target, mod));
|
|
26
|
+
|
|
27
|
+
//#endregion
|
|
28
|
+
|
|
29
|
+
exports.__toESM = __toESM;
|
package/alias.cjs
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
1
2
|
const require_entity = require('./entity.cjs');
|
|
2
|
-
const require_table = require('./table.cjs');
|
|
3
3
|
const require_column_common = require('./column-common.cjs');
|
|
4
4
|
const require_column = require('./column.cjs');
|
|
5
|
+
const require_subquery = require('./subquery.cjs');
|
|
6
|
+
const require_table = require('./table.cjs');
|
|
5
7
|
const require_sql_sql = require('./sql/sql.cjs');
|
|
6
8
|
const require_view_common = require('./view-common.cjs');
|
|
7
9
|
|
|
@@ -18,6 +20,20 @@ var ColumnTableAliasProxyHandler = class {
|
|
|
18
20
|
return columnObj[prop];
|
|
19
21
|
}
|
|
20
22
|
};
|
|
23
|
+
var ViewSelectionAliasProxyHandler = class {
|
|
24
|
+
static [require_entity.entityKind] = "ViewSelectionAliasProxyHandler";
|
|
25
|
+
constructor(view, selection, ignoreColumnAlias) {
|
|
26
|
+
this.view = view;
|
|
27
|
+
this.selection = selection;
|
|
28
|
+
this.ignoreColumnAlias = ignoreColumnAlias;
|
|
29
|
+
}
|
|
30
|
+
get(selection, prop) {
|
|
31
|
+
const value = selection[prop];
|
|
32
|
+
if (require_entity.is(value, require_column.Column)) return new Proxy(value, new ColumnTableAliasProxyHandler(this.view, this.ignoreColumnAlias));
|
|
33
|
+
if (require_entity.is(value, require_subquery.Subquery) || require_entity.is(value, require_sql_sql.SQL) || require_entity.is(value, require_sql_sql.SQL.Aliased) || require_sql_sql.isSQLWrapper(value) || typeof value !== "object" || value === null) return value;
|
|
34
|
+
return new Proxy(value, this);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
21
37
|
var TableAliasProxyHandler = class {
|
|
22
38
|
static [require_entity.entityKind] = "TableAliasProxyHandler";
|
|
23
39
|
constructor(alias, replaceOriginalName, ignoreColumnAlias) {
|
|
@@ -32,11 +48,13 @@ var TableAliasProxyHandler = class {
|
|
|
32
48
|
if (prop === require_view_common.ViewBaseConfig) return {
|
|
33
49
|
...target[require_view_common.ViewBaseConfig],
|
|
34
50
|
name: this.alias,
|
|
35
|
-
isAlias: true
|
|
51
|
+
isAlias: true,
|
|
52
|
+
selectedFields: new Proxy(target[require_view_common.ViewBaseConfig].selectedFields, new ViewSelectionAliasProxyHandler(new Proxy(target, this), target[require_view_common.ViewBaseConfig].selectedFields, this.ignoreColumnAlias))
|
|
36
53
|
};
|
|
37
54
|
if (prop === require_table.Table.Symbol.Columns) {
|
|
38
55
|
const columns = target[require_table.Table.Symbol.Columns];
|
|
39
56
|
if (!columns) return columns;
|
|
57
|
+
if (require_entity.is(target, require_sql_sql.View)) return new Proxy(target[require_table.Table.Symbol.Columns], new ViewSelectionAliasProxyHandler(new Proxy(target, this), target[require_table.Table.Symbol.Columns], this.ignoreColumnAlias));
|
|
40
58
|
const proxiedColumns = {};
|
|
41
59
|
Object.keys(columns).map((key) => {
|
|
42
60
|
proxiedColumns[key] = new Proxy(columns[key], new ColumnTableAliasProxyHandler(new Proxy(target, this), this.ignoreColumnAlias));
|
|
@@ -106,6 +124,7 @@ exports.ColumnAliasProxyHandler = ColumnAliasProxyHandler;
|
|
|
106
124
|
exports.ColumnTableAliasProxyHandler = ColumnTableAliasProxyHandler;
|
|
107
125
|
exports.RelationTableAliasProxyHandler = RelationTableAliasProxyHandler;
|
|
108
126
|
exports.TableAliasProxyHandler = TableAliasProxyHandler;
|
|
127
|
+
exports.ViewSelectionAliasProxyHandler = ViewSelectionAliasProxyHandler;
|
|
109
128
|
exports.aliasedColumn = aliasedColumn;
|
|
110
129
|
exports.aliasedRelation = aliasedRelation;
|
|
111
130
|
exports.aliasedTable = aliasedTable;
|
package/alias.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alias.cjs","names":["entityKind","
|
|
1
|
+
{"version":3,"file":"alias.cjs","names":["entityKind","is","Column","Subquery","SQL","isSQLWrapper","Table","ViewBaseConfig","View","OriginalColumn","sql"],"sources":["../src/alias.ts"],"sourcesContent":["import type * as V1 from './_relations.ts';\nimport { OriginalColumn } from './column-common.ts';\nimport type { AnyColumn } from './column.ts';\nimport { Column } from './column.ts';\nimport { entityKind, is } from './entity.ts';\nimport { View } from './sql/sql.ts';\nimport { isSQLWrapper, SQL, sql } from './sql/sql.ts';\nimport { Subquery } from './subquery.ts';\nimport { Table } from './table.ts';\nimport { ViewBaseConfig } from './view-common.ts';\n\nexport class ColumnTableAliasProxyHandler<TColumn extends Column> implements ProxyHandler<TColumn> {\n\tstatic readonly [entityKind]: string = 'ColumnTableAliasProxyHandler';\n\n\tconstructor(private table: Table | View, private ignoreColumnAlias?: boolean) {}\n\n\tget(columnObj: TColumn, prop: string | symbol): any {\n\t\tif (prop === 'table') {\n\t\t\treturn this.table;\n\t\t}\n\n\t\tif (prop === 'isAlias' && this.ignoreColumnAlias) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn columnObj[prop as keyof TColumn];\n\t}\n}\n\nexport class ViewSelectionAliasProxyHandler<TSelection extends Record<string, unknown>>\n\timplements ProxyHandler<TSelection>\n{\n\tstatic readonly [entityKind]: string = 'ViewSelectionAliasProxyHandler';\n\n\tconstructor(protected view: View, protected selection: TSelection, private ignoreColumnAlias?: boolean) {}\n\n\tget(selection: TSelection, prop: string | symbol): any {\n\t\tconst value = selection[prop as keyof TSelection];\n\n\t\tif (is(value, Column)) return new Proxy(value, new ColumnTableAliasProxyHandler(this.view, this.ignoreColumnAlias));\n\t\tif (\n\t\t\tis(value, Subquery) || is(value, SQL) || is(value, SQL.Aliased) || isSQLWrapper(value)\n\t\t\t|| (typeof value !== 'object' || value === null)\n\t\t) return value;\n\n\t\treturn new Proxy(value as Record<string, unknown>, this);\n\t}\n}\n\nexport class TableAliasProxyHandler<T extends Table | View> implements ProxyHandler<T> {\n\tstatic readonly [entityKind]: string = 'TableAliasProxyHandler';\n\n\tconstructor(private alias: string, private replaceOriginalName: boolean, private ignoreColumnAlias?: boolean) {}\n\n\tget(target: T, prop: string | symbol): any {\n\t\tif (prop === Table.Symbol.IsAlias) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (prop === Table.Symbol.Name) {\n\t\t\treturn this.alias;\n\t\t}\n\n\t\tif (this.replaceOriginalName && prop === Table.Symbol.OriginalName) {\n\t\t\treturn this.alias;\n\t\t}\n\n\t\tif (prop === ViewBaseConfig) {\n\t\t\treturn {\n\t\t\t\t...target[ViewBaseConfig as keyof typeof target],\n\t\t\t\tname: this.alias,\n\t\t\t\tisAlias: true,\n\t\t\t\tselectedFields: new Proxy(\n\t\t\t\t\t(<View> target)[ViewBaseConfig].selectedFields,\n\t\t\t\t\tnew ViewSelectionAliasProxyHandler(\n\t\t\t\t\t\tnew Proxy(target, this) as View,\n\t\t\t\t\t\t(<View> target)[ViewBaseConfig].selectedFields,\n\t\t\t\t\t\tthis.ignoreColumnAlias,\n\t\t\t\t\t),\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\n\t\tif (prop === Table.Symbol.Columns) {\n\t\t\tconst columns = (target as Table)[Table.Symbol.Columns];\n\t\t\tif (!columns) {\n\t\t\t\treturn columns;\n\t\t\t}\n\n\t\t\tif (is(target, View)) {\n\t\t\t\treturn new Proxy(\n\t\t\t\t\t(<View> target)[Table.Symbol.Columns],\n\t\t\t\t\tnew ViewSelectionAliasProxyHandler(\n\t\t\t\t\t\tnew Proxy(target, this) as View,\n\t\t\t\t\t\t(<View> target)[Table.Symbol.Columns],\n\t\t\t\t\t\tthis.ignoreColumnAlias,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst proxiedColumns: { [key: string]: any } = {};\n\n\t\t\tObject.keys(columns).map((key) => {\n\t\t\t\tproxiedColumns[key] = new Proxy(\n\t\t\t\t\tcolumns[key]!,\n\t\t\t\t\tnew ColumnTableAliasProxyHandler(new Proxy(target, this), this.ignoreColumnAlias),\n\t\t\t\t);\n\t\t\t});\n\n\t\t\treturn proxiedColumns;\n\t\t}\n\n\t\tconst value = target[prop as keyof typeof target];\n\t\tif (is(value, Column)) {\n\t\t\treturn new Proxy(\n\t\t\t\tvalue as AnyColumn,\n\t\t\t\tnew ColumnTableAliasProxyHandler(new Proxy(target, this), this.ignoreColumnAlias),\n\t\t\t);\n\t\t}\n\n\t\treturn value;\n\t}\n}\n\nexport class ColumnAliasProxyHandler<T extends Column> implements ProxyHandler<T> {\n\tstatic readonly [entityKind]: string = 'ColumnAliasProxyHandler';\n\n\tconstructor(private alias: string) {}\n\n\tget(target: T, prop: keyof Column): any {\n\t\tif (prop === 'isAlias') {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (prop === 'name') {\n\t\t\treturn this.alias;\n\t\t}\n\n\t\tif (prop === 'keyAsName') {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (prop === OriginalColumn) {\n\t\t\treturn () => target;\n\t\t}\n\n\t\treturn target[prop];\n\t}\n}\n\nexport class RelationTableAliasProxyHandler<T extends V1.Relation> implements ProxyHandler<T> {\n\tstatic readonly [entityKind]: string = 'RelationTableAliasProxyHandler';\n\n\tconstructor(private alias: string) {}\n\n\tget(target: T, prop: string | symbol): any {\n\t\tif (prop === 'sourceTable') {\n\t\t\treturn aliasedTable(target.sourceTable, this.alias);\n\t\t}\n\n\t\treturn target[prop as keyof typeof target];\n\t}\n}\n\nexport function aliasedTable<T extends Table | View>(table: T, tableAlias: string): T {\n\treturn new Proxy(table, new TableAliasProxyHandler(tableAlias, false, false));\n}\n\nexport function aliasedColumn<T extends Column>(column: T, alias: string): T {\n\treturn new Proxy(column, new ColumnAliasProxyHandler(alias));\n}\n\nexport function aliasedRelation<T extends V1.Relation>(relation: T, tableAlias: string): T {\n\treturn new Proxy(relation, new RelationTableAliasProxyHandler(tableAlias));\n}\n\nexport function aliasedTableColumn<T extends AnyColumn>(column: T, tableAlias: string): T {\n\treturn new Proxy(\n\t\tcolumn,\n\t\tnew ColumnTableAliasProxyHandler(\n\t\t\tnew Proxy(column.table, new TableAliasProxyHandler(tableAlias, false, false)),\n\t\t\tfalse,\n\t\t),\n\t);\n}\n\nexport function mapColumnsInAliasedSQLToAlias(query: SQL.Aliased, alias: string): SQL.Aliased {\n\treturn new SQL.Aliased(mapColumnsInSQLToAlias(query.sql, alias), query.fieldAlias);\n}\n\nexport function mapColumnsInSQLToAlias(query: SQL, alias: string): SQL {\n\treturn sql.join(query.queryChunks.map((c) => {\n\t\tif (is(c, Column)) {\n\t\t\treturn aliasedTableColumn(c, alias);\n\t\t}\n\t\tif (is(c, SQL)) {\n\t\t\treturn mapColumnsInSQLToAlias(c, alias);\n\t\t}\n\t\tif (is(c, SQL.Aliased)) {\n\t\t\treturn mapColumnsInAliasedSQLToAlias(c, alias);\n\t\t}\n\t\treturn c;\n\t}));\n}\n\n// Defined separately from the Column class to resolve circular dependency\nColumn.prototype.as = function(alias: string): Column {\n\treturn aliasedColumn(this, alias);\n};\n\nexport function getOriginalColumnFromAlias<T extends Column>(column: T): T {\n\treturn column[OriginalColumn]();\n}\n"],"mappings":"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"}
|
package/alias.d.cts
CHANGED
|
@@ -12,6 +12,14 @@ declare class ColumnTableAliasProxyHandler<TColumn extends Column> implements Pr
|
|
|
12
12
|
constructor(table: Table | View, ignoreColumnAlias?: boolean | undefined);
|
|
13
13
|
get(columnObj: TColumn, prop: string | symbol): any;
|
|
14
14
|
}
|
|
15
|
+
declare class ViewSelectionAliasProxyHandler<TSelection extends Record<string, unknown>> implements ProxyHandler<TSelection> {
|
|
16
|
+
protected view: View;
|
|
17
|
+
protected selection: TSelection;
|
|
18
|
+
private ignoreColumnAlias?;
|
|
19
|
+
static readonly [entityKind]: string;
|
|
20
|
+
constructor(view: View, selection: TSelection, ignoreColumnAlias?: boolean | undefined);
|
|
21
|
+
get(selection: TSelection, prop: string | symbol): any;
|
|
22
|
+
}
|
|
15
23
|
declare class TableAliasProxyHandler<T extends Table | View> implements ProxyHandler<T> {
|
|
16
24
|
private alias;
|
|
17
25
|
private replaceOriginalName;
|
|
@@ -40,5 +48,5 @@ declare function mapColumnsInAliasedSQLToAlias(query: SQL.Aliased, alias: string
|
|
|
40
48
|
declare function mapColumnsInSQLToAlias(query: SQL, alias: string): SQL;
|
|
41
49
|
declare function getOriginalColumnFromAlias<T extends Column>(column: T): T;
|
|
42
50
|
//#endregion
|
|
43
|
-
export { ColumnAliasProxyHandler, ColumnTableAliasProxyHandler, RelationTableAliasProxyHandler, TableAliasProxyHandler, aliasedColumn, aliasedRelation, aliasedTable, aliasedTableColumn, getOriginalColumnFromAlias, mapColumnsInAliasedSQLToAlias, mapColumnsInSQLToAlias };
|
|
51
|
+
export { ColumnAliasProxyHandler, ColumnTableAliasProxyHandler, RelationTableAliasProxyHandler, TableAliasProxyHandler, ViewSelectionAliasProxyHandler, aliasedColumn, aliasedRelation, aliasedTable, aliasedTableColumn, getOriginalColumnFromAlias, mapColumnsInAliasedSQLToAlias, mapColumnsInSQLToAlias };
|
|
44
52
|
//# sourceMappingURL=alias.d.cts.map
|
package/alias.d.ts
CHANGED
|
@@ -12,6 +12,14 @@ declare class ColumnTableAliasProxyHandler<TColumn extends Column> implements Pr
|
|
|
12
12
|
constructor(table: Table | View, ignoreColumnAlias?: boolean | undefined);
|
|
13
13
|
get(columnObj: TColumn, prop: string | symbol): any;
|
|
14
14
|
}
|
|
15
|
+
declare class ViewSelectionAliasProxyHandler<TSelection extends Record<string, unknown>> implements ProxyHandler<TSelection> {
|
|
16
|
+
protected view: View;
|
|
17
|
+
protected selection: TSelection;
|
|
18
|
+
private ignoreColumnAlias?;
|
|
19
|
+
static readonly [entityKind]: string;
|
|
20
|
+
constructor(view: View, selection: TSelection, ignoreColumnAlias?: boolean | undefined);
|
|
21
|
+
get(selection: TSelection, prop: string | symbol): any;
|
|
22
|
+
}
|
|
15
23
|
declare class TableAliasProxyHandler<T extends Table | View> implements ProxyHandler<T> {
|
|
16
24
|
private alias;
|
|
17
25
|
private replaceOriginalName;
|
|
@@ -40,5 +48,5 @@ declare function mapColumnsInAliasedSQLToAlias(query: SQL.Aliased, alias: string
|
|
|
40
48
|
declare function mapColumnsInSQLToAlias(query: SQL, alias: string): SQL;
|
|
41
49
|
declare function getOriginalColumnFromAlias<T extends Column>(column: T): T;
|
|
42
50
|
//#endregion
|
|
43
|
-
export { ColumnAliasProxyHandler, ColumnTableAliasProxyHandler, RelationTableAliasProxyHandler, TableAliasProxyHandler, aliasedColumn, aliasedRelation, aliasedTable, aliasedTableColumn, getOriginalColumnFromAlias, mapColumnsInAliasedSQLToAlias, mapColumnsInSQLToAlias };
|
|
51
|
+
export { ColumnAliasProxyHandler, ColumnTableAliasProxyHandler, RelationTableAliasProxyHandler, TableAliasProxyHandler, ViewSelectionAliasProxyHandler, aliasedColumn, aliasedRelation, aliasedTable, aliasedTableColumn, getOriginalColumnFromAlias, mapColumnsInAliasedSQLToAlias, mapColumnsInSQLToAlias };
|
|
44
52
|
//# sourceMappingURL=alias.d.ts.map
|