drizzle-orm 0.28.3 → 0.28.4
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/{alias-d302772a.mjs → alias-e80df77c.mjs} +2302 -2299
- package/alias-e80df77c.mjs.map +1 -0
- package/alias.d.cts +31 -0
- package/alias.d.mts +31 -0
- package/alias.d.ts +7 -7
- package/aws-data-api/common/index.d.cts +9 -0
- package/aws-data-api/common/index.d.mts +9 -0
- package/aws-data-api/common/index.d.ts +1 -1
- package/aws-data-api/pg/driver.d.cts +23 -0
- package/aws-data-api/pg/driver.d.mts +23 -0
- package/aws-data-api/pg/driver.d.ts +6 -6
- package/aws-data-api/pg/index.cjs +17 -17
- package/aws-data-api/pg/index.d.cts +2 -0
- package/aws-data-api/pg/index.d.mts +2 -0
- package/aws-data-api/pg/index.d.ts +2 -2
- package/aws-data-api/pg/index.mjs +3 -2
- package/aws-data-api/pg/index.mjs.map +1 -1
- package/aws-data-api/pg/migrator.d.cts +3 -0
- package/aws-data-api/pg/migrator.d.mts +3 -0
- package/aws-data-api/pg/migrator.d.ts +2 -2
- package/aws-data-api/pg/session.d.cts +50 -0
- package/aws-data-api/pg/session.d.mts +50 -0
- package/aws-data-api/pg/session.d.ts +6 -6
- package/better-sqlite3/driver.d.cts +5 -0
- package/better-sqlite3/driver.d.mts +5 -0
- package/better-sqlite3/driver.d.ts +2 -2
- package/better-sqlite3/index.cjs +16 -16
- package/better-sqlite3/index.d.cts +2 -0
- package/better-sqlite3/index.d.mts +2 -0
- package/better-sqlite3/index.d.ts +2 -2
- package/better-sqlite3/index.mjs +3 -2
- package/better-sqlite3/index.mjs.map +1 -1
- package/better-sqlite3/migrator.d.cts +3 -0
- package/better-sqlite3/migrator.d.mts +3 -0
- package/better-sqlite3/migrator.d.ts +2 -2
- package/better-sqlite3/session.d.cts +48 -0
- package/better-sqlite3/session.d.mts +48 -0
- package/better-sqlite3/session.d.ts +8 -8
- package/bun-sqlite/driver.d.cts +6 -0
- package/bun-sqlite/driver.d.mts +6 -0
- package/bun-sqlite/driver.d.ts +2 -2
- package/bun-sqlite/index.cjs +16 -16
- package/bun-sqlite/index.d.cts +2 -0
- package/bun-sqlite/index.d.mts +2 -0
- package/bun-sqlite/index.d.ts +2 -2
- package/bun-sqlite/index.mjs +3 -2
- package/bun-sqlite/index.mjs.map +1 -1
- package/bun-sqlite/migrator.d.cts +3 -0
- package/bun-sqlite/migrator.d.mts +3 -0
- package/bun-sqlite/migrator.d.ts +2 -2
- package/bun-sqlite/session.d.cts +52 -0
- package/bun-sqlite/session.d.mts +52 -0
- package/bun-sqlite/session.d.ts +9 -9
- package/column-builder.d.cts +146 -0
- package/column-builder.d.mts +146 -0
- package/column-builder.d.ts +22 -20
- package/column.d.cts +56 -0
- package/column.d.mts +56 -0
- package/column.d.ts +5 -5
- package/d1/driver.d.cts +5 -0
- package/d1/driver.d.mts +5 -0
- package/d1/driver.d.ts +2 -2
- package/d1/index.cjs +19 -19
- package/d1/index.d.cts +2 -0
- package/d1/index.d.mts +2 -0
- package/d1/index.d.ts +2 -2
- package/d1/index.mjs +3 -2
- package/d1/index.mjs.map +1 -1
- package/d1/migrator.d.cts +3 -0
- package/d1/migrator.d.mts +3 -0
- package/d1/migrator.d.ts +2 -2
- package/d1/session.d.cts +50 -0
- package/d1/session.d.mts +50 -0
- package/d1/session.d.ts +9 -9
- package/entity.d.cts +7 -0
- package/entity.d.mts +7 -0
- package/errors.d.cts +10 -0
- package/errors.d.mts +10 -0
- package/errors.d.ts +1 -1
- package/expressions.d.cts +1 -0
- package/expressions.d.mts +1 -0
- package/expressions.d.ts +1 -1
- package/{alias-58b7b8c9.cjs → index-b1dbb7ec.cjs} +3071 -3030
- package/index-b1dbb7ec.cjs.map +1 -0
- package/index.cjs +100 -132
- package/index.cjs.map +1 -1
- package/index.d.cts +15 -0
- package/index.d.mts +15 -0
- package/index.d.ts +15 -15
- package/index.mjs +3 -2
- package/index.mjs.map +1 -1
- package/knex/index.d.cts +9 -0
- package/knex/index.d.mts +9 -0
- package/knex/index.d.ts +5 -5
- package/kysely/index.d.cts +16 -0
- package/kysely/index.d.mts +16 -0
- package/kysely/index.d.ts +7 -7
- package/libsql/driver.d.cts +5 -0
- package/libsql/driver.d.mts +5 -0
- package/libsql/driver.d.ts +2 -2
- package/libsql/index.cjs +17 -16
- package/libsql/index.cjs.map +1 -1
- package/libsql/index.d.cts +2 -0
- package/libsql/index.d.mts +2 -0
- package/libsql/index.d.ts +2 -2
- package/libsql/index.mjs +4 -2
- package/libsql/index.mjs.map +1 -1
- package/libsql/migrator.d.cts +3 -0
- package/libsql/migrator.d.mts +3 -0
- package/libsql/migrator.d.ts +2 -2
- package/libsql/session.d.cts +53 -0
- package/libsql/session.d.mts +53 -0
- package/libsql/session.d.ts +9 -9
- package/logger.d.cts +23 -0
- package/logger.d.mts +23 -0
- package/logger.d.ts +1 -1
- package/migrator.d.cts +15 -0
- package/migrator.d.mts +15 -0
- package/mysql-core/alias.d.cts +4 -0
- package/mysql-core/alias.d.mts +4 -0
- package/mysql-core/alias.d.ts +3 -3
- package/mysql-core/checks.d.cts +18 -0
- package/mysql-core/checks.d.mts +18 -0
- package/mysql-core/checks.d.ts +3 -3
- package/mysql-core/columns/bigint.d.cts +43 -0
- package/mysql-core/columns/bigint.d.mts +43 -0
- package/mysql-core/columns/bigint.d.ts +4 -4
- package/mysql-core/columns/binary.d.cts +25 -0
- package/mysql-core/columns/binary.d.mts +25 -0
- package/mysql-core/columns/binary.d.ts +4 -4
- package/mysql-core/columns/boolean.d.cts +22 -0
- package/mysql-core/columns/boolean.d.mts +22 -0
- package/mysql-core/columns/boolean.d.ts +4 -4
- package/mysql-core/columns/char.d.cts +28 -0
- package/mysql-core/columns/char.d.mts +28 -0
- package/mysql-core/columns/char.d.ts +5 -5
- package/mysql-core/columns/common.d.cts +49 -0
- package/mysql-core/columns/common.d.mts +49 -0
- package/mysql-core/columns/common.d.ts +13 -9
- package/mysql-core/columns/custom.d.cts +148 -0
- package/mysql-core/columns/custom.d.mts +148 -0
- package/mysql-core/columns/custom.d.ts +7 -7
- package/mysql-core/columns/date.common.d.cts +16 -0
- package/mysql-core/columns/date.common.d.mts +16 -0
- package/mysql-core/columns/date.common.d.ts +4 -4
- package/mysql-core/columns/date.d.cts +49 -0
- package/mysql-core/columns/date.d.mts +49 -0
- package/mysql-core/columns/date.d.ts +6 -6
- package/mysql-core/columns/datetime.d.cts +53 -0
- package/mysql-core/columns/datetime.d.mts +53 -0
- package/mysql-core/columns/datetime.d.ts +6 -6
- package/mysql-core/columns/decimal.d.cts +27 -0
- package/mysql-core/columns/decimal.d.mts +27 -0
- package/mysql-core/columns/decimal.d.ts +4 -4
- package/mysql-core/columns/double.d.cts +27 -0
- package/mysql-core/columns/double.d.mts +27 -0
- package/mysql-core/columns/double.d.ts +4 -4
- package/mysql-core/columns/enum.d.cts +27 -0
- package/mysql-core/columns/enum.d.mts +27 -0
- package/mysql-core/columns/enum.d.ts +5 -5
- package/mysql-core/columns/float.d.cts +21 -0
- package/mysql-core/columns/float.d.mts +21 -0
- package/mysql-core/columns/float.d.ts +4 -4
- package/mysql-core/columns/index.d.cts +25 -0
- package/mysql-core/columns/index.d.mts +25 -0
- package/mysql-core/columns/index.d.ts +25 -25
- package/mysql-core/columns/int.d.cts +22 -0
- package/mysql-core/columns/int.d.mts +22 -0
- package/mysql-core/columns/int.d.ts +4 -4
- package/mysql-core/columns/json.d.cts +22 -0
- package/mysql-core/columns/json.d.mts +22 -0
- package/mysql-core/columns/json.d.ts +4 -4
- package/mysql-core/columns/mediumint.d.cts +22 -0
- package/mysql-core/columns/mediumint.d.mts +22 -0
- package/mysql-core/columns/mediumint.d.ts +4 -4
- package/mysql-core/columns/real.d.cts +27 -0
- package/mysql-core/columns/real.d.mts +27 -0
- package/mysql-core/columns/real.d.ts +4 -4
- package/mysql-core/columns/serial.d.cts +22 -0
- package/mysql-core/columns/serial.d.mts +22 -0
- package/mysql-core/columns/serial.d.ts +4 -4
- package/mysql-core/columns/smallint.d.cts +22 -0
- package/mysql-core/columns/smallint.d.mts +22 -0
- package/mysql-core/columns/smallint.d.ts +4 -4
- package/mysql-core/columns/text.d.cts +37 -0
- package/mysql-core/columns/text.d.mts +37 -0
- package/mysql-core/columns/text.d.ts +5 -5
- package/mysql-core/columns/time.d.cts +25 -0
- package/mysql-core/columns/time.d.mts +25 -0
- package/mysql-core/columns/time.d.ts +4 -4
- package/mysql-core/columns/timestamp.d.cts +47 -0
- package/mysql-core/columns/timestamp.d.mts +47 -0
- package/mysql-core/columns/timestamp.d.ts +5 -5
- package/mysql-core/columns/tinyint.d.cts +22 -0
- package/mysql-core/columns/tinyint.d.mts +22 -0
- package/mysql-core/columns/tinyint.d.ts +4 -4
- package/mysql-core/columns/varbinary.d.cts +24 -0
- package/mysql-core/columns/varbinary.d.mts +24 -0
- package/mysql-core/columns/varbinary.d.ts +4 -4
- package/mysql-core/columns/varchar.d.cts +27 -0
- package/mysql-core/columns/varchar.d.mts +27 -0
- package/mysql-core/columns/varchar.d.ts +5 -5
- package/mysql-core/columns/year.d.cts +21 -0
- package/mysql-core/columns/year.d.mts +21 -0
- package/mysql-core/columns/year.d.ts +4 -4
- package/mysql-core/db.d.cts +55 -0
- package/mysql-core/db.d.mts +55 -0
- package/mysql-core/db.d.ts +14 -14
- package/mysql-core/dialect.d.cts +59 -0
- package/mysql-core/dialect.d.mts +59 -0
- package/mysql-core/dialect.d.ts +12 -12
- package/mysql-core/expressions.d.cts +8 -0
- package/mysql-core/expressions.d.mts +8 -0
- package/mysql-core/expressions.d.ts +3 -3
- package/mysql-core/foreign-keys.d.cts +48 -0
- package/mysql-core/foreign-keys.d.mts +48 -0
- package/mysql-core/foreign-keys.d.ts +3 -3
- package/mysql-core/index.cjs +156 -1028
- package/mysql-core/index.cjs.map +1 -1
- package/mysql-core/index.d.cts +16 -0
- package/mysql-core/index.d.mts +16 -0
- package/mysql-core/index.d.ts +16 -16
- package/mysql-core/index.mjs +37 -36
- package/mysql-core/index.mjs.map +1 -1
- package/mysql-core/indexes.d.cts +59 -0
- package/mysql-core/indexes.d.mts +59 -0
- package/mysql-core/indexes.d.ts +4 -4
- package/mysql-core/primary-keys.d.cts +17 -0
- package/mysql-core/primary-keys.d.mts +17 -0
- package/mysql-core/primary-keys.d.ts +3 -3
- package/mysql-core/query-builders/delete.d.cts +39 -0
- package/mysql-core/query-builders/delete.d.mts +39 -0
- package/mysql-core/query-builders/delete.d.ts +9 -9
- package/mysql-core/query-builders/index.d.cts +6 -0
- package/mysql-core/query-builders/index.d.mts +6 -0
- package/mysql-core/query-builders/index.d.ts +6 -6
- package/mysql-core/query-builders/insert.d.cts +59 -0
- package/mysql-core/query-builders/insert.d.mts +59 -0
- package/mysql-core/query-builders/insert.d.ts +11 -11
- package/mysql-core/query-builders/query-builder.d.cts +29 -0
- package/mysql-core/query-builders/query-builder.d.mts +29 -0
- package/mysql-core/query-builders/query-builder.d.ts +7 -7
- package/mysql-core/query-builders/query.d.cts +44 -0
- package/mysql-core/query-builders/query.d.mts +44 -0
- package/mysql-core/query-builders/query.d.ts +9 -9
- package/mysql-core/query-builders/select.d.cts +92 -0
- package/mysql-core/query-builders/select.d.mts +92 -0
- package/mysql-core/query-builders/select.d.ts +17 -17
- package/mysql-core/query-builders/select.types.d.cts +77 -0
- package/mysql-core/query-builders/select.types.d.mts +77 -0
- package/mysql-core/query-builders/select.types.d.ts +12 -12
- package/mysql-core/query-builders/update.d.cts +54 -0
- package/mysql-core/query-builders/update.d.mts +54 -0
- package/mysql-core/query-builders/update.d.ts +11 -11
- package/mysql-core/schema.d.cts +24 -0
- package/mysql-core/schema.d.mts +24 -0
- package/mysql-core/schema.d.ts +3 -3
- package/mysql-core/session.d.cts +63 -0
- package/mysql-core/session.d.mts +63 -0
- package/mysql-core/session.d.ts +7 -7
- package/mysql-core/subquery.d.cts +6 -0
- package/mysql-core/subquery.d.mts +6 -0
- package/mysql-core/subquery.d.ts +4 -4
- package/mysql-core/table.d.cts +35 -0
- package/mysql-core/table.d.mts +35 -0
- package/mysql-core/table.d.ts +11 -11
- package/mysql-core/unique-constraint.d.cts +24 -0
- package/mysql-core/unique-constraint.d.mts +24 -0
- package/mysql-core/unique-constraint.d.ts +3 -3
- package/mysql-core/utils.d.cts +32 -0
- package/mysql-core/utils.d.mts +32 -0
- package/mysql-core/utils.d.ts +11 -11
- package/mysql-core/view.d.cts +73 -0
- package/mysql-core/view.d.mts +73 -0
- package/mysql-core/view.d.ts +11 -11
- package/mysql2/driver.d.cts +31 -0
- package/mysql2/driver.d.mts +31 -0
- package/mysql2/driver.d.ts +10 -10
- package/mysql2/index.cjs +29 -27
- package/mysql2/index.cjs.map +1 -1
- package/mysql2/index.d.cts +2 -0
- package/mysql2/index.d.mts +2 -0
- package/mysql2/index.d.ts +2 -2
- package/mysql2/index.mjs +5 -2
- package/mysql2/index.mjs.map +1 -1
- package/mysql2/migrator.d.cts +3 -0
- package/mysql2/migrator.d.mts +3 -0
- package/mysql2/migrator.d.ts +2 -2
- package/mysql2/session.d.cts +52 -0
- package/mysql2/session.d.mts +52 -0
- package/mysql2/session.d.ts +8 -8
- package/neon-http/driver.d.cts +21 -0
- package/neon-http/driver.d.mts +21 -0
- package/neon-http/driver.d.ts +7 -7
- package/neon-http/index.cjs +16 -16
- package/neon-http/index.d.cts +2 -0
- package/neon-http/index.d.mts +2 -0
- package/neon-http/index.d.ts +2 -2
- package/neon-http/index.mjs +3 -2
- package/neon-http/index.mjs.map +1 -1
- package/neon-http/migrator.cjs +9 -6
- package/neon-http/migrator.cjs.map +1 -1
- package/neon-http/migrator.d.cts +11 -0
- package/neon-http/migrator.d.mts +11 -0
- package/neon-http/migrator.d.ts +2 -2
- package/neon-http/migrator.mjs +3 -1
- package/neon-http/migrator.mjs.map +1 -1
- package/neon-http/session.d.cts +55 -0
- package/neon-http/session.d.mts +55 -0
- package/neon-http/session.d.ts +10 -10
- package/neon-serverless/driver.d.cts +22 -0
- package/neon-serverless/driver.d.mts +22 -0
- package/neon-serverless/driver.d.ts +8 -8
- package/neon-serverless/index.cjs +22 -22
- package/neon-serverless/index.d.cts +2 -0
- package/neon-serverless/index.d.mts +2 -0
- package/neon-serverless/index.d.ts +2 -2
- package/neon-serverless/index.mjs +3 -2
- package/neon-serverless/index.mjs.map +1 -1
- package/neon-serverless/migrator.d.cts +3 -0
- package/neon-serverless/migrator.d.mts +3 -0
- package/neon-serverless/migrator.d.ts +2 -2
- package/neon-serverless/session.d.cts +48 -0
- package/neon-serverless/session.d.mts +48 -0
- package/neon-serverless/session.d.ts +10 -10
- package/node-postgres/driver.d.cts +22 -0
- package/node-postgres/driver.d.mts +22 -0
- package/node-postgres/driver.d.ts +8 -8
- package/node-postgres/index.cjs +27 -27
- package/node-postgres/index.d.cts +2 -0
- package/node-postgres/index.d.mts +2 -0
- package/node-postgres/index.d.ts +2 -2
- package/node-postgres/index.mjs +3 -2
- package/node-postgres/index.mjs.map +1 -1
- package/node-postgres/migrator.d.cts +3 -0
- package/node-postgres/migrator.d.mts +3 -0
- package/node-postgres/migrator.d.ts +2 -2
- package/node-postgres/session.d.cts +46 -0
- package/node-postgres/session.d.mts +46 -0
- package/node-postgres/session.d.ts +10 -10
- package/operations.d.cts +15 -0
- package/operations.d.mts +15 -0
- package/operations.d.ts +3 -3
- package/package.json +291 -74
- package/pg-core/alias.d.cts +4 -0
- package/pg-core/alias.d.mts +4 -0
- package/pg-core/alias.d.ts +3 -3
- package/pg-core/checks.d.cts +18 -0
- package/pg-core/checks.d.mts +18 -0
- package/pg-core/checks.d.ts +3 -3
- package/pg-core/columns/array.d.cts +26 -0
- package/pg-core/columns/array.d.mts +26 -0
- package/pg-core/columns/array.d.ts +5 -5
- package/pg-core/columns/bigint.d.cts +43 -0
- package/pg-core/columns/bigint.d.mts +43 -0
- package/pg-core/columns/bigint.d.ts +4 -4
- package/pg-core/columns/bigserial.d.cts +43 -0
- package/pg-core/columns/bigserial.d.mts +43 -0
- package/pg-core/columns/bigserial.d.ts +4 -4
- package/pg-core/columns/boolean.d.cts +21 -0
- package/pg-core/columns/boolean.d.mts +21 -0
- package/pg-core/columns/boolean.d.ts +4 -4
- package/pg-core/columns/char.d.cts +34 -0
- package/pg-core/columns/char.d.mts +34 -0
- package/pg-core/columns/char.d.ts +5 -5
- package/pg-core/columns/cidr.d.cts +21 -0
- package/pg-core/columns/cidr.d.mts +21 -0
- package/pg-core/columns/cidr.d.ts +4 -4
- package/pg-core/columns/common.d.cts +54 -0
- package/pg-core/columns/common.d.mts +54 -0
- package/pg-core/columns/common.d.ts +15 -13
- package/pg-core/columns/custom.d.cts +148 -0
- package/pg-core/columns/custom.d.mts +148 -0
- package/pg-core/columns/custom.d.ts +7 -7
- package/pg-core/columns/date.common.d.cts +7 -0
- package/pg-core/columns/date.common.d.mts +7 -0
- package/pg-core/columns/date.common.d.ts +4 -4
- package/pg-core/columns/date.d.cts +45 -0
- package/pg-core/columns/date.d.mts +45 -0
- package/pg-core/columns/date.d.ts +5 -5
- package/pg-core/columns/double-precision.d.cts +22 -0
- package/pg-core/columns/double-precision.d.mts +22 -0
- package/pg-core/columns/double-precision.d.ts +4 -4
- package/pg-core/columns/enum.d.cts +42 -0
- package/pg-core/columns/enum.d.mts +42 -0
- package/pg-core/columns/enum.d.ts +6 -6
- package/pg-core/columns/index.d.cts +28 -0
- package/pg-core/columns/index.d.mts +28 -0
- package/pg-core/columns/index.d.ts +28 -28
- package/pg-core/columns/inet.d.cts +21 -0
- package/pg-core/columns/inet.d.mts +21 -0
- package/pg-core/columns/inet.d.ts +4 -4
- package/pg-core/columns/integer.d.cts +23 -0
- package/pg-core/columns/integer.d.mts +23 -0
- package/pg-core/columns/integer.d.ts +4 -4
- package/pg-core/columns/interval.d.cts +32 -0
- package/pg-core/columns/interval.d.mts +32 -0
- package/pg-core/columns/interval.d.ts +5 -5
- package/pg-core/columns/json.d.cts +27 -0
- package/pg-core/columns/json.d.mts +27 -0
- package/pg-core/columns/json.d.ts +5 -5
- package/pg-core/columns/jsonb.d.cts +27 -0
- package/pg-core/columns/jsonb.d.mts +27 -0
- package/pg-core/columns/jsonb.d.ts +5 -5
- package/pg-core/columns/macaddr.d.cts +21 -0
- package/pg-core/columns/macaddr.d.mts +21 -0
- package/pg-core/columns/macaddr.d.ts +4 -4
- package/pg-core/columns/macaddr8.d.cts +21 -0
- package/pg-core/columns/macaddr8.d.mts +21 -0
- package/pg-core/columns/macaddr8.d.ts +4 -4
- package/pg-core/columns/numeric.d.cts +40 -0
- package/pg-core/columns/numeric.d.mts +40 -0
- package/pg-core/columns/numeric.d.ts +5 -5
- package/pg-core/columns/real.d.cts +28 -0
- package/pg-core/columns/real.d.mts +28 -0
- package/pg-core/columns/real.d.ts +5 -5
- package/pg-core/columns/serial.d.cts +21 -0
- package/pg-core/columns/serial.d.mts +21 -0
- package/pg-core/columns/serial.d.ts +4 -4
- package/pg-core/columns/smallint.d.cts +22 -0
- package/pg-core/columns/smallint.d.mts +22 -0
- package/pg-core/columns/smallint.d.ts +4 -4
- package/pg-core/columns/smallserial.d.cts +21 -0
- package/pg-core/columns/smallserial.d.mts +21 -0
- package/pg-core/columns/smallserial.d.ts +4 -4
- package/pg-core/columns/text.d.cts +31 -0
- package/pg-core/columns/text.d.mts +31 -0
- package/pg-core/columns/text.d.ts +5 -5
- package/pg-core/columns/time.d.cts +38 -0
- package/pg-core/columns/time.d.mts +38 -0
- package/pg-core/columns/time.d.ts +7 -7
- package/pg-core/columns/timestamp.d.cts +64 -0
- package/pg-core/columns/timestamp.d.mts +64 -0
- package/pg-core/columns/timestamp.d.ts +7 -7
- package/pg-core/columns/uuid.d.cts +25 -0
- package/pg-core/columns/uuid.d.mts +25 -0
- package/pg-core/columns/uuid.d.ts +4 -4
- package/pg-core/columns/varchar.d.cts +34 -0
- package/pg-core/columns/varchar.d.mts +34 -0
- package/pg-core/columns/varchar.d.ts +5 -5
- package/pg-core/db.d.cts +53 -0
- package/pg-core/db.d.mts +53 -0
- package/pg-core/db.d.ts +17 -17
- package/pg-core/dialect.d.cts +53 -0
- package/pg-core/dialect.d.mts +53 -0
- package/pg-core/dialect.d.ts +11 -11
- package/pg-core/expressions.d.cts +8 -0
- package/pg-core/expressions.d.mts +8 -0
- package/pg-core/expressions.d.ts +3 -3
- package/pg-core/foreign-keys.d.cts +45 -0
- package/pg-core/foreign-keys.d.mts +45 -0
- package/pg-core/foreign-keys.d.ts +3 -3
- package/pg-core/index.cjs +158 -157
- package/pg-core/index.cjs.map +1 -1
- package/pg-core/index.d.cts +16 -0
- package/pg-core/index.d.mts +16 -0
- package/pg-core/index.d.ts +16 -16
- package/pg-core/index.mjs +8 -7
- package/pg-core/index.mjs.map +1 -1
- package/pg-core/indexes.d.cts +72 -0
- package/pg-core/indexes.d.mts +72 -0
- package/pg-core/indexes.d.ts +4 -4
- package/pg-core/primary-keys.d.cts +17 -0
- package/pg-core/primary-keys.d.mts +17 -0
- package/pg-core/primary-keys.d.ts +3 -3
- package/pg-core/query-builders/delete.d.cts +35 -0
- package/pg-core/query-builders/delete.d.mts +35 -0
- package/pg-core/query-builders/delete.d.ts +9 -9
- package/pg-core/query-builders/index.d.cts +7 -0
- package/pg-core/query-builders/index.d.mts +7 -0
- package/pg-core/query-builders/index.d.ts +7 -7
- package/pg-core/query-builders/insert.d.cts +63 -0
- package/pg-core/query-builders/insert.d.mts +63 -0
- package/pg-core/query-builders/insert.d.ts +12 -12
- package/pg-core/query-builders/query-builder.d.cts +37 -0
- package/pg-core/query-builders/query-builder.d.mts +37 -0
- package/pg-core/query-builders/query-builder.d.ts +9 -9
- package/pg-core/query-builders/query.d.cts +39 -0
- package/pg-core/query-builders/query.d.mts +39 -0
- package/pg-core/query-builders/query.d.ts +7 -7
- package/pg-core/query-builders/refresh-materialized-view.d.cts +26 -0
- package/pg-core/query-builders/refresh-materialized-view.d.mts +26 -0
- package/pg-core/query-builders/refresh-materialized-view.d.ts +6 -6
- package/pg-core/query-builders/select.d.cts +211 -0
- package/pg-core/query-builders/select.d.mts +211 -0
- package/pg-core/query-builders/select.d.ts +15 -15
- package/pg-core/query-builders/select.types.d.cts +79 -0
- package/pg-core/query-builders/select.types.d.mts +79 -0
- package/pg-core/query-builders/select.types.d.ts +11 -11
- package/pg-core/query-builders/update.d.cts +53 -0
- package/pg-core/query-builders/update.d.mts +53 -0
- package/pg-core/query-builders/update.d.ts +11 -11
- package/pg-core/schema.d.cts +13 -0
- package/pg-core/schema.d.mts +13 -0
- package/pg-core/schema.d.ts +3 -3
- package/pg-core/session.d.cts +54 -0
- package/pg-core/session.d.mts +54 -0
- package/pg-core/session.d.ts +6 -6
- package/pg-core/subquery.d.cts +5 -0
- package/pg-core/subquery.d.mts +5 -0
- package/pg-core/subquery.d.ts +3 -3
- package/pg-core/table.d.cts +28 -0
- package/pg-core/table.d.mts +28 -0
- package/pg-core/table.d.ts +10 -10
- package/pg-core/unique-constraint.d.cts +25 -0
- package/pg-core/unique-constraint.d.mts +25 -0
- package/pg-core/unique-constraint.d.ts +3 -3
- package/pg-core/utils.d.cts +52 -0
- package/pg-core/utils.d.mts +52 -0
- package/pg-core/utils.d.ts +16 -16
- package/pg-core/view.d.cts +143 -0
- package/pg-core/view.d.mts +143 -0
- package/pg-core/view.d.ts +13 -13
- package/planetscale-serverless/driver.d.cts +10 -0
- package/planetscale-serverless/driver.d.mts +10 -0
- package/planetscale-serverless/driver.d.ts +4 -4
- package/planetscale-serverless/index.cjs +18 -18
- package/planetscale-serverless/index.cjs.map +1 -1
- package/planetscale-serverless/index.d.cts +2 -0
- package/planetscale-serverless/index.d.mts +2 -0
- package/planetscale-serverless/index.d.ts +2 -2
- package/planetscale-serverless/index.mjs +3 -2
- package/planetscale-serverless/index.mjs.map +1 -1
- package/planetscale-serverless/migrator.d.cts +3 -0
- package/planetscale-serverless/migrator.d.mts +3 -0
- package/planetscale-serverless/migrator.d.ts +2 -2
- package/planetscale-serverless/session.d.cts +52 -0
- package/planetscale-serverless/session.d.mts +52 -0
- package/planetscale-serverless/session.d.ts +8 -8
- package/postgres-js/driver.d.cts +6 -0
- package/postgres-js/driver.d.mts +6 -0
- package/postgres-js/driver.d.ts +3 -3
- package/postgres-js/index.cjs +20 -20
- package/postgres-js/index.d.cts +2 -0
- package/postgres-js/index.d.mts +2 -0
- package/postgres-js/index.d.ts +2 -2
- package/postgres-js/index.mjs +3 -2
- package/postgres-js/index.mjs.map +1 -1
- package/postgres-js/migrator.d.cts +3 -0
- package/postgres-js/migrator.d.mts +3 -0
- package/postgres-js/migrator.d.ts +2 -2
- package/postgres-js/session.d.cts +49 -0
- package/postgres-js/session.d.mts +49 -0
- package/postgres-js/session.d.ts +10 -10
- package/primary-key.d.cts +10 -0
- package/primary-key.d.mts +10 -0
- package/primary-key.d.ts +3 -3
- package/query-builders/query-builder.d.cts +10 -0
- package/query-builders/query-builder.d.mts +10 -0
- package/query-builders/query-builder.d.ts +2 -2
- package/query-builders/select.types.d.cts +56 -0
- package/query-builders/select.types.d.mts +56 -0
- package/query-builders/select.types.d.ts +8 -8
- package/query-promise.d.cts +9 -0
- package/query-promise.d.mts +9 -0
- package/query-promise.d.ts +1 -1
- package/relations.d.cts +189 -0
- package/relations.d.mts +189 -0
- package/relations.d.ts +10 -10
- package/{session-775da517.mjs → session-a0c900ab.mjs} +5 -3
- package/session-a0c900ab.mjs.map +1 -0
- package/{session-e7fcd577.mjs → session-a706e83f.mjs} +3 -2
- package/session-a706e83f.mjs.map +1 -0
- package/{session-f61b6e4d.cjs → session-fadbb086.cjs} +239 -239
- package/session-fadbb086.cjs.map +1 -0
- package/sql/expressions/conditions.d.cts +393 -0
- package/sql/expressions/conditions.d.mts +393 -0
- package/sql/expressions/conditions.d.ts +2 -2
- package/sql/expressions/index.d.cts +2 -0
- package/sql/expressions/index.d.mts +2 -0
- package/sql/expressions/index.d.ts +2 -2
- package/sql/expressions/select.d.cts +38 -0
- package/sql/expressions/select.d.mts +38 -0
- package/sql/expressions/select.d.ts +2 -2
- package/sql/index.d.cts +191 -0
- package/sql/index.d.mts +191 -0
- package/sql/index.d.ts +7 -7
- package/sql-js/driver.d.cts +5 -0
- package/sql-js/driver.d.mts +5 -0
- package/sql-js/driver.d.ts +2 -2
- package/sql-js/index.cjs +19 -19
- package/sql-js/index.d.cts +2 -0
- package/sql-js/index.d.mts +2 -0
- package/sql-js/index.d.ts +2 -2
- package/sql-js/index.mjs +3 -2
- package/sql-js/index.mjs.map +1 -1
- package/sql-js/migrator.d.cts +3 -0
- package/sql-js/migrator.d.mts +3 -0
- package/sql-js/migrator.d.ts +2 -2
- package/sql-js/session.d.cts +52 -0
- package/sql-js/session.d.mts +52 -0
- package/sql-js/session.d.ts +9 -9
- package/sqlite-core/alias.d.cts +4 -0
- package/sqlite-core/alias.d.mts +4 -0
- package/sqlite-core/alias.d.ts +3 -3
- package/sqlite-core/checks.d.cts +22 -0
- package/sqlite-core/checks.d.mts +22 -0
- package/sqlite-core/checks.d.ts +3 -3
- package/sqlite-core/columns/blob.d.cts +65 -0
- package/sqlite-core/columns/blob.d.mts +65 -0
- package/sqlite-core/columns/blob.d.ts +6 -6
- package/sqlite-core/columns/common.d.cts +35 -0
- package/sqlite-core/columns/common.d.mts +35 -0
- package/sqlite-core/columns/common.d.ts +14 -12
- package/sqlite-core/columns/custom.d.cts +148 -0
- package/sqlite-core/columns/custom.d.mts +148 -0
- package/sqlite-core/columns/custom.d.ts +7 -7
- package/sqlite-core/columns/index.d.cts +7 -0
- package/sqlite-core/columns/index.d.mts +7 -0
- package/sqlite-core/columns/index.d.ts +7 -7
- package/sqlite-core/columns/integer.d.cts +106 -0
- package/sqlite-core/columns/integer.d.mts +106 -0
- package/sqlite-core/columns/integer.d.ts +7 -7
- package/sqlite-core/columns/numeric.d.cts +21 -0
- package/sqlite-core/columns/numeric.d.mts +21 -0
- package/sqlite-core/columns/numeric.d.ts +4 -4
- package/sqlite-core/columns/real.d.cts +21 -0
- package/sqlite-core/columns/real.d.mts +21 -0
- package/sqlite-core/columns/real.d.ts +4 -4
- package/sqlite-core/columns/text.d.cts +38 -0
- package/sqlite-core/columns/text.d.mts +38 -0
- package/sqlite-core/columns/text.d.ts +6 -6
- package/sqlite-core/db.d.cts +57 -0
- package/sqlite-core/db.d.mts +57 -0
- package/sqlite-core/db.d.ts +14 -14
- package/sqlite-core/dialect.d.cts +53 -0
- package/sqlite-core/dialect.d.mts +53 -0
- package/sqlite-core/dialect.d.ts +10 -10
- package/sqlite-core/expressions.d.cts +9 -0
- package/sqlite-core/expressions.d.mts +9 -0
- package/sqlite-core/expressions.d.ts +3 -3
- package/sqlite-core/foreign-keys.d.cts +48 -0
- package/sqlite-core/foreign-keys.d.mts +48 -0
- package/sqlite-core/foreign-keys.d.ts +3 -3
- package/sqlite-core/index.cjs +11 -11
- package/sqlite-core/index.cjs.map +1 -1
- package/sqlite-core/index.d.cts +15 -0
- package/sqlite-core/index.d.mts +15 -0
- package/sqlite-core/index.d.ts +15 -15
- package/sqlite-core/index.mjs +4 -3
- package/sqlite-core/index.mjs.map +1 -1
- package/sqlite-core/indexes.d.cts +41 -0
- package/sqlite-core/indexes.d.mts +41 -0
- package/sqlite-core/indexes.d.ts +4 -4
- package/sqlite-core/primary-keys.d.cts +20 -0
- package/sqlite-core/primary-keys.d.mts +20 -0
- package/sqlite-core/primary-keys.d.ts +3 -3
- package/sqlite-core/query-builders/delete.d.cts +42 -0
- package/sqlite-core/query-builders/delete.d.mts +42 -0
- package/sqlite-core/query-builders/delete.d.ts +10 -10
- package/sqlite-core/query-builders/index.d.cts +6 -0
- package/sqlite-core/query-builders/index.d.mts +6 -0
- package/sqlite-core/query-builders/index.d.ts +6 -6
- package/sqlite-core/query-builders/insert.d.cts +74 -0
- package/sqlite-core/query-builders/insert.d.mts +74 -0
- package/sqlite-core/query-builders/insert.d.ts +13 -13
- package/sqlite-core/query-builders/query-builder.d.cts +29 -0
- package/sqlite-core/query-builders/query-builder.d.mts +29 -0
- package/sqlite-core/query-builders/query-builder.d.ts +7 -7
- package/sqlite-core/query-builders/query.d.cts +47 -0
- package/sqlite-core/query-builders/query.d.mts +47 -0
- package/sqlite-core/query-builders/query.d.ts +7 -7
- package/sqlite-core/query-builders/select.d.cts +94 -0
- package/sqlite-core/query-builders/select.d.mts +94 -0
- package/sqlite-core/query-builders/select.d.ts +15 -15
- package/sqlite-core/query-builders/select.types.d.cts +63 -0
- package/sqlite-core/query-builders/select.types.d.mts +63 -0
- package/sqlite-core/query-builders/select.types.d.ts +11 -11
- package/sqlite-core/query-builders/update.d.cts +63 -0
- package/sqlite-core/query-builders/update.d.mts +63 -0
- package/sqlite-core/query-builders/update.d.ts +11 -11
- package/sqlite-core/session.d.cts +91 -0
- package/sqlite-core/session.d.mts +91 -0
- package/sqlite-core/session.d.ts +7 -7
- package/sqlite-core/subquery.d.cts +5 -0
- package/sqlite-core/subquery.d.mts +5 -0
- package/sqlite-core/subquery.d.ts +3 -3
- package/sqlite-core/table.d.cts +28 -0
- package/sqlite-core/table.d.mts +28 -0
- package/sqlite-core/table.d.ts +10 -10
- package/sqlite-core/unique-constraint.d.cts +23 -0
- package/sqlite-core/unique-constraint.d.mts +23 -0
- package/sqlite-core/unique-constraint.d.ts +3 -3
- package/sqlite-core/utils.d.cts +31 -0
- package/sqlite-core/utils.d.mts +31 -0
- package/sqlite-core/utils.d.ts +11 -11
- package/sqlite-core/view.d.cts +67 -0
- package/sqlite-core/view.d.mts +67 -0
- package/sqlite-core/view.d.ts +11 -11
- package/sqlite-proxy/driver.d.cts +11 -0
- package/sqlite-proxy/driver.d.mts +11 -0
- package/sqlite-proxy/driver.d.ts +2 -2
- package/sqlite-proxy/index.cjs +19 -19
- package/sqlite-proxy/index.d.cts +2 -0
- package/sqlite-proxy/index.d.mts +2 -0
- package/sqlite-proxy/index.d.ts +2 -2
- package/sqlite-proxy/index.mjs +3 -2
- package/sqlite-proxy/index.mjs.map +1 -1
- package/sqlite-proxy/migrator.cjs +4 -3
- package/sqlite-proxy/migrator.cjs.map +1 -1
- package/sqlite-proxy/migrator.d.cts +4 -0
- package/sqlite-proxy/migrator.d.mts +4 -0
- package/sqlite-proxy/migrator.d.ts +2 -2
- package/sqlite-proxy/migrator.mjs +2 -1
- package/sqlite-proxy/migrator.mjs.map +1 -1
- package/sqlite-proxy/session.d.cts +48 -0
- package/sqlite-proxy/session.d.mts +48 -0
- package/sqlite-proxy/session.d.ts +10 -10
- package/subquery.d.cts +23 -0
- package/subquery.d.mts +23 -0
- package/subquery.d.ts +3 -3
- package/table.d.cts +63 -0
- package/table.d.mts +63 -0
- package/table.d.ts +8 -8
- package/tracing.d.cts +1 -0
- package/tracing.d.mts +1 -0
- package/utils.d.cts +45 -0
- package/utils.d.mts +45 -0
- package/utils.d.ts +4 -4
- package/vercel-postgres/driver.d.cts +21 -0
- package/vercel-postgres/driver.d.mts +21 -0
- package/vercel-postgres/driver.d.ts +7 -7
- package/vercel-postgres/index.cjs +22 -22
- package/vercel-postgres/index.d.cts +2 -0
- package/vercel-postgres/index.d.mts +2 -0
- package/vercel-postgres/index.d.ts +2 -2
- package/vercel-postgres/index.mjs +3 -2
- package/vercel-postgres/index.mjs.map +1 -1
- package/vercel-postgres/migrator.d.cts +3 -0
- package/vercel-postgres/migrator.d.mts +3 -0
- package/vercel-postgres/migrator.d.ts +2 -2
- package/vercel-postgres/session.d.cts +47 -0
- package/vercel-postgres/session.d.mts +47 -0
- package/vercel-postgres/session.d.ts +9 -9
- package/version.cjs +1 -1
- package/version.d.cts +2 -0
- package/version.d.mts +2 -0
- package/version.mjs +1 -1
- package/{session-9eb850c1.mjs → view-ba779eb7.mjs} +171 -169
- package/view-ba779eb7.mjs.map +1 -0
- package/{session-690cd067.cjs → view-e96fe3b6.cjs} +1400 -445
- package/view-e96fe3b6.cjs.map +1 -0
- package/view.d.cts +24 -0
- package/view.d.mts +24 -0
- package/view.d.ts +5 -5
- package/alias-58b7b8c9.cjs.map +0 -1
- package/alias-d302772a.mjs.map +0 -1
- package/session-690cd067.cjs.map +0 -1
- package/session-775da517.mjs.map +0 -1
- package/session-9eb850c1.mjs.map +0 -1
- package/session-e7fcd577.mjs.map +0 -1
- package/session-f61b6e4d.cjs.map +0 -1
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import type { ColumnBuilderBaseConfig } from '../../column-builder.js';
|
|
2
|
+
import type { ColumnBaseConfig } from '../../column.js';
|
|
3
|
+
import { entityKind } from '../../entity.js';
|
|
4
|
+
import type { AnyPgTable } from '../table.js';
|
|
5
|
+
import type { SQL } from '../../sql/index.js';
|
|
6
|
+
import { type Equal } from '../../utils.js';
|
|
7
|
+
import { PgColumn, PgColumnBuilder } from './common.js';
|
|
8
|
+
export type ConvertCustomConfig<TName extends string, T extends Partial<CustomTypeValues>> = {
|
|
9
|
+
name: TName;
|
|
10
|
+
dataType: 'custom';
|
|
11
|
+
columnType: 'PgCustomColumn';
|
|
12
|
+
data: T['data'];
|
|
13
|
+
driverParam: T['driverData'];
|
|
14
|
+
enumValues: undefined;
|
|
15
|
+
} & (T['notNull'] extends true ? {
|
|
16
|
+
notNull: true;
|
|
17
|
+
} : {}) & (T['default'] extends true ? {
|
|
18
|
+
hasDefault: true;
|
|
19
|
+
} : {});
|
|
20
|
+
export interface PgCustomColumnInnerConfig {
|
|
21
|
+
customTypeValues: CustomTypeValues;
|
|
22
|
+
}
|
|
23
|
+
export declare class PgCustomColumnBuilder<T extends ColumnBuilderBaseConfig<'custom', 'PgCustomColumn'>> extends PgColumnBuilder<T, {
|
|
24
|
+
fieldConfig: CustomTypeValues['config'];
|
|
25
|
+
customTypeParams: CustomTypeParams<any>;
|
|
26
|
+
}, {
|
|
27
|
+
pgColumnBuilderBrand: 'PgCustomColumnBuilderBrand';
|
|
28
|
+
}> {
|
|
29
|
+
static readonly [entityKind]: string;
|
|
30
|
+
constructor(name: T['name'], fieldConfig: CustomTypeValues['config'], customTypeParams: CustomTypeParams<any>);
|
|
31
|
+
}
|
|
32
|
+
export declare class PgCustomColumn<T extends ColumnBaseConfig<'custom', 'PgCustomColumn'>> extends PgColumn<T> {
|
|
33
|
+
static readonly [entityKind]: string;
|
|
34
|
+
private sqlName;
|
|
35
|
+
private mapTo?;
|
|
36
|
+
private mapFrom?;
|
|
37
|
+
constructor(table: AnyPgTable<{
|
|
38
|
+
name: T['tableName'];
|
|
39
|
+
}>, config: PgCustomColumnBuilder<T>['config']);
|
|
40
|
+
getSQLType(): string;
|
|
41
|
+
mapFromDriverValue(value: T['driverParam']): T['data'];
|
|
42
|
+
mapToDriverValue(value: T['data']): T['driverParam'];
|
|
43
|
+
}
|
|
44
|
+
export type CustomTypeValues = {
|
|
45
|
+
/**
|
|
46
|
+
* Required type for custom column, that will infer proper type model
|
|
47
|
+
*
|
|
48
|
+
* Examples:
|
|
49
|
+
*
|
|
50
|
+
* If you want your column to be `string` type after selecting/or on inserting - use `data: string`. Like `text`, `varchar`
|
|
51
|
+
*
|
|
52
|
+
* If you want your column to be `number` type after selecting/or on inserting - use `data: number`. Like `integer`
|
|
53
|
+
*/
|
|
54
|
+
data: unknown;
|
|
55
|
+
/**
|
|
56
|
+
* Type helper, that represents what type database driver is accepting for specific database data type
|
|
57
|
+
*/
|
|
58
|
+
driverData?: unknown;
|
|
59
|
+
/**
|
|
60
|
+
* What config type should be used for {@link CustomTypeParams} `dataType` generation
|
|
61
|
+
*/
|
|
62
|
+
config?: unknown;
|
|
63
|
+
/**
|
|
64
|
+
* Whether the config argument should be required or not
|
|
65
|
+
* @default false
|
|
66
|
+
*/
|
|
67
|
+
configRequired?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* If your custom data type should be notNull by default you can use `notNull: true`
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* const customSerial = customType<{ data: number, notNull: true, default: true }>({
|
|
73
|
+
* dataType() {
|
|
74
|
+
* return 'serial';
|
|
75
|
+
* },
|
|
76
|
+
* });
|
|
77
|
+
*/
|
|
78
|
+
notNull?: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* If your custom data type has default you can use `default: true`
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* const customSerial = customType<{ data: number, notNull: true, default: true }>({
|
|
84
|
+
* dataType() {
|
|
85
|
+
* return 'serial';
|
|
86
|
+
* },
|
|
87
|
+
* });
|
|
88
|
+
*/
|
|
89
|
+
default?: boolean;
|
|
90
|
+
};
|
|
91
|
+
export interface CustomTypeParams<T extends CustomTypeValues> {
|
|
92
|
+
/**
|
|
93
|
+
* Database data type string representation, that is used for migrations
|
|
94
|
+
* @example
|
|
95
|
+
* ```
|
|
96
|
+
* `jsonb`, `text`
|
|
97
|
+
* ```
|
|
98
|
+
*
|
|
99
|
+
* If database data type needs additional params you can use them from `config` param
|
|
100
|
+
* @example
|
|
101
|
+
* ```
|
|
102
|
+
* `varchar(256)`, `numeric(2,3)`
|
|
103
|
+
* ```
|
|
104
|
+
*
|
|
105
|
+
* To make `config` be of specific type please use config generic in {@link CustomTypeValues}
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* Usage example
|
|
109
|
+
* ```
|
|
110
|
+
* dataType() {
|
|
111
|
+
* return 'boolean';
|
|
112
|
+
* },
|
|
113
|
+
* ```
|
|
114
|
+
* Or
|
|
115
|
+
* ```
|
|
116
|
+
* dataType(config) {
|
|
117
|
+
* return typeof config.length !== 'undefined' ? `varchar(${config.length})` : `varchar`;
|
|
118
|
+
* }
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
dataType: (config: T['config'] | (Equal<T['configRequired'], true> extends true ? never : undefined)) => string;
|
|
122
|
+
/**
|
|
123
|
+
* Optional mapping function, between user input and driver
|
|
124
|
+
* @example
|
|
125
|
+
* For example, when using jsonb we need to map JS/TS object to string before writing to database
|
|
126
|
+
* ```
|
|
127
|
+
* toDriver(value: TData): string {
|
|
128
|
+
* return JSON.stringify(value);
|
|
129
|
+
* }
|
|
130
|
+
* ```
|
|
131
|
+
*/
|
|
132
|
+
toDriver?: (value: T['data']) => T['driverData'] | SQL;
|
|
133
|
+
/**
|
|
134
|
+
* Optional mapping function, that is responsible for data mapping from database to JS/TS code
|
|
135
|
+
* @example
|
|
136
|
+
* For example, when using timestamp we need to map string Date representation to JS Date
|
|
137
|
+
* ```
|
|
138
|
+
* fromDriver(value: string): Date {
|
|
139
|
+
* return new Date(value);
|
|
140
|
+
* },
|
|
141
|
+
* ```
|
|
142
|
+
*/
|
|
143
|
+
fromDriver?: (value: T['driverData']) => T['data'];
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Custom pg database data type generator
|
|
147
|
+
*/
|
|
148
|
+
export declare function customType<T extends CustomTypeValues = CustomTypeValues>(customTypeParams: CustomTypeParams<T>): Equal<T['configRequired'], true> extends true ? <TName extends string>(dbName: TName, fieldConfig: T['config']) => PgCustomColumnBuilder<ConvertCustomConfig<TName, T>> : <TName extends string>(dbName: TName, fieldConfig?: T['config']) => PgCustomColumnBuilder<ConvertCustomConfig<TName, T>>;
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import type { ColumnBuilderBaseConfig } from '../../column-builder.js';
|
|
2
|
+
import type { ColumnBaseConfig } from '../../column.js';
|
|
3
|
+
import { entityKind } from '../../entity.js';
|
|
4
|
+
import type { AnyPgTable } from '../table.js';
|
|
5
|
+
import type { SQL } from '../../sql/index.js';
|
|
6
|
+
import { type Equal } from '../../utils.js';
|
|
7
|
+
import { PgColumn, PgColumnBuilder } from './common.js';
|
|
8
|
+
export type ConvertCustomConfig<TName extends string, T extends Partial<CustomTypeValues>> = {
|
|
9
|
+
name: TName;
|
|
10
|
+
dataType: 'custom';
|
|
11
|
+
columnType: 'PgCustomColumn';
|
|
12
|
+
data: T['data'];
|
|
13
|
+
driverParam: T['driverData'];
|
|
14
|
+
enumValues: undefined;
|
|
15
|
+
} & (T['notNull'] extends true ? {
|
|
16
|
+
notNull: true;
|
|
17
|
+
} : {}) & (T['default'] extends true ? {
|
|
18
|
+
hasDefault: true;
|
|
19
|
+
} : {});
|
|
20
|
+
export interface PgCustomColumnInnerConfig {
|
|
21
|
+
customTypeValues: CustomTypeValues;
|
|
22
|
+
}
|
|
23
|
+
export declare class PgCustomColumnBuilder<T extends ColumnBuilderBaseConfig<'custom', 'PgCustomColumn'>> extends PgColumnBuilder<T, {
|
|
24
|
+
fieldConfig: CustomTypeValues['config'];
|
|
25
|
+
customTypeParams: CustomTypeParams<any>;
|
|
26
|
+
}, {
|
|
27
|
+
pgColumnBuilderBrand: 'PgCustomColumnBuilderBrand';
|
|
28
|
+
}> {
|
|
29
|
+
static readonly [entityKind]: string;
|
|
30
|
+
constructor(name: T['name'], fieldConfig: CustomTypeValues['config'], customTypeParams: CustomTypeParams<any>);
|
|
31
|
+
}
|
|
32
|
+
export declare class PgCustomColumn<T extends ColumnBaseConfig<'custom', 'PgCustomColumn'>> extends PgColumn<T> {
|
|
33
|
+
static readonly [entityKind]: string;
|
|
34
|
+
private sqlName;
|
|
35
|
+
private mapTo?;
|
|
36
|
+
private mapFrom?;
|
|
37
|
+
constructor(table: AnyPgTable<{
|
|
38
|
+
name: T['tableName'];
|
|
39
|
+
}>, config: PgCustomColumnBuilder<T>['config']);
|
|
40
|
+
getSQLType(): string;
|
|
41
|
+
mapFromDriverValue(value: T['driverParam']): T['data'];
|
|
42
|
+
mapToDriverValue(value: T['data']): T['driverParam'];
|
|
43
|
+
}
|
|
44
|
+
export type CustomTypeValues = {
|
|
45
|
+
/**
|
|
46
|
+
* Required type for custom column, that will infer proper type model
|
|
47
|
+
*
|
|
48
|
+
* Examples:
|
|
49
|
+
*
|
|
50
|
+
* If you want your column to be `string` type after selecting/or on inserting - use `data: string`. Like `text`, `varchar`
|
|
51
|
+
*
|
|
52
|
+
* If you want your column to be `number` type after selecting/or on inserting - use `data: number`. Like `integer`
|
|
53
|
+
*/
|
|
54
|
+
data: unknown;
|
|
55
|
+
/**
|
|
56
|
+
* Type helper, that represents what type database driver is accepting for specific database data type
|
|
57
|
+
*/
|
|
58
|
+
driverData?: unknown;
|
|
59
|
+
/**
|
|
60
|
+
* What config type should be used for {@link CustomTypeParams} `dataType` generation
|
|
61
|
+
*/
|
|
62
|
+
config?: unknown;
|
|
63
|
+
/**
|
|
64
|
+
* Whether the config argument should be required or not
|
|
65
|
+
* @default false
|
|
66
|
+
*/
|
|
67
|
+
configRequired?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* If your custom data type should be notNull by default you can use `notNull: true`
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* const customSerial = customType<{ data: number, notNull: true, default: true }>({
|
|
73
|
+
* dataType() {
|
|
74
|
+
* return 'serial';
|
|
75
|
+
* },
|
|
76
|
+
* });
|
|
77
|
+
*/
|
|
78
|
+
notNull?: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* If your custom data type has default you can use `default: true`
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* const customSerial = customType<{ data: number, notNull: true, default: true }>({
|
|
84
|
+
* dataType() {
|
|
85
|
+
* return 'serial';
|
|
86
|
+
* },
|
|
87
|
+
* });
|
|
88
|
+
*/
|
|
89
|
+
default?: boolean;
|
|
90
|
+
};
|
|
91
|
+
export interface CustomTypeParams<T extends CustomTypeValues> {
|
|
92
|
+
/**
|
|
93
|
+
* Database data type string representation, that is used for migrations
|
|
94
|
+
* @example
|
|
95
|
+
* ```
|
|
96
|
+
* `jsonb`, `text`
|
|
97
|
+
* ```
|
|
98
|
+
*
|
|
99
|
+
* If database data type needs additional params you can use them from `config` param
|
|
100
|
+
* @example
|
|
101
|
+
* ```
|
|
102
|
+
* `varchar(256)`, `numeric(2,3)`
|
|
103
|
+
* ```
|
|
104
|
+
*
|
|
105
|
+
* To make `config` be of specific type please use config generic in {@link CustomTypeValues}
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* Usage example
|
|
109
|
+
* ```
|
|
110
|
+
* dataType() {
|
|
111
|
+
* return 'boolean';
|
|
112
|
+
* },
|
|
113
|
+
* ```
|
|
114
|
+
* Or
|
|
115
|
+
* ```
|
|
116
|
+
* dataType(config) {
|
|
117
|
+
* return typeof config.length !== 'undefined' ? `varchar(${config.length})` : `varchar`;
|
|
118
|
+
* }
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
dataType: (config: T['config'] | (Equal<T['configRequired'], true> extends true ? never : undefined)) => string;
|
|
122
|
+
/**
|
|
123
|
+
* Optional mapping function, between user input and driver
|
|
124
|
+
* @example
|
|
125
|
+
* For example, when using jsonb we need to map JS/TS object to string before writing to database
|
|
126
|
+
* ```
|
|
127
|
+
* toDriver(value: TData): string {
|
|
128
|
+
* return JSON.stringify(value);
|
|
129
|
+
* }
|
|
130
|
+
* ```
|
|
131
|
+
*/
|
|
132
|
+
toDriver?: (value: T['data']) => T['driverData'] | SQL;
|
|
133
|
+
/**
|
|
134
|
+
* Optional mapping function, that is responsible for data mapping from database to JS/TS code
|
|
135
|
+
* @example
|
|
136
|
+
* For example, when using timestamp we need to map string Date representation to JS Date
|
|
137
|
+
* ```
|
|
138
|
+
* fromDriver(value: string): Date {
|
|
139
|
+
* return new Date(value);
|
|
140
|
+
* },
|
|
141
|
+
* ```
|
|
142
|
+
*/
|
|
143
|
+
fromDriver?: (value: T['driverData']) => T['data'];
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Custom pg database data type generator
|
|
147
|
+
*/
|
|
148
|
+
export declare function customType<T extends CustomTypeValues = CustomTypeValues>(customTypeParams: CustomTypeParams<T>): Equal<T['configRequired'], true> extends true ? <TName extends string>(dbName: TName, fieldConfig: T['config']) => PgCustomColumnBuilder<ConvertCustomConfig<TName, T>> : <TName extends string>(dbName: TName, fieldConfig?: T['config']) => PgCustomColumnBuilder<ConvertCustomConfig<TName, T>>;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import { entityKind } from '../../entity';
|
|
4
|
-
import type { AnyPgTable } from '../table';
|
|
5
|
-
import type { SQL } from '../../sql';
|
|
6
|
-
import { type Equal } from '../../utils';
|
|
7
|
-
import { PgColumn, PgColumnBuilder } from './common';
|
|
1
|
+
import type { ColumnBuilderBaseConfig } from '../../column-builder.js';
|
|
2
|
+
import type { ColumnBaseConfig } from '../../column.js';
|
|
3
|
+
import { entityKind } from '../../entity.js';
|
|
4
|
+
import type { AnyPgTable } from '../table.js';
|
|
5
|
+
import type { SQL } from '../../sql/index.js';
|
|
6
|
+
import { type Equal } from '../../utils.js';
|
|
7
|
+
import { PgColumn, PgColumnBuilder } from './common.js';
|
|
8
8
|
export type ConvertCustomConfig<TName extends string, T extends Partial<CustomTypeValues>> = {
|
|
9
9
|
name: TName;
|
|
10
10
|
dataType: 'custom';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ColumnBuilderBaseConfig, ColumnDataType } from '../../column-builder.js';
|
|
2
|
+
import { entityKind } from '../../entity.js';
|
|
3
|
+
import { PgColumnBuilder } from './common.js';
|
|
4
|
+
export declare abstract class PgDateColumnBaseBuilder<T extends ColumnBuilderBaseConfig<ColumnDataType, string>, TRuntimeConfig extends object = object> extends PgColumnBuilder<T, TRuntimeConfig> {
|
|
5
|
+
static readonly [entityKind]: string;
|
|
6
|
+
defaultNow(): import("../../column-builder.js").HasDefault<this>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ColumnBuilderBaseConfig, ColumnDataType } from '../../column-builder.js';
|
|
2
|
+
import { entityKind } from '../../entity.js';
|
|
3
|
+
import { PgColumnBuilder } from './common.js';
|
|
4
|
+
export declare abstract class PgDateColumnBaseBuilder<T extends ColumnBuilderBaseConfig<ColumnDataType, string>, TRuntimeConfig extends object = object> extends PgColumnBuilder<T, TRuntimeConfig> {
|
|
5
|
+
static readonly [entityKind]: string;
|
|
6
|
+
defaultNow(): import("../../column-builder.js").HasDefault<this>;
|
|
7
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { ColumnBuilderBaseConfig, ColumnDataType } from '../../column-builder';
|
|
2
|
-
import { entityKind } from '../../entity';
|
|
3
|
-
import { PgColumnBuilder } from './common';
|
|
1
|
+
import type { ColumnBuilderBaseConfig, ColumnDataType } from '../../column-builder.js';
|
|
2
|
+
import { entityKind } from '../../entity.js';
|
|
3
|
+
import { PgColumnBuilder } from './common.js';
|
|
4
4
|
export declare abstract class PgDateColumnBaseBuilder<T extends ColumnBuilderBaseConfig<ColumnDataType, string>, TRuntimeConfig extends object = object> extends PgColumnBuilder<T, TRuntimeConfig> {
|
|
5
5
|
static readonly [entityKind]: string;
|
|
6
|
-
defaultNow(): import("../../column-builder").HasDefault<this>;
|
|
6
|
+
defaultNow(): import("../../column-builder.js").HasDefault<this>;
|
|
7
7
|
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { ColumnBuilderBaseConfig } from '../../column-builder.js';
|
|
2
|
+
import type { ColumnBaseConfig } from '../../column.js';
|
|
3
|
+
import { entityKind } from '../../entity.js';
|
|
4
|
+
import { PgColumn } from './common.js';
|
|
5
|
+
import { PgDateColumnBaseBuilder } from './date.common.js';
|
|
6
|
+
export type PgDateBuilderInitial<TName extends string> = PgDateBuilder<{
|
|
7
|
+
name: TName;
|
|
8
|
+
dataType: 'date';
|
|
9
|
+
columnType: 'PgDate';
|
|
10
|
+
data: Date;
|
|
11
|
+
driverParam: string;
|
|
12
|
+
enumValues: undefined;
|
|
13
|
+
}>;
|
|
14
|
+
export declare class PgDateBuilder<T extends ColumnBuilderBaseConfig<'date', 'PgDate'>> extends PgDateColumnBaseBuilder<T> {
|
|
15
|
+
static readonly [entityKind]: string;
|
|
16
|
+
constructor(name: T['name']);
|
|
17
|
+
}
|
|
18
|
+
export declare class PgDate<T extends ColumnBaseConfig<'date', 'PgDate'>> extends PgColumn<T> {
|
|
19
|
+
static readonly [entityKind]: string;
|
|
20
|
+
getSQLType(): string;
|
|
21
|
+
mapFromDriverValue(value: string): Date;
|
|
22
|
+
mapToDriverValue(value: Date): string;
|
|
23
|
+
}
|
|
24
|
+
export type PgDateStringBuilderInitial<TName extends string> = PgDateStringBuilder<{
|
|
25
|
+
name: TName;
|
|
26
|
+
dataType: 'string';
|
|
27
|
+
columnType: 'PgDateString';
|
|
28
|
+
data: string;
|
|
29
|
+
driverParam: string;
|
|
30
|
+
enumValues: undefined;
|
|
31
|
+
}>;
|
|
32
|
+
export declare class PgDateStringBuilder<T extends ColumnBuilderBaseConfig<'string', 'PgDateString'>> extends PgDateColumnBaseBuilder<T> {
|
|
33
|
+
static readonly [entityKind]: string;
|
|
34
|
+
constructor(name: T['name']);
|
|
35
|
+
}
|
|
36
|
+
export declare class PgDateString<T extends ColumnBaseConfig<'string', 'PgDateString'>> extends PgColumn<T> {
|
|
37
|
+
static readonly [entityKind]: string;
|
|
38
|
+
getSQLType(): string;
|
|
39
|
+
}
|
|
40
|
+
export declare function date<TName extends string>(name: TName, config?: {
|
|
41
|
+
mode: 'string';
|
|
42
|
+
}): PgDateStringBuilderInitial<TName>;
|
|
43
|
+
export declare function date<TName extends string>(TName: TName, config?: {
|
|
44
|
+
mode: 'date';
|
|
45
|
+
}): PgDateBuilderInitial<TName>;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { ColumnBuilderBaseConfig } from '../../column-builder.js';
|
|
2
|
+
import type { ColumnBaseConfig } from '../../column.js';
|
|
3
|
+
import { entityKind } from '../../entity.js';
|
|
4
|
+
import { PgColumn } from './common.js';
|
|
5
|
+
import { PgDateColumnBaseBuilder } from './date.common.js';
|
|
6
|
+
export type PgDateBuilderInitial<TName extends string> = PgDateBuilder<{
|
|
7
|
+
name: TName;
|
|
8
|
+
dataType: 'date';
|
|
9
|
+
columnType: 'PgDate';
|
|
10
|
+
data: Date;
|
|
11
|
+
driverParam: string;
|
|
12
|
+
enumValues: undefined;
|
|
13
|
+
}>;
|
|
14
|
+
export declare class PgDateBuilder<T extends ColumnBuilderBaseConfig<'date', 'PgDate'>> extends PgDateColumnBaseBuilder<T> {
|
|
15
|
+
static readonly [entityKind]: string;
|
|
16
|
+
constructor(name: T['name']);
|
|
17
|
+
}
|
|
18
|
+
export declare class PgDate<T extends ColumnBaseConfig<'date', 'PgDate'>> extends PgColumn<T> {
|
|
19
|
+
static readonly [entityKind]: string;
|
|
20
|
+
getSQLType(): string;
|
|
21
|
+
mapFromDriverValue(value: string): Date;
|
|
22
|
+
mapToDriverValue(value: Date): string;
|
|
23
|
+
}
|
|
24
|
+
export type PgDateStringBuilderInitial<TName extends string> = PgDateStringBuilder<{
|
|
25
|
+
name: TName;
|
|
26
|
+
dataType: 'string';
|
|
27
|
+
columnType: 'PgDateString';
|
|
28
|
+
data: string;
|
|
29
|
+
driverParam: string;
|
|
30
|
+
enumValues: undefined;
|
|
31
|
+
}>;
|
|
32
|
+
export declare class PgDateStringBuilder<T extends ColumnBuilderBaseConfig<'string', 'PgDateString'>> extends PgDateColumnBaseBuilder<T> {
|
|
33
|
+
static readonly [entityKind]: string;
|
|
34
|
+
constructor(name: T['name']);
|
|
35
|
+
}
|
|
36
|
+
export declare class PgDateString<T extends ColumnBaseConfig<'string', 'PgDateString'>> extends PgColumn<T> {
|
|
37
|
+
static readonly [entityKind]: string;
|
|
38
|
+
getSQLType(): string;
|
|
39
|
+
}
|
|
40
|
+
export declare function date<TName extends string>(name: TName, config?: {
|
|
41
|
+
mode: 'string';
|
|
42
|
+
}): PgDateStringBuilderInitial<TName>;
|
|
43
|
+
export declare function date<TName extends string>(TName: TName, config?: {
|
|
44
|
+
mode: 'date';
|
|
45
|
+
}): PgDateBuilderInitial<TName>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import { entityKind } from '../../entity';
|
|
4
|
-
import { PgColumn } from './common';
|
|
5
|
-
import { PgDateColumnBaseBuilder } from './date.common';
|
|
1
|
+
import type { ColumnBuilderBaseConfig } from '../../column-builder.js';
|
|
2
|
+
import type { ColumnBaseConfig } from '../../column.js';
|
|
3
|
+
import { entityKind } from '../../entity.js';
|
|
4
|
+
import { PgColumn } from './common.js';
|
|
5
|
+
import { PgDateColumnBaseBuilder } from './date.common.js';
|
|
6
6
|
export type PgDateBuilderInitial<TName extends string> = PgDateBuilder<{
|
|
7
7
|
name: TName;
|
|
8
8
|
dataType: 'date';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ColumnBuilderBaseConfig } from '../../column-builder.js';
|
|
2
|
+
import type { ColumnBaseConfig } from '../../column.js';
|
|
3
|
+
import { entityKind } from '../../entity.js';
|
|
4
|
+
import { PgColumn, PgColumnBuilder } from './common.js';
|
|
5
|
+
export type PgDoublePrecisionBuilderInitial<TName extends string> = PgDoublePrecisionBuilder<{
|
|
6
|
+
name: TName;
|
|
7
|
+
dataType: 'number';
|
|
8
|
+
columnType: 'PgDoublePrecision';
|
|
9
|
+
data: number;
|
|
10
|
+
driverParam: string | number;
|
|
11
|
+
enumValues: undefined;
|
|
12
|
+
}>;
|
|
13
|
+
export declare class PgDoublePrecisionBuilder<T extends ColumnBuilderBaseConfig<'number', 'PgDoublePrecision'>> extends PgColumnBuilder<T> {
|
|
14
|
+
static readonly [entityKind]: string;
|
|
15
|
+
constructor(name: T['name']);
|
|
16
|
+
}
|
|
17
|
+
export declare class PgDoublePrecision<T extends ColumnBaseConfig<'number', 'PgDoublePrecision'>> extends PgColumn<T> {
|
|
18
|
+
static readonly [entityKind]: string;
|
|
19
|
+
getSQLType(): string;
|
|
20
|
+
mapFromDriverValue(value: string | number): number;
|
|
21
|
+
}
|
|
22
|
+
export declare function doublePrecision<TName extends string>(name: TName): PgDoublePrecisionBuilderInitial<TName>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ColumnBuilderBaseConfig } from '../../column-builder.js';
|
|
2
|
+
import type { ColumnBaseConfig } from '../../column.js';
|
|
3
|
+
import { entityKind } from '../../entity.js';
|
|
4
|
+
import { PgColumn, PgColumnBuilder } from './common.js';
|
|
5
|
+
export type PgDoublePrecisionBuilderInitial<TName extends string> = PgDoublePrecisionBuilder<{
|
|
6
|
+
name: TName;
|
|
7
|
+
dataType: 'number';
|
|
8
|
+
columnType: 'PgDoublePrecision';
|
|
9
|
+
data: number;
|
|
10
|
+
driverParam: string | number;
|
|
11
|
+
enumValues: undefined;
|
|
12
|
+
}>;
|
|
13
|
+
export declare class PgDoublePrecisionBuilder<T extends ColumnBuilderBaseConfig<'number', 'PgDoublePrecision'>> extends PgColumnBuilder<T> {
|
|
14
|
+
static readonly [entityKind]: string;
|
|
15
|
+
constructor(name: T['name']);
|
|
16
|
+
}
|
|
17
|
+
export declare class PgDoublePrecision<T extends ColumnBaseConfig<'number', 'PgDoublePrecision'>> extends PgColumn<T> {
|
|
18
|
+
static readonly [entityKind]: string;
|
|
19
|
+
getSQLType(): string;
|
|
20
|
+
mapFromDriverValue(value: string | number): number;
|
|
21
|
+
}
|
|
22
|
+
export declare function doublePrecision<TName extends string>(name: TName): PgDoublePrecisionBuilderInitial<TName>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import { entityKind } from '../../entity';
|
|
4
|
-
import { PgColumn, PgColumnBuilder } from './common';
|
|
1
|
+
import type { ColumnBuilderBaseConfig } from '../../column-builder.js';
|
|
2
|
+
import type { ColumnBaseConfig } from '../../column.js';
|
|
3
|
+
import { entityKind } from '../../entity.js';
|
|
4
|
+
import { PgColumn, PgColumnBuilder } from './common.js';
|
|
5
5
|
export type PgDoublePrecisionBuilderInitial<TName extends string> = PgDoublePrecisionBuilder<{
|
|
6
6
|
name: TName;
|
|
7
7
|
dataType: 'number';
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { ColumnBuilderBaseConfig } from '../../column-builder.js';
|
|
2
|
+
import type { ColumnBaseConfig } from '../../column.js';
|
|
3
|
+
import { entityKind } from '../../entity.js';
|
|
4
|
+
import type { AnyPgTable } from '../table.js';
|
|
5
|
+
import { type Writable } from '../../utils.js';
|
|
6
|
+
import { PgColumn, PgColumnBuilder } from './common.js';
|
|
7
|
+
export type PgEnumColumnBuilderInitial<TName extends string, TValues extends [string, ...string[]]> = PgEnumColumnBuilder<{
|
|
8
|
+
name: TName;
|
|
9
|
+
dataType: 'string';
|
|
10
|
+
columnType: 'PgEnumColumn';
|
|
11
|
+
data: TValues[number];
|
|
12
|
+
enumValues: TValues;
|
|
13
|
+
driverParam: string;
|
|
14
|
+
}>;
|
|
15
|
+
export interface PgEnum<TValues extends [string, ...string[]]> {
|
|
16
|
+
<TName extends string>(name: TName): PgEnumColumnBuilderInitial<TName, TValues>;
|
|
17
|
+
readonly enumName: string;
|
|
18
|
+
readonly enumValues: TValues;
|
|
19
|
+
}
|
|
20
|
+
export declare function isPgEnum(obj: unknown): obj is PgEnum<[string, ...string[]]>;
|
|
21
|
+
export declare class PgEnumColumnBuilder<T extends ColumnBuilderBaseConfig<'string', 'PgEnumColumn'> & {
|
|
22
|
+
enumValues: [string, ...string[]];
|
|
23
|
+
}> extends PgColumnBuilder<T, {
|
|
24
|
+
enum: PgEnum<T['enumValues']>;
|
|
25
|
+
}> {
|
|
26
|
+
static readonly [entityKind]: string;
|
|
27
|
+
constructor(name: string, enumInstance: PgEnum<T['enumValues']>);
|
|
28
|
+
}
|
|
29
|
+
export declare class PgEnumColumn<T extends ColumnBaseConfig<'string', 'PgEnumColumn'> & {
|
|
30
|
+
enumValues: [string, ...string[]];
|
|
31
|
+
}> extends PgColumn<T, {
|
|
32
|
+
enum: PgEnum<T['enumValues']>;
|
|
33
|
+
}> {
|
|
34
|
+
static readonly [entityKind]: string;
|
|
35
|
+
readonly enum: PgEnum<T["enumValues"]>;
|
|
36
|
+
readonly enumValues: T["enumValues"];
|
|
37
|
+
constructor(table: AnyPgTable<{
|
|
38
|
+
name: T['tableName'];
|
|
39
|
+
}>, config: PgEnumColumnBuilder<T>['config']);
|
|
40
|
+
getSQLType(): string;
|
|
41
|
+
}
|
|
42
|
+
export declare function pgEnum<U extends string, T extends Readonly<[U, ...U[]]>>(enumName: string, values: T | Writable<T>): PgEnum<Writable<T>>;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { ColumnBuilderBaseConfig } from '../../column-builder.js';
|
|
2
|
+
import type { ColumnBaseConfig } from '../../column.js';
|
|
3
|
+
import { entityKind } from '../../entity.js';
|
|
4
|
+
import type { AnyPgTable } from '../table.js';
|
|
5
|
+
import { type Writable } from '../../utils.js';
|
|
6
|
+
import { PgColumn, PgColumnBuilder } from './common.js';
|
|
7
|
+
export type PgEnumColumnBuilderInitial<TName extends string, TValues extends [string, ...string[]]> = PgEnumColumnBuilder<{
|
|
8
|
+
name: TName;
|
|
9
|
+
dataType: 'string';
|
|
10
|
+
columnType: 'PgEnumColumn';
|
|
11
|
+
data: TValues[number];
|
|
12
|
+
enumValues: TValues;
|
|
13
|
+
driverParam: string;
|
|
14
|
+
}>;
|
|
15
|
+
export interface PgEnum<TValues extends [string, ...string[]]> {
|
|
16
|
+
<TName extends string>(name: TName): PgEnumColumnBuilderInitial<TName, TValues>;
|
|
17
|
+
readonly enumName: string;
|
|
18
|
+
readonly enumValues: TValues;
|
|
19
|
+
}
|
|
20
|
+
export declare function isPgEnum(obj: unknown): obj is PgEnum<[string, ...string[]]>;
|
|
21
|
+
export declare class PgEnumColumnBuilder<T extends ColumnBuilderBaseConfig<'string', 'PgEnumColumn'> & {
|
|
22
|
+
enumValues: [string, ...string[]];
|
|
23
|
+
}> extends PgColumnBuilder<T, {
|
|
24
|
+
enum: PgEnum<T['enumValues']>;
|
|
25
|
+
}> {
|
|
26
|
+
static readonly [entityKind]: string;
|
|
27
|
+
constructor(name: string, enumInstance: PgEnum<T['enumValues']>);
|
|
28
|
+
}
|
|
29
|
+
export declare class PgEnumColumn<T extends ColumnBaseConfig<'string', 'PgEnumColumn'> & {
|
|
30
|
+
enumValues: [string, ...string[]];
|
|
31
|
+
}> extends PgColumn<T, {
|
|
32
|
+
enum: PgEnum<T['enumValues']>;
|
|
33
|
+
}> {
|
|
34
|
+
static readonly [entityKind]: string;
|
|
35
|
+
readonly enum: PgEnum<T["enumValues"]>;
|
|
36
|
+
readonly enumValues: T["enumValues"];
|
|
37
|
+
constructor(table: AnyPgTable<{
|
|
38
|
+
name: T['tableName'];
|
|
39
|
+
}>, config: PgEnumColumnBuilder<T>['config']);
|
|
40
|
+
getSQLType(): string;
|
|
41
|
+
}
|
|
42
|
+
export declare function pgEnum<U extends string, T extends Readonly<[U, ...U[]]>>(enumName: string, values: T | Writable<T>): PgEnum<Writable<T>>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import { entityKind } from '../../entity';
|
|
4
|
-
import type { AnyPgTable } from '../table';
|
|
5
|
-
import { type Writable } from '../../utils';
|
|
6
|
-
import { PgColumn, PgColumnBuilder } from './common';
|
|
1
|
+
import type { ColumnBuilderBaseConfig } from '../../column-builder.js';
|
|
2
|
+
import type { ColumnBaseConfig } from '../../column.js';
|
|
3
|
+
import { entityKind } from '../../entity.js';
|
|
4
|
+
import type { AnyPgTable } from '../table.js';
|
|
5
|
+
import { type Writable } from '../../utils.js';
|
|
6
|
+
import { PgColumn, PgColumnBuilder } from './common.js';
|
|
7
7
|
export type PgEnumColumnBuilderInitial<TName extends string, TValues extends [string, ...string[]]> = PgEnumColumnBuilder<{
|
|
8
8
|
name: TName;
|
|
9
9
|
dataType: 'string';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export * from './array.js';
|
|
2
|
+
export * from './bigint.js';
|
|
3
|
+
export * from './bigserial.js';
|
|
4
|
+
export * from './boolean.js';
|
|
5
|
+
export * from './char.js';
|
|
6
|
+
export * from './cidr.js';
|
|
7
|
+
export * from './common.js';
|
|
8
|
+
export * from './custom.js';
|
|
9
|
+
export * from './date.js';
|
|
10
|
+
export * from './double-precision.js';
|
|
11
|
+
export * from './enum.js';
|
|
12
|
+
export * from './inet.js';
|
|
13
|
+
export * from './integer.js';
|
|
14
|
+
export * from './interval.js';
|
|
15
|
+
export * from './json.js';
|
|
16
|
+
export * from './jsonb.js';
|
|
17
|
+
export * from './macaddr.js';
|
|
18
|
+
export * from './macaddr8.js';
|
|
19
|
+
export * from './numeric.js';
|
|
20
|
+
export * from './real.js';
|
|
21
|
+
export * from './serial.js';
|
|
22
|
+
export * from './smallint.js';
|
|
23
|
+
export * from './smallserial.js';
|
|
24
|
+
export * from './text.js';
|
|
25
|
+
export * from './time.js';
|
|
26
|
+
export * from './timestamp.js';
|
|
27
|
+
export * from './uuid.js';
|
|
28
|
+
export * from './varchar.js';
|