drizzle-orm 0.44.2-b5a9650 → 0.44.3-aca84cf
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/cockroach/driver.cjs +113 -0
- package/cockroach/driver.cjs.map +1 -0
- package/cockroach/driver.d.cts +42 -0
- package/cockroach/driver.d.ts +42 -0
- package/cockroach/driver.js +80 -0
- package/cockroach/driver.js.map +1 -0
- package/cockroach/index.cjs +25 -0
- package/cockroach/index.cjs.map +1 -0
- package/cockroach/index.d.cts +2 -0
- package/cockroach/index.d.ts +2 -0
- package/cockroach/index.js +3 -0
- package/cockroach/index.js.map +1 -0
- package/cockroach/migrator.cjs +33 -0
- package/cockroach/migrator.cjs.map +1 -0
- package/cockroach/migrator.d.cts +3 -0
- package/cockroach/migrator.d.ts +3 -0
- package/cockroach/migrator.js +9 -0
- package/cockroach/migrator.js.map +1 -0
- package/cockroach/session.cjs +253 -0
- package/cockroach/session.cjs.map +1 -0
- package/cockroach/session.d.cts +48 -0
- package/cockroach/session.d.ts +48 -0
- package/cockroach/session.js +217 -0
- package/cockroach/session.js.map +1 -0
- package/cockroach-core/alias.cjs +32 -0
- package/cockroach-core/alias.cjs.map +1 -0
- package/cockroach-core/alias.d.cts +4 -0
- package/cockroach-core/alias.d.ts +4 -0
- package/cockroach-core/alias.js +8 -0
- package/cockroach-core/alias.js.map +1 -0
- package/cockroach-core/checks.cjs +58 -0
- package/cockroach-core/checks.cjs.map +1 -0
- package/cockroach-core/checks.d.cts +18 -0
- package/cockroach-core/checks.d.ts +18 -0
- package/cockroach-core/checks.js +32 -0
- package/cockroach-core/checks.js.map +1 -0
- package/cockroach-core/columns/all.cjs +79 -0
- package/cockroach-core/columns/all.cjs.map +1 -0
- package/cockroach-core/columns/all.d.cts +50 -0
- package/cockroach-core/columns/all.d.ts +50 -0
- package/cockroach-core/columns/all.js +55 -0
- package/cockroach-core/columns/all.js.map +1 -0
- package/cockroach-core/columns/bigint.cjs +104 -0
- package/cockroach-core/columns/bigint.cjs.map +1 -0
- package/cockroach-core/columns/bigint.d.cts +46 -0
- package/cockroach-core/columns/bigint.d.ts +46 -0
- package/cockroach-core/columns/bigint.js +75 -0
- package/cockroach-core/columns/bigint.js.map +1 -0
- package/cockroach-core/columns/bit.cjs +60 -0
- package/cockroach-core/columns/bit.cjs.map +1 -0
- package/cockroach-core/columns/bit.d.cts +37 -0
- package/cockroach-core/columns/bit.d.ts +37 -0
- package/cockroach-core/columns/bit.js +34 -0
- package/cockroach-core/columns/bit.js.map +1 -0
- package/cockroach-core/columns/boolean.cjs +56 -0
- package/cockroach-core/columns/boolean.cjs.map +1 -0
- package/cockroach-core/columns/boolean.d.cts +22 -0
- package/cockroach-core/columns/boolean.d.ts +22 -0
- package/cockroach-core/columns/boolean.js +30 -0
- package/cockroach-core/columns/boolean.js.map +1 -0
- package/cockroach-core/columns/char.cjs +62 -0
- package/cockroach-core/columns/char.cjs.map +1 -0
- package/cockroach-core/columns/char.d.cts +45 -0
- package/cockroach-core/columns/char.d.ts +45 -0
- package/cockroach-core/columns/char.js +36 -0
- package/cockroach-core/columns/char.js.map +1 -0
- package/cockroach-core/columns/common.cjs +191 -0
- package/cockroach-core/columns/common.cjs.map +1 -0
- package/cockroach-core/columns/common.d.cts +118 -0
- package/cockroach-core/columns/common.d.ts +118 -0
- package/cockroach-core/columns/common.js +161 -0
- package/cockroach-core/columns/common.js.map +1 -0
- package/cockroach-core/columns/custom.cjs +77 -0
- package/cockroach-core/columns/custom.cjs.map +1 -0
- package/cockroach-core/columns/custom.d.cts +155 -0
- package/cockroach-core/columns/custom.d.ts +155 -0
- package/cockroach-core/columns/custom.js +51 -0
- package/cockroach-core/columns/custom.js.map +1 -0
- package/cockroach-core/columns/date.cjs +91 -0
- package/cockroach-core/columns/date.cjs.map +1 -0
- package/cockroach-core/columns/date.common.cjs +37 -0
- package/cockroach-core/columns/date.common.cjs.map +1 -0
- package/cockroach-core/columns/date.common.d.cts +7 -0
- package/cockroach-core/columns/date.common.d.ts +7 -0
- package/cockroach-core/columns/date.common.js +13 -0
- package/cockroach-core/columns/date.common.js.map +1 -0
- package/cockroach-core/columns/date.d.cts +46 -0
- package/cockroach-core/columns/date.d.ts +46 -0
- package/cockroach-core/columns/date.js +63 -0
- package/cockroach-core/columns/date.js.map +1 -0
- package/cockroach-core/columns/decimal.cjs +164 -0
- package/cockroach-core/columns/decimal.cjs.map +1 -0
- package/cockroach-core/columns/decimal.d.cts +99 -0
- package/cockroach-core/columns/decimal.d.ts +99 -0
- package/cockroach-core/columns/decimal.js +133 -0
- package/cockroach-core/columns/decimal.js.map +1 -0
- package/cockroach-core/columns/enum.cjs +127 -0
- package/cockroach-core/columns/enum.cjs.map +1 -0
- package/cockroach-core/columns/enum.d.cts +83 -0
- package/cockroach-core/columns/enum.d.ts +83 -0
- package/cockroach-core/columns/enum.js +96 -0
- package/cockroach-core/columns/enum.js.map +1 -0
- package/cockroach-core/columns/float.cjs +65 -0
- package/cockroach-core/columns/float.cjs.map +1 -0
- package/cockroach-core/columns/float.d.cts +24 -0
- package/cockroach-core/columns/float.d.ts +24 -0
- package/cockroach-core/columns/float.js +38 -0
- package/cockroach-core/columns/float.js.map +1 -0
- package/cockroach-core/columns/geometry.cjs +98 -0
- package/cockroach-core/columns/geometry.cjs.map +1 -0
- package/cockroach-core/columns/geometry.d.cts +58 -0
- package/cockroach-core/columns/geometry.d.ts +58 -0
- package/cockroach-core/columns/geometry.js +70 -0
- package/cockroach-core/columns/geometry.js.map +1 -0
- package/cockroach-core/columns/index.cjs +69 -0
- package/cockroach-core/columns/index.cjs.map +1 -0
- package/cockroach-core/columns/index.d.cts +24 -0
- package/cockroach-core/columns/index.d.ts +24 -0
- package/cockroach-core/columns/index.js +25 -0
- package/cockroach-core/columns/index.js.map +1 -0
- package/cockroach-core/columns/inet.cjs +56 -0
- package/cockroach-core/columns/inet.cjs.map +1 -0
- package/cockroach-core/columns/inet.d.cts +22 -0
- package/cockroach-core/columns/inet.d.ts +22 -0
- package/cockroach-core/columns/inet.js +30 -0
- package/cockroach-core/columns/inet.js.map +1 -0
- package/cockroach-core/columns/int.common.cjs +55 -0
- package/cockroach-core/columns/int.common.cjs.map +1 -0
- package/cockroach-core/columns/int.common.d.cts +11 -0
- package/cockroach-core/columns/int.common.d.ts +11 -0
- package/cockroach-core/columns/int.common.js +31 -0
- package/cockroach-core/columns/int.common.js.map +1 -0
- package/cockroach-core/columns/integer.cjs +63 -0
- package/cockroach-core/columns/integer.cjs.map +1 -0
- package/cockroach-core/columns/integer.d.cts +24 -0
- package/cockroach-core/columns/integer.d.ts +24 -0
- package/cockroach-core/columns/integer.js +37 -0
- package/cockroach-core/columns/integer.js.map +1 -0
- package/cockroach-core/columns/interval.cjs +63 -0
- package/cockroach-core/columns/interval.cjs.map +1 -0
- package/cockroach-core/columns/interval.d.cts +34 -0
- package/cockroach-core/columns/interval.d.ts +34 -0
- package/cockroach-core/columns/interval.js +37 -0
- package/cockroach-core/columns/interval.js.map +1 -0
- package/cockroach-core/columns/jsonb.cjs +72 -0
- package/cockroach-core/columns/jsonb.cjs.map +1 -0
- package/cockroach-core/columns/jsonb.d.cts +28 -0
- package/cockroach-core/columns/jsonb.d.ts +28 -0
- package/cockroach-core/columns/jsonb.js +46 -0
- package/cockroach-core/columns/jsonb.js.map +1 -0
- package/cockroach-core/columns/real.cjs +66 -0
- package/cockroach-core/columns/real.cjs.map +1 -0
- package/cockroach-core/columns/real.d.cts +29 -0
- package/cockroach-core/columns/real.d.ts +29 -0
- package/cockroach-core/columns/real.js +40 -0
- package/cockroach-core/columns/real.js.map +1 -0
- package/cockroach-core/columns/smallint.cjs +68 -0
- package/cockroach-core/columns/smallint.cjs.map +1 -0
- package/cockroach-core/columns/smallint.d.cts +26 -0
- package/cockroach-core/columns/smallint.d.ts +26 -0
- package/cockroach-core/columns/smallint.js +41 -0
- package/cockroach-core/columns/smallint.js.map +1 -0
- package/cockroach-core/columns/string.cjs +68 -0
- package/cockroach-core/columns/string.cjs.map +1 -0
- package/cockroach-core/columns/string.d.cts +51 -0
- package/cockroach-core/columns/string.d.ts +51 -0
- package/cockroach-core/columns/string.js +41 -0
- package/cockroach-core/columns/string.js.map +1 -0
- package/cockroach-core/columns/time.cjs +70 -0
- package/cockroach-core/columns/time.cjs.map +1 -0
- package/cockroach-core/columns/time.d.cts +39 -0
- package/cockroach-core/columns/time.d.ts +39 -0
- package/cockroach-core/columns/time.js +44 -0
- package/cockroach-core/columns/time.js.map +1 -0
- package/cockroach-core/columns/timestamp.cjs +111 -0
- package/cockroach-core/columns/timestamp.cjs.map +1 -0
- package/cockroach-core/columns/timestamp.d.cts +66 -0
- package/cockroach-core/columns/timestamp.d.ts +66 -0
- package/cockroach-core/columns/timestamp.js +83 -0
- package/cockroach-core/columns/timestamp.js.map +1 -0
- package/cockroach-core/columns/utils.cjs +65 -0
- package/cockroach-core/columns/utils.cjs.map +1 -0
- package/cockroach-core/columns/utils.d.cts +1 -0
- package/cockroach-core/columns/utils.d.ts +1 -0
- package/cockroach-core/columns/utils.js +41 -0
- package/cockroach-core/columns/utils.js.map +1 -0
- package/cockroach-core/columns/uuid.cjs +63 -0
- package/cockroach-core/columns/uuid.cjs.map +1 -0
- package/cockroach-core/columns/uuid.d.cts +26 -0
- package/cockroach-core/columns/uuid.d.ts +26 -0
- package/cockroach-core/columns/uuid.js +37 -0
- package/cockroach-core/columns/uuid.js.map +1 -0
- package/cockroach-core/columns/varchar.cjs +62 -0
- package/cockroach-core/columns/varchar.cjs.map +1 -0
- package/cockroach-core/columns/varchar.d.cts +45 -0
- package/cockroach-core/columns/varchar.d.ts +45 -0
- package/cockroach-core/columns/varchar.js +36 -0
- package/cockroach-core/columns/varchar.js.map +1 -0
- package/cockroach-core/columns/vector.cjs +66 -0
- package/cockroach-core/columns/vector.cjs.map +1 -0
- package/cockroach-core/columns/vector.d.cts +41 -0
- package/cockroach-core/columns/vector.d.ts +41 -0
- package/cockroach-core/columns/vector.js +40 -0
- package/cockroach-core/columns/vector.js.map +1 -0
- package/cockroach-core/db.cjs +346 -0
- package/cockroach-core/db.cjs.map +1 -0
- package/cockroach-core/db.d.cts +282 -0
- package/cockroach-core/db.d.ts +282 -0
- package/cockroach-core/db.js +327 -0
- package/cockroach-core/db.js.map +1 -0
- package/cockroach-core/dialect.cjs +1136 -0
- package/cockroach-core/dialect.cjs.map +1 -0
- package/cockroach-core/dialect.d.cts +65 -0
- package/cockroach-core/dialect.d.ts +65 -0
- package/cockroach-core/dialect.js +1132 -0
- package/cockroach-core/dialect.js.map +1 -0
- package/cockroach-core/expressions.cjs +49 -0
- package/cockroach-core/expressions.cjs.map +1 -0
- package/cockroach-core/expressions.d.cts +8 -0
- package/cockroach-core/expressions.d.ts +8 -0
- package/cockroach-core/expressions.js +22 -0
- package/cockroach-core/expressions.js.map +1 -0
- package/cockroach-core/foreign-keys.cjs +92 -0
- package/cockroach-core/foreign-keys.cjs.map +1 -0
- package/cockroach-core/foreign-keys.d.cts +52 -0
- package/cockroach-core/foreign-keys.d.ts +52 -0
- package/cockroach-core/foreign-keys.js +66 -0
- package/cockroach-core/foreign-keys.js.map +1 -0
- package/cockroach-core/index.cjs +61 -0
- package/cockroach-core/index.cjs.map +1 -0
- package/cockroach-core/index.d.cts +20 -0
- package/cockroach-core/index.d.ts +20 -0
- package/cockroach-core/index.js +21 -0
- package/cockroach-core/index.js.map +1 -0
- package/cockroach-core/indexes.cjs +137 -0
- package/cockroach-core/indexes.cjs.map +1 -0
- package/cockroach-core/indexes.d.cts +64 -0
- package/cockroach-core/indexes.d.ts +64 -0
- package/cockroach-core/indexes.js +109 -0
- package/cockroach-core/indexes.js.map +1 -0
- package/cockroach-core/policies.cjs +58 -0
- package/cockroach-core/policies.cjs.map +1 -0
- package/cockroach-core/policies.d.cts +24 -0
- package/cockroach-core/policies.d.ts +24 -0
- package/cockroach-core/policies.js +33 -0
- package/cockroach-core/policies.js.map +1 -0
- package/cockroach-core/primary-keys.cjs +64 -0
- package/cockroach-core/primary-keys.cjs.map +1 -0
- package/cockroach-core/primary-keys.d.cts +23 -0
- package/cockroach-core/primary-keys.d.ts +23 -0
- package/cockroach-core/primary-keys.js +38 -0
- package/cockroach-core/primary-keys.js.map +1 -0
- package/cockroach-core/query-builders/count.cjs +79 -0
- package/cockroach-core/query-builders/count.cjs.map +1 -0
- package/cockroach-core/query-builders/count.d.cts +29 -0
- package/cockroach-core/query-builders/count.d.ts +29 -0
- package/cockroach-core/query-builders/count.js +55 -0
- package/cockroach-core/query-builders/count.js.map +1 -0
- package/cockroach-core/query-builders/delete.cjs +124 -0
- package/cockroach-core/query-builders/delete.cjs.map +1 -0
- package/cockroach-core/query-builders/delete.d.cts +103 -0
- package/cockroach-core/query-builders/delete.d.ts +103 -0
- package/cockroach-core/query-builders/delete.js +100 -0
- package/cockroach-core/query-builders/delete.js.map +1 -0
- package/cockroach-core/query-builders/index.cjs +35 -0
- package/cockroach-core/query-builders/index.cjs.map +1 -0
- package/cockroach-core/query-builders/index.d.cts +7 -0
- package/cockroach-core/query-builders/index.d.ts +7 -0
- package/cockroach-core/query-builders/index.js +8 -0
- package/cockroach-core/query-builders/index.js.map +1 -0
- package/cockroach-core/query-builders/insert.cjs +213 -0
- package/cockroach-core/query-builders/insert.cjs.map +1 -0
- package/cockroach-core/query-builders/insert.d.cts +171 -0
- package/cockroach-core/query-builders/insert.d.ts +171 -0
- package/cockroach-core/query-builders/insert.js +188 -0
- package/cockroach-core/query-builders/insert.js.map +1 -0
- package/cockroach-core/query-builders/query-builder.cjs +118 -0
- package/cockroach-core/query-builders/query-builder.cjs.map +1 -0
- package/cockroach-core/query-builders/query-builder.d.cts +37 -0
- package/cockroach-core/query-builders/query-builder.d.ts +37 -0
- package/cockroach-core/query-builders/query-builder.js +94 -0
- package/cockroach-core/query-builders/query-builder.js.map +1 -0
- package/cockroach-core/query-builders/query.cjs +145 -0
- package/cockroach-core/query-builders/query.cjs.map +1 -0
- package/cockroach-core/query-builders/query.d.cts +47 -0
- package/cockroach-core/query-builders/query.d.ts +47 -0
- package/cockroach-core/query-builders/query.js +122 -0
- package/cockroach-core/query-builders/query.js.map +1 -0
- package/cockroach-core/query-builders/raw.cjs +57 -0
- package/cockroach-core/query-builders/raw.cjs.map +1 -0
- package/cockroach-core/query-builders/raw.d.cts +22 -0
- package/cockroach-core/query-builders/raw.d.ts +22 -0
- package/cockroach-core/query-builders/raw.js +33 -0
- package/cockroach-core/query-builders/raw.js.map +1 -0
- package/cockroach-core/query-builders/refresh-materialized-view.cjs +83 -0
- package/cockroach-core/query-builders/refresh-materialized-view.cjs.map +1 -0
- package/cockroach-core/query-builders/refresh-materialized-view.d.cts +28 -0
- package/cockroach-core/query-builders/refresh-materialized-view.d.ts +28 -0
- package/cockroach-core/query-builders/refresh-materialized-view.js +59 -0
- package/cockroach-core/query-builders/refresh-materialized-view.js.map +1 -0
- package/cockroach-core/query-builders/select.cjs +848 -0
- package/cockroach-core/query-builders/select.cjs.map +1 -0
- package/cockroach-core/query-builders/select.d.cts +787 -0
- package/cockroach-core/query-builders/select.d.ts +787 -0
- package/cockroach-core/query-builders/select.js +821 -0
- package/cockroach-core/query-builders/select.js.map +1 -0
- package/cockroach-core/query-builders/select.types.cjs +17 -0
- package/cockroach-core/query-builders/select.types.cjs.map +1 -0
- package/cockroach-core/query-builders/select.types.d.cts +139 -0
- package/cockroach-core/query-builders/select.types.d.ts +139 -0
- package/cockroach-core/query-builders/select.types.js +1 -0
- package/cockroach-core/query-builders/select.types.js.map +1 -0
- package/cockroach-core/query-builders/update.cjs +240 -0
- package/cockroach-core/query-builders/update.cjs.map +1 -0
- package/cockroach-core/query-builders/update.d.cts +170 -0
- package/cockroach-core/query-builders/update.d.ts +170 -0
- package/cockroach-core/query-builders/update.js +219 -0
- package/cockroach-core/query-builders/update.js.map +1 -0
- package/cockroach-core/roles.cjs +54 -0
- package/cockroach-core/roles.cjs.map +1 -0
- package/cockroach-core/roles.d.cts +12 -0
- package/cockroach-core/roles.d.ts +12 -0
- package/cockroach-core/roles.js +29 -0
- package/cockroach-core/roles.js.map +1 -0
- package/cockroach-core/schema.cjs +80 -0
- package/cockroach-core/schema.cjs.map +1 -0
- package/cockroach-core/schema.d.cts +22 -0
- package/cockroach-core/schema.d.ts +22 -0
- package/cockroach-core/schema.js +60 -0
- package/cockroach-core/schema.js.map +1 -0
- package/cockroach-core/sequence.cjs +52 -0
- package/cockroach-core/sequence.cjs.map +1 -0
- package/cockroach-core/sequence.d.cts +17 -0
- package/cockroach-core/sequence.d.ts +17 -0
- package/cockroach-core/sequence.js +25 -0
- package/cockroach-core/sequence.js.map +1 -0
- package/cockroach-core/session.cjs +120 -0
- package/cockroach-core/session.cjs.map +1 -0
- package/cockroach-core/session.d.cts +62 -0
- package/cockroach-core/session.d.ts +62 -0
- package/cockroach-core/session.js +94 -0
- package/cockroach-core/session.js.map +1 -0
- package/cockroach-core/subquery.cjs +17 -0
- package/cockroach-core/subquery.cjs.map +1 -0
- package/cockroach-core/subquery.d.cts +18 -0
- package/cockroach-core/subquery.d.ts +18 -0
- package/cockroach-core/subquery.js +1 -0
- package/cockroach-core/subquery.js.map +1 -0
- package/cockroach-core/table.cjs +100 -0
- package/cockroach-core/table.cjs.map +1 -0
- package/cockroach-core/table.d.cts +39 -0
- package/cockroach-core/table.d.ts +39 -0
- package/cockroach-core/table.js +71 -0
- package/cockroach-core/table.js.map +1 -0
- package/cockroach-core/unique-constraint.cjs +77 -0
- package/cockroach-core/unique-constraint.cjs.map +1 -0
- package/cockroach-core/unique-constraint.d.cts +23 -0
- package/cockroach-core/unique-constraint.d.ts +23 -0
- package/cockroach-core/unique-constraint.js +50 -0
- package/cockroach-core/unique-constraint.js.map +1 -0
- package/cockroach-core/utils/array.cjs +106 -0
- package/cockroach-core/utils/array.cjs.map +1 -0
- package/cockroach-core/utils/array.d.cts +3 -0
- package/cockroach-core/utils/array.d.ts +3 -0
- package/cockroach-core/utils/array.js +80 -0
- package/cockroach-core/utils/array.js.map +1 -0
- package/cockroach-core/utils/index.cjs +23 -0
- package/cockroach-core/utils/index.cjs.map +1 -0
- package/cockroach-core/utils/index.d.cts +1 -0
- package/cockroach-core/utils/index.d.ts +1 -0
- package/cockroach-core/utils/index.js +2 -0
- package/cockroach-core/utils/index.js.map +1 -0
- package/cockroach-core/utils.cjs +98 -0
- package/cockroach-core/utils.cjs.map +1 -0
- package/cockroach-core/utils.d.cts +47 -0
- package/cockroach-core/utils.d.ts +47 -0
- package/cockroach-core/utils.js +72 -0
- package/cockroach-core/utils.js.map +1 -0
- package/cockroach-core/view-base.cjs +33 -0
- package/cockroach-core/view-base.cjs.map +1 -0
- package/cockroach-core/view-base.d.cts +8 -0
- package/cockroach-core/view-base.d.ts +8 -0
- package/cockroach-core/view-base.js +9 -0
- package/cockroach-core/view-base.js.map +1 -0
- package/cockroach-core/view.cjs +271 -0
- package/cockroach-core/view.cjs.map +1 -0
- package/cockroach-core/view.d.cts +107 -0
- package/cockroach-core/view.d.ts +107 -0
- package/cockroach-core/view.js +233 -0
- package/cockroach-core/view.js.map +1 -0
- package/column-builder.cjs.map +1 -1
- package/column-builder.d.cts +8 -5
- package/column-builder.d.ts +8 -5
- package/column-builder.js.map +1 -1
- package/column.cjs +2 -0
- package/column.cjs.map +1 -1
- package/column.d.cts +1 -0
- package/column.d.ts +1 -0
- package/column.js +2 -0
- package/column.js.map +1 -1
- package/gel/driver.cjs.map +1 -1
- package/gel/driver.d.cts +1 -1
- package/gel/driver.d.ts +1 -1
- package/gel/driver.js.map +1 -1
- package/mssql-core/alias.cjs +32 -0
- package/mssql-core/alias.cjs.map +1 -0
- package/mssql-core/alias.d.cts +4 -0
- package/mssql-core/alias.d.ts +4 -0
- package/mssql-core/alias.js +8 -0
- package/mssql-core/alias.js.map +1 -0
- package/mssql-core/checks.cjs +58 -0
- package/mssql-core/checks.cjs.map +1 -0
- package/mssql-core/checks.d.cts +18 -0
- package/mssql-core/checks.d.ts +18 -0
- package/mssql-core/checks.js +32 -0
- package/mssql-core/checks.js.map +1 -0
- package/mssql-core/columns/all.cjs +74 -0
- package/mssql-core/columns/all.cjs.map +1 -0
- package/mssql-core/columns/all.d.cts +45 -0
- package/mssql-core/columns/all.d.ts +45 -0
- package/mssql-core/columns/all.js +50 -0
- package/mssql-core/columns/all.js.map +1 -0
- package/mssql-core/columns/bigint.cjs +67 -0
- package/mssql-core/columns/bigint.cjs.map +1 -0
- package/mssql-core/columns/bigint.d.cts +33 -0
- package/mssql-core/columns/bigint.d.ts +33 -0
- package/mssql-core/columns/bigint.js +41 -0
- package/mssql-core/columns/bigint.js.map +1 -0
- package/mssql-core/columns/binary.cjs +57 -0
- package/mssql-core/columns/binary.cjs.map +1 -0
- package/mssql-core/columns/binary.d.cts +28 -0
- package/mssql-core/columns/binary.d.ts +28 -0
- package/mssql-core/columns/binary.js +31 -0
- package/mssql-core/columns/binary.js.map +1 -0
- package/mssql-core/columns/bit.cjs +54 -0
- package/mssql-core/columns/bit.cjs.map +1 -0
- package/mssql-core/columns/bit.d.cts +24 -0
- package/mssql-core/columns/bit.d.ts +24 -0
- package/mssql-core/columns/bit.js +28 -0
- package/mssql-core/columns/bit.js.map +1 -0
- package/mssql-core/columns/char.cjs +74 -0
- package/mssql-core/columns/char.cjs.map +1 -0
- package/mssql-core/columns/char.d.cts +37 -0
- package/mssql-core/columns/char.d.ts +37 -0
- package/mssql-core/columns/char.js +47 -0
- package/mssql-core/columns/char.js.map +1 -0
- package/mssql-core/columns/common.cjs +110 -0
- package/mssql-core/columns/common.cjs.map +1 -0
- package/mssql-core/columns/common.d.cts +67 -0
- package/mssql-core/columns/common.d.ts +67 -0
- package/mssql-core/columns/common.js +83 -0
- package/mssql-core/columns/common.js.map +1 -0
- package/mssql-core/columns/custom.cjs +77 -0
- package/mssql-core/columns/custom.cjs.map +1 -0
- package/mssql-core/columns/custom.d.cts +156 -0
- package/mssql-core/columns/custom.d.ts +156 -0
- package/mssql-core/columns/custom.js +51 -0
- package/mssql-core/columns/custom.js.map +1 -0
- package/mssql-core/columns/date.cjs +94 -0
- package/mssql-core/columns/date.cjs.map +1 -0
- package/mssql-core/columns/date.common.cjs +37 -0
- package/mssql-core/columns/date.common.cjs.map +1 -0
- package/mssql-core/columns/date.common.d.cts +12 -0
- package/mssql-core/columns/date.common.d.ts +12 -0
- package/mssql-core/columns/date.common.js +13 -0
- package/mssql-core/columns/date.common.js.map +1 -0
- package/mssql-core/columns/date.d.cts +55 -0
- package/mssql-core/columns/date.d.ts +55 -0
- package/mssql-core/columns/date.js +66 -0
- package/mssql-core/columns/date.js.map +1 -0
- package/mssql-core/columns/datetime.cjs +94 -0
- package/mssql-core/columns/datetime.cjs.map +1 -0
- package/mssql-core/columns/datetime.d.cts +54 -0
- package/mssql-core/columns/datetime.d.ts +54 -0
- package/mssql-core/columns/datetime.js +66 -0
- package/mssql-core/columns/datetime.js.map +1 -0
- package/mssql-core/columns/datetime2.cjs +102 -0
- package/mssql-core/columns/datetime2.cjs.map +1 -0
- package/mssql-core/columns/datetime2.d.cts +54 -0
- package/mssql-core/columns/datetime2.d.ts +54 -0
- package/mssql-core/columns/datetime2.js +74 -0
- package/mssql-core/columns/datetime2.js.map +1 -0
- package/mssql-core/columns/datetimeoffset.cjs +102 -0
- package/mssql-core/columns/datetimeoffset.cjs.map +1 -0
- package/mssql-core/columns/datetimeoffset.d.cts +54 -0
- package/mssql-core/columns/datetimeoffset.d.ts +54 -0
- package/mssql-core/columns/datetimeoffset.js +74 -0
- package/mssql-core/columns/datetimeoffset.js.map +1 -0
- package/mssql-core/columns/decimal.cjs +146 -0
- package/mssql-core/columns/decimal.cjs.map +1 -0
- package/mssql-core/columns/decimal.d.cts +72 -0
- package/mssql-core/columns/decimal.d.ts +72 -0
- package/mssql-core/columns/decimal.js +116 -0
- package/mssql-core/columns/decimal.js.map +1 -0
- package/mssql-core/columns/float.cjs +58 -0
- package/mssql-core/columns/float.cjs.map +1 -0
- package/mssql-core/columns/float.d.cts +28 -0
- package/mssql-core/columns/float.d.ts +28 -0
- package/mssql-core/columns/float.js +32 -0
- package/mssql-core/columns/float.js.map +1 -0
- package/mssql-core/columns/index.cjs +63 -0
- package/mssql-core/columns/index.cjs.map +1 -0
- package/mssql-core/columns/index.d.cts +21 -0
- package/mssql-core/columns/index.d.ts +21 -0
- package/mssql-core/columns/index.js +22 -0
- package/mssql-core/columns/index.js.map +1 -0
- package/mssql-core/columns/int.cjs +53 -0
- package/mssql-core/columns/int.cjs.map +1 -0
- package/mssql-core/columns/int.d.cts +23 -0
- package/mssql-core/columns/int.d.ts +23 -0
- package/mssql-core/columns/int.js +27 -0
- package/mssql-core/columns/int.js.map +1 -0
- package/mssql-core/columns/numeric.cjs +146 -0
- package/mssql-core/columns/numeric.cjs.map +1 -0
- package/mssql-core/columns/numeric.d.cts +72 -0
- package/mssql-core/columns/numeric.d.ts +72 -0
- package/mssql-core/columns/numeric.js +116 -0
- package/mssql-core/columns/numeric.js.map +1 -0
- package/mssql-core/columns/real.cjs +53 -0
- package/mssql-core/columns/real.cjs.map +1 -0
- package/mssql-core/columns/real.d.cts +23 -0
- package/mssql-core/columns/real.d.ts +23 -0
- package/mssql-core/columns/real.js +27 -0
- package/mssql-core/columns/real.js.map +1 -0
- package/mssql-core/columns/smallint.cjs +62 -0
- package/mssql-core/columns/smallint.cjs.map +1 -0
- package/mssql-core/columns/smallint.d.cts +24 -0
- package/mssql-core/columns/smallint.d.ts +24 -0
- package/mssql-core/columns/smallint.js +36 -0
- package/mssql-core/columns/smallint.js.map +1 -0
- package/mssql-core/columns/text.cjs +68 -0
- package/mssql-core/columns/text.cjs.map +1 -0
- package/mssql-core/columns/text.d.cts +45 -0
- package/mssql-core/columns/text.d.ts +45 -0
- package/mssql-core/columns/text.js +41 -0
- package/mssql-core/columns/text.js.map +1 -0
- package/mssql-core/columns/time.cjs +90 -0
- package/mssql-core/columns/time.cjs.map +1 -0
- package/mssql-core/columns/time.d.cts +49 -0
- package/mssql-core/columns/time.d.ts +49 -0
- package/mssql-core/columns/time.js +62 -0
- package/mssql-core/columns/time.js.map +1 -0
- package/mssql-core/columns/tinyint.cjs +62 -0
- package/mssql-core/columns/tinyint.cjs.map +1 -0
- package/mssql-core/columns/tinyint.d.cts +24 -0
- package/mssql-core/columns/tinyint.d.ts +24 -0
- package/mssql-core/columns/tinyint.js +36 -0
- package/mssql-core/columns/tinyint.js.map +1 -0
- package/mssql-core/columns/varbinary.cjs +61 -0
- package/mssql-core/columns/varbinary.cjs.map +1 -0
- package/mssql-core/columns/varbinary.d.cts +27 -0
- package/mssql-core/columns/varbinary.d.ts +27 -0
- package/mssql-core/columns/varbinary.js +35 -0
- package/mssql-core/columns/varbinary.js.map +1 -0
- package/mssql-core/columns/varchar.cjs +117 -0
- package/mssql-core/columns/varchar.cjs.map +1 -0
- package/mssql-core/columns/varchar.d.cts +66 -0
- package/mssql-core/columns/varchar.d.ts +66 -0
- package/mssql-core/columns/varchar.js +88 -0
- package/mssql-core/columns/varchar.js.map +1 -0
- package/mssql-core/db.cjs +254 -0
- package/mssql-core/db.cjs.map +1 -0
- package/mssql-core/db.d.cts +228 -0
- package/mssql-core/db.d.ts +228 -0
- package/mssql-core/db.js +235 -0
- package/mssql-core/db.js.map +1 -0
- package/mssql-core/dialect.cjs +623 -0
- package/mssql-core/dialect.cjs.map +1 -0
- package/mssql-core/dialect.d.cts +58 -0
- package/mssql-core/dialect.d.ts +58 -0
- package/mssql-core/dialect.js +605 -0
- package/mssql-core/dialect.js.map +1 -0
- package/mssql-core/expressions.cjs +49 -0
- package/mssql-core/expressions.cjs.map +1 -0
- package/mssql-core/expressions.d.cts +8 -0
- package/mssql-core/expressions.d.ts +8 -0
- package/mssql-core/expressions.js +22 -0
- package/mssql-core/expressions.js.map +1 -0
- package/mssql-core/foreign-keys.cjs +91 -0
- package/mssql-core/foreign-keys.cjs.map +1 -0
- package/mssql-core/foreign-keys.d.cts +51 -0
- package/mssql-core/foreign-keys.d.ts +51 -0
- package/mssql-core/foreign-keys.js +65 -0
- package/mssql-core/foreign-keys.js.map +1 -0
- package/mssql-core/index.cjs +55 -0
- package/mssql-core/index.cjs.map +1 -0
- package/mssql-core/index.d.cts +17 -0
- package/mssql-core/index.d.ts +17 -0
- package/mssql-core/index.js +18 -0
- package/mssql-core/index.js.map +1 -0
- package/mssql-core/indexes.cjs +80 -0
- package/mssql-core/indexes.cjs.map +1 -0
- package/mssql-core/indexes.d.cts +49 -0
- package/mssql-core/indexes.d.ts +49 -0
- package/mssql-core/indexes.js +52 -0
- package/mssql-core/indexes.js.map +1 -0
- package/mssql-core/primary-keys.cjs +64 -0
- package/mssql-core/primary-keys.cjs.map +1 -0
- package/mssql-core/primary-keys.d.cts +23 -0
- package/mssql-core/primary-keys.d.ts +23 -0
- package/mssql-core/primary-keys.js +38 -0
- package/mssql-core/primary-keys.js.map +1 -0
- package/mssql-core/query-builders/delete.cjs +107 -0
- package/mssql-core/query-builders/delete.cjs.map +1 -0
- package/mssql-core/query-builders/delete.d.cts +98 -0
- package/mssql-core/query-builders/delete.d.ts +98 -0
- package/mssql-core/query-builders/delete.js +83 -0
- package/mssql-core/query-builders/delete.js.map +1 -0
- package/mssql-core/query-builders/index.cjs +33 -0
- package/mssql-core/query-builders/index.cjs.map +1 -0
- package/mssql-core/query-builders/index.d.cts +6 -0
- package/mssql-core/query-builders/index.d.ts +6 -0
- package/mssql-core/query-builders/index.js +7 -0
- package/mssql-core/query-builders/index.js.map +1 -0
- package/mssql-core/query-builders/insert.cjs +105 -0
- package/mssql-core/query-builders/insert.cjs.map +1 -0
- package/mssql-core/query-builders/insert.d.cts +78 -0
- package/mssql-core/query-builders/insert.d.ts +78 -0
- package/mssql-core/query-builders/insert.js +80 -0
- package/mssql-core/query-builders/insert.js.map +1 -0
- package/mssql-core/query-builders/query-builder.cjs +95 -0
- package/mssql-core/query-builders/query-builder.cjs.map +1 -0
- package/mssql-core/query-builders/query-builder.d.cts +32 -0
- package/mssql-core/query-builders/query-builder.d.ts +32 -0
- package/mssql-core/query-builders/query-builder.js +71 -0
- package/mssql-core/query-builders/query-builder.js.map +1 -0
- package/mssql-core/query-builders/query.cjs +126 -0
- package/mssql-core/query-builders/query.cjs.map +1 -0
- package/mssql-core/query-builders/query.d.cts +42 -0
- package/mssql-core/query-builders/query.d.ts +42 -0
- package/mssql-core/query-builders/query.js +103 -0
- package/mssql-core/query-builders/query.js.map +1 -0
- package/mssql-core/query-builders/select.cjs +679 -0
- package/mssql-core/query-builders/select.cjs.map +1 -0
- package/mssql-core/query-builders/select.d.cts +549 -0
- package/mssql-core/query-builders/select.d.ts +549 -0
- package/mssql-core/query-builders/select.js +649 -0
- package/mssql-core/query-builders/select.js.map +1 -0
- package/mssql-core/query-builders/select.types.cjs +17 -0
- package/mssql-core/query-builders/select.types.cjs.map +1 -0
- package/mssql-core/query-builders/select.types.d.cts +142 -0
- package/mssql-core/query-builders/select.types.d.ts +142 -0
- package/mssql-core/query-builders/select.types.js +1 -0
- package/mssql-core/query-builders/select.types.js.map +1 -0
- package/mssql-core/query-builders/update.cjs +138 -0
- package/mssql-core/query-builders/update.cjs.map +1 -0
- package/mssql-core/query-builders/update.d.cts +141 -0
- package/mssql-core/query-builders/update.d.ts +141 -0
- package/mssql-core/query-builders/update.js +113 -0
- package/mssql-core/query-builders/update.js.map +1 -0
- package/mssql-core/schema.cjs +51 -0
- package/mssql-core/schema.cjs.map +1 -0
- package/mssql-core/schema.d.cts +22 -0
- package/mssql-core/schema.d.ts +22 -0
- package/mssql-core/schema.js +25 -0
- package/mssql-core/schema.js.map +1 -0
- package/mssql-core/session.cjs +74 -0
- package/mssql-core/session.cjs.map +1 -0
- package/mssql-core/session.d.cts +63 -0
- package/mssql-core/session.d.ts +63 -0
- package/mssql-core/session.js +48 -0
- package/mssql-core/session.js.map +1 -0
- package/mssql-core/subquery.cjs +17 -0
- package/mssql-core/subquery.cjs.map +1 -0
- package/mssql-core/subquery.d.cts +18 -0
- package/mssql-core/subquery.d.ts +18 -0
- package/mssql-core/subquery.js +1 -0
- package/mssql-core/subquery.js.map +1 -0
- package/mssql-core/table.cjs +81 -0
- package/mssql-core/table.cjs.map +1 -0
- package/mssql-core/table.d.cts +43 -0
- package/mssql-core/table.d.ts +43 -0
- package/mssql-core/table.js +53 -0
- package/mssql-core/table.js.map +1 -0
- package/mssql-core/unique-constraint.cjs +76 -0
- package/mssql-core/unique-constraint.cjs.map +1 -0
- package/mssql-core/unique-constraint.d.cts +23 -0
- package/mssql-core/unique-constraint.d.ts +23 -0
- package/mssql-core/unique-constraint.js +49 -0
- package/mssql-core/unique-constraint.js.map +1 -0
- package/mssql-core/utils.cjs +85 -0
- package/mssql-core/utils.cjs.map +1 -0
- package/mssql-core/utils.d.cts +31 -0
- package/mssql-core/utils.d.ts +31 -0
- package/mssql-core/utils.js +60 -0
- package/mssql-core/utils.js.map +1 -0
- package/mssql-core/view-base.cjs +33 -0
- package/mssql-core/view-base.cjs.map +1 -0
- package/mssql-core/view-base.d.cts +9 -0
- package/mssql-core/view-base.d.ts +9 -0
- package/mssql-core/view-base.js +9 -0
- package/mssql-core/view-base.js.map +1 -0
- package/mssql-core/view-common.cjs +29 -0
- package/mssql-core/view-common.cjs.map +1 -0
- package/mssql-core/view-common.d.cts +1 -0
- package/mssql-core/view-common.d.ts +1 -0
- package/mssql-core/view-common.js +5 -0
- package/mssql-core/view-common.js.map +1 -0
- package/mssql-core/view.cjs +154 -0
- package/mssql-core/view.cjs.map +1 -0
- package/mssql-core/view.d.cts +64 -0
- package/mssql-core/view.d.ts +64 -0
- package/mssql-core/view.js +125 -0
- package/mssql-core/view.js.map +1 -0
- package/mysql-core/dialect.cjs +3 -0
- package/mysql-core/dialect.cjs.map +1 -1
- package/mysql-core/dialect.d.cts +1 -0
- package/mysql-core/dialect.d.ts +1 -0
- package/mysql-core/dialect.js +3 -0
- package/mysql-core/dialect.js.map +1 -1
- package/mysql-proxy/driver.cjs +2 -2
- package/mysql-proxy/driver.cjs.map +1 -1
- package/mysql-proxy/driver.d.cts +2 -1
- package/mysql-proxy/driver.d.ts +2 -1
- package/mysql-proxy/driver.js +2 -2
- package/mysql-proxy/driver.js.map +1 -1
- package/mysql2/driver.cjs.map +1 -1
- package/mysql2/driver.d.cts +1 -1
- package/mysql2/driver.d.ts +1 -1
- package/mysql2/driver.js.map +1 -1
- package/neon/index.cjs +2 -2
- package/neon/index.cjs.map +1 -1
- package/neon/index.d.cts +1 -1
- package/neon/index.d.ts +1 -1
- package/neon/index.js +1 -1
- package/neon/index.js.map +1 -1
- package/neon/{neon-identity.cjs → neon-auth.cjs} +6 -5
- package/neon/neon-auth.cjs.map +1 -0
- package/neon/{neon-identity.d.cts → neon-auth.d.cts} +17 -0
- package/neon/{neon-identity.d.ts → neon-auth.d.ts} +17 -0
- package/neon/{neon-identity.js → neon-auth.js} +3 -2
- package/neon/neon-auth.js.map +1 -0
- package/neon-serverless/driver.cjs.map +1 -1
- package/neon-serverless/driver.d.cts +1 -1
- package/neon-serverless/driver.d.ts +1 -1
- package/neon-serverless/driver.js.map +1 -1
- package/node-mssql/driver.cjs +107 -0
- package/node-mssql/driver.cjs.map +1 -0
- package/node-mssql/driver.d.cts +46 -0
- package/node-mssql/driver.d.ts +46 -0
- package/node-mssql/driver.js +84 -0
- package/node-mssql/driver.js.map +1 -0
- package/node-mssql/index.cjs +25 -0
- package/node-mssql/index.cjs.map +1 -0
- package/node-mssql/index.d.cts +2 -0
- package/node-mssql/index.d.ts +2 -0
- package/node-mssql/index.js +3 -0
- package/node-mssql/index.js.map +1 -0
- package/node-mssql/migrator.cjs +33 -0
- package/node-mssql/migrator.cjs.map +1 -0
- package/node-mssql/migrator.d.cts +3 -0
- package/node-mssql/migrator.d.ts +3 -0
- package/node-mssql/migrator.js +9 -0
- package/node-mssql/migrator.js.map +1 -0
- package/node-mssql/pool.cjs +54 -0
- package/node-mssql/pool.cjs.map +1 -0
- package/node-mssql/pool.d.cts +8 -0
- package/node-mssql/pool.d.ts +8 -0
- package/node-mssql/pool.js +20 -0
- package/node-mssql/pool.js.map +1 -0
- package/node-mssql/session.cjs +256 -0
- package/node-mssql/session.cjs.map +1 -0
- package/node-mssql/session.d.cts +48 -0
- package/node-mssql/session.d.ts +48 -0
- package/node-mssql/session.js +224 -0
- package/node-mssql/session.js.map +1 -0
- package/node-postgres/driver.cjs.map +1 -1
- package/node-postgres/driver.d.cts +5 -5
- package/node-postgres/driver.d.ts +5 -5
- package/node-postgres/driver.js.map +1 -1
- package/node-postgres/session.cjs.map +1 -1
- package/node-postgres/session.js.map +1 -1
- package/package.json +1459 -29
- package/pg-core/columns/common.cjs +11 -10
- package/pg-core/columns/common.cjs.map +1 -1
- package/pg-core/columns/common.d.cts +3 -2
- package/pg-core/columns/common.d.ts +3 -2
- package/pg-core/columns/common.js +11 -10
- package/pg-core/columns/common.js.map +1 -1
- package/pg-core/foreign-keys.cjs +4 -0
- package/pg-core/foreign-keys.cjs.map +1 -1
- package/pg-core/foreign-keys.d.cts +2 -0
- package/pg-core/foreign-keys.d.ts +2 -0
- package/pg-core/foreign-keys.js +4 -0
- package/pg-core/foreign-keys.js.map +1 -1
- package/pg-core/primary-keys.cjs +3 -0
- package/pg-core/primary-keys.cjs.map +1 -1
- package/pg-core/primary-keys.d.cts +1 -0
- package/pg-core/primary-keys.d.ts +1 -0
- package/pg-core/primary-keys.js +3 -0
- package/pg-core/primary-keys.js.map +1 -1
- package/pg-core/unique-constraint.cjs +5 -0
- package/pg-core/unique-constraint.cjs.map +1 -1
- package/pg-core/unique-constraint.d.cts +2 -0
- package/pg-core/unique-constraint.d.ts +2 -0
- package/pg-core/unique-constraint.js +5 -0
- package/pg-core/unique-constraint.js.map +1 -1
- package/relations.cjs +48 -0
- package/relations.cjs.map +1 -1
- package/relations.d.cts +1 -0
- package/relations.d.ts +1 -0
- package/relations.js +47 -0
- package/relations.js.map +1 -1
- package/singlestore/driver.cjs +11 -15
- package/singlestore/driver.cjs.map +1 -1
- package/singlestore/driver.d.cts +1 -1
- package/singlestore/driver.d.ts +1 -1
- package/singlestore/driver.js +11 -15
- package/singlestore/driver.js.map +1 -1
- package/sql/sql.cjs +9 -2
- package/sql/sql.cjs.map +1 -1
- package/sql/sql.d.cts +1 -1
- package/sql/sql.d.ts +1 -1
- package/sql/sql.js +9 -2
- package/sql/sql.js.map +1 -1
- package/vercel-postgres/driver.cjs.map +1 -1
- package/vercel-postgres/driver.d.cts +1 -1
- package/vercel-postgres/driver.d.ts +1 -1
- package/vercel-postgres/driver.js.map +1 -1
- package/version.cjs +2 -2
- package/version.cjs.map +1 -1
- package/version.d.cts +2 -2
- package/version.d.ts +2 -2
- package/version.js +2 -2
- package/version.js.map +1 -1
- package/neon/neon-identity.cjs.map +0 -1
- package/neon/neon-identity.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/cockroach-core/columns/common.ts"],"sourcesContent":["import type {\n\tColumnBuilderBase,\n\tColumnBuilderBaseConfig,\n\tColumnBuilderExtraConfig,\n\tColumnBuilderRuntimeConfig,\n\tColumnDataType,\n\tHasGenerated,\n\tMakeColumnConfig,\n} from '~/column-builder.ts';\nimport { ColumnBuilder } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { Column } from '~/column.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Simplify, Update } from '~/utils.ts';\n\nimport type { ForeignKey, UpdateDeleteAction } from '~/cockroach-core/foreign-keys.ts';\nimport { ForeignKeyBuilder } from '~/cockroach-core/foreign-keys.ts';\nimport type { AnyCockroachTable, CockroachTable } from '~/cockroach-core/table.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport { iife } from '~/tracing-utils.ts';\nimport { makeCockroachArray, parseCockroachArray } from '../utils/array.ts';\n\nexport interface ReferenceConfig {\n\tref: () => CockroachColumn;\n\tconfig: {\n\t\tname?: string;\n\t\tonUpdate?: UpdateDeleteAction;\n\t\tonDelete?: UpdateDeleteAction;\n\t};\n}\n\nexport interface CockroachColumnBuilderBase<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTTypeConfig extends object = object,\n> extends ColumnBuilderBase<T, TTypeConfig & { dialect: 'cockroach' }> {}\n\nexport abstract class CockroachColumnBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n\tTTypeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends ColumnBuilder<T, TRuntimeConfig, TTypeConfig & { dialect: 'cockroach' }, TExtraConfig>\n\timplements CockroachColumnBuilderBase<T, TTypeConfig>\n{\n\tprivate foreignKeyConfigs: ReferenceConfig[] = [];\n\n\tstatic override readonly [entityKind]: string = 'CockroachColumnBuilder';\n\n\treferences(\n\t\tref: ReferenceConfig['ref'],\n\t\tconfig: ReferenceConfig['config'] = {},\n\t): this {\n\t\tthis.foreignKeyConfigs.push({ ref, config });\n\t\treturn this;\n\t}\n\n\tunique(\n\t\tname?: string,\n\t): this {\n\t\tthis.config.isUnique = true;\n\t\tthis.config.uniqueName = name;\n\t\tthis.config.uniqueNameExplicit = name ? true : false;\n\t\treturn this;\n\t}\n\n\tgeneratedAlwaysAs(as: SQL | T['data'] | (() => SQL)): HasGenerated<this, {\n\t\ttype: 'always';\n\t}> {\n\t\tthis.config.generated = {\n\t\t\tas,\n\t\t\ttype: 'always',\n\t\t\tmode: 'stored',\n\t\t};\n\t\treturn this as HasGenerated<this, {\n\t\t\ttype: 'always';\n\t\t}>;\n\t}\n\n\t/** @internal */\n\tbuildForeignKeys(column: CockroachColumn, table: CockroachTable): ForeignKey[] {\n\t\treturn this.foreignKeyConfigs.map(({ ref, config }) => {\n\t\t\treturn iife(\n\t\t\t\t(ref, config) => {\n\t\t\t\t\tconst builder = new ForeignKeyBuilder(() => {\n\t\t\t\t\t\tconst foreignColumn = ref();\n\t\t\t\t\t\treturn { name: config.name, columns: [column], foreignColumns: [foreignColumn] };\n\t\t\t\t\t});\n\t\t\t\t\tif (config.onUpdate) {\n\t\t\t\t\t\tbuilder.onUpdate(config.onUpdate);\n\t\t\t\t\t}\n\t\t\t\t\tif (config.onDelete) {\n\t\t\t\t\t\tbuilder.onDelete(config.onDelete);\n\t\t\t\t\t}\n\t\t\t\t\treturn builder.build(table);\n\t\t\t\t},\n\t\t\t\tref,\n\t\t\t\tconfig,\n\t\t\t);\n\t\t});\n\t}\n\n\t/** @internal */\n\tabstract build<TTableName extends string>(\n\t\ttable: AnyCockroachTable<{ name: TTableName }>,\n\t): CockroachColumn<MakeColumnConfig<T, TTableName>>;\n\n\t/** @internal */\n\tbuildExtraConfigColumn<TTableName extends string>(\n\t\ttable: AnyCockroachTable<{ name: TTableName }>,\n\t): ExtraConfigColumn {\n\t\treturn new ExtraConfigColumn(table, this.config);\n\t}\n}\n\nexport abstract class CockroachColumnWithArrayBuilder<\n\tT extends ColumnBuilderBaseConfig<ColumnDataType, string> = ColumnBuilderBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = object,\n\tTTypeConfig extends object = object,\n\tTExtraConfig extends ColumnBuilderExtraConfig = ColumnBuilderExtraConfig,\n> extends CockroachColumnBuilder<T, TRuntimeConfig, TTypeConfig & { dialect: 'cockroach' }, TExtraConfig> {\n\tstatic override readonly [entityKind]: string = 'CockroachColumnWithArrayBuilder';\n\tarray<TSize extends number | undefined = undefined>(size?: TSize): Omit<\n\t\tCockroachArrayBuilder<\n\t\t\t& {\n\t\t\t\tname: T['name'];\n\t\t\t\tdataType: 'array';\n\t\t\t\tcolumnType: 'CockroachArray';\n\t\t\t\tdata: T['data'][];\n\t\t\t\tdriverParam: T['driverParam'][] | string;\n\t\t\t\tenumValues: T['enumValues'];\n\t\t\t\tsize: TSize;\n\t\t\t\tbaseBuilder: T;\n\t\t\t}\n\t\t\t& (T extends { notNull: true } ? { notNull: true } : {})\n\t\t\t& (T extends { hasDefault: true } ? { hasDefault: true } : {}),\n\t\t\tT\n\t\t>,\n\t\t'array'\n\t> {\n\t\treturn new CockroachArrayBuilder(\n\t\t\tthis.config.name,\n\t\t\tthis as CockroachColumnWithArrayBuilder<any, any>,\n\t\t\tsize as any,\n\t\t) as any; // size as any\n\t}\n}\n\n// To understand how to use `CockroachColumn` and `AnyCockroachColumn`, see `Column` and `AnyColumn` documentation.\nexport abstract class CockroachColumn<\n\tT extends ColumnBaseConfig<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>,\n\tTRuntimeConfig extends object = {},\n\tTTypeConfig extends object = {},\n> extends Column<T, TRuntimeConfig, TTypeConfig & { dialect: 'cockroach' }> {\n\tstatic override readonly [entityKind]: string = 'CockroachColumn';\n\n\tconstructor(\n\t\toverride readonly table: CockroachTable,\n\t\tconfig: ColumnBuilderRuntimeConfig<T['data'], TRuntimeConfig>,\n\t) {\n\t\tsuper(table, config);\n\t}\n\n\t/** @internal */\n\toverride shouldDisableInsert(): boolean {\n\t\treturn (this.config.generatedIdentity !== undefined && this.config.generatedIdentity.type === 'always')\n\t\t\t|| (this.config.generated !== undefined && this.config.generated.type !== 'byDefault');\n\t}\n}\n\nexport type IndexedExtraConfigType = { order?: 'asc' | 'desc' };\n\nexport class ExtraConfigColumn<\n\tT extends ColumnBaseConfig<ColumnDataType, string> = ColumnBaseConfig<ColumnDataType, string>,\n> extends CockroachColumn<T, IndexedExtraConfigType> {\n\tstatic override readonly [entityKind]: string = 'ExtraConfigColumn';\n\n\toverride getSQLType(): string {\n\t\treturn this.getSQLType();\n\t}\n\n\tindexConfig: IndexedExtraConfigType = {\n\t\torder: this.config.order ?? 'asc',\n\t};\n\tdefaultConfig: IndexedExtraConfigType = {\n\t\torder: 'asc',\n\t};\n\n\tasc(): Omit<this, 'asc' | 'desc'> {\n\t\tthis.indexConfig.order = 'asc';\n\t\treturn this;\n\t}\n\n\tdesc(): Omit<this, 'asc' | 'desc'> {\n\t\tthis.indexConfig.order = 'desc';\n\t\treturn this;\n\t}\n}\n\nexport class IndexedColumn {\n\tstatic readonly [entityKind]: string = 'IndexedColumn';\n\tconstructor(\n\t\tname: string | undefined,\n\t\tkeyAsName: boolean,\n\t\ttype: string,\n\t\tindexConfig: IndexedExtraConfigType,\n\t) {\n\t\tthis.name = name;\n\t\tthis.keyAsName = keyAsName;\n\t\tthis.type = type;\n\t\tthis.indexConfig = indexConfig;\n\t}\n\n\tname: string | undefined;\n\tkeyAsName: boolean;\n\ttype: string;\n\tindexConfig: IndexedExtraConfigType;\n}\n\nexport type AnyCockroachColumn<TPartial extends Partial<ColumnBaseConfig<ColumnDataType, string>> = {}> =\n\tCockroachColumn<\n\t\tRequired<Update<ColumnBaseConfig<ColumnDataType, string>, TPartial>>\n\t>;\n\nexport type CockroachArrayColumnBuilderBaseConfig = ColumnBuilderBaseConfig<'array', 'CockroachArray'> & {\n\tsize: number | undefined;\n\tbaseBuilder: ColumnBuilderBaseConfig<ColumnDataType, string>;\n};\n\nexport class CockroachArrayBuilder<\n\tT extends CockroachArrayColumnBuilderBaseConfig,\n\tTBase extends ColumnBuilderBaseConfig<ColumnDataType, string> | CockroachArrayColumnBuilderBaseConfig,\n> extends CockroachColumnWithArrayBuilder<\n\tT,\n\t{\n\t\tbaseBuilder: TBase extends CockroachArrayColumnBuilderBaseConfig ? CockroachArrayBuilder<\n\t\t\t\tTBase,\n\t\t\t\tTBase extends { baseBuilder: infer TBaseBuilder extends ColumnBuilderBaseConfig<any, any> } ? TBaseBuilder\n\t\t\t\t\t: never\n\t\t\t>\n\t\t\t: CockroachColumnWithArrayBuilder<TBase, {}, Simplify<Omit<TBase, keyof ColumnBuilderBaseConfig<any, any>>>>;\n\t\tsize: T['size'];\n\t},\n\t{\n\t\tbaseBuilder: TBase extends CockroachArrayColumnBuilderBaseConfig ? CockroachArrayBuilder<\n\t\t\t\tTBase,\n\t\t\t\tTBase extends { baseBuilder: infer TBaseBuilder extends ColumnBuilderBaseConfig<any, any> } ? TBaseBuilder\n\t\t\t\t\t: never\n\t\t\t>\n\t\t\t: CockroachColumnWithArrayBuilder<TBase, {}, Simplify<Omit<TBase, keyof ColumnBuilderBaseConfig<any, any>>>>;\n\t\tsize: T['size'];\n\t}\n> {\n\tstatic override readonly [entityKind] = 'CockroachArrayBuilder';\n\n\tconstructor(\n\t\tname: string,\n\t\tbaseBuilder: CockroachArrayBuilder<T, TBase>['config']['baseBuilder'],\n\t\tsize: T['size'],\n\t) {\n\t\tsuper(name, 'array', 'CockroachArray');\n\t\tthis.config.baseBuilder = baseBuilder;\n\t\tthis.config.size = size;\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyCockroachTable<{ name: TTableName }>,\n\t): CockroachArray<MakeColumnConfig<T, TTableName> & { size: T['size']; baseBuilder: T['baseBuilder'] }, TBase> {\n\t\tconst baseColumn = this.config.baseBuilder.build(table);\n\t\treturn new CockroachArray<\n\t\t\tMakeColumnConfig<T, TTableName> & { size: T['size']; baseBuilder: T['baseBuilder'] },\n\t\t\tTBase\n\t\t>(\n\t\t\ttable as AnyCockroachTable<{ name: MakeColumnConfig<T, TTableName>['tableName'] }>,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t\tbaseColumn,\n\t\t);\n\t}\n}\n\nexport class CockroachArray<\n\tT extends ColumnBaseConfig<'array', 'CockroachArray'> & {\n\t\tsize: number | undefined;\n\t\tbaseBuilder: ColumnBuilderBaseConfig<ColumnDataType, string>;\n\t},\n\tTBase extends ColumnBuilderBaseConfig<ColumnDataType, string>,\n> extends CockroachColumn<T, {}, { size: T['size']; baseBuilder: T['baseBuilder'] }> {\n\treadonly size: T['size'];\n\n\tstatic override readonly [entityKind]: string = 'CockroachArray';\n\n\tconstructor(\n\t\ttable: AnyCockroachTable<{ name: T['tableName'] }>,\n\t\tconfig: CockroachArrayBuilder<T, TBase>['config'],\n\t\treadonly baseColumn: CockroachColumn,\n\t\treadonly range?: [number | undefined, number | undefined],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.size = config.size;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn `${this.baseColumn.getSQLType()}[${typeof this.size === 'number' ? this.size : ''}]`;\n\t}\n\n\toverride mapFromDriverValue(value: unknown[] | string): T['data'] {\n\t\tif (typeof value === 'string') {\n\t\t\t// Thank you node-postgres for not parsing enum arrays\n\t\t\tvalue = parseCockroachArray(value);\n\t\t}\n\t\treturn value.map((v) => this.baseColumn.mapFromDriverValue(v));\n\t}\n\n\toverride mapToDriverValue(value: unknown[], isNestedArray = false): unknown[] | string {\n\t\tconst a = value.map((v) =>\n\t\t\tv === null\n\t\t\t\t? null\n\t\t\t\t: is(this.baseColumn, CockroachArray)\n\t\t\t\t? this.baseColumn.mapToDriverValue(v as unknown[], true)\n\t\t\t\t: this.baseColumn.mapToDriverValue(v)\n\t\t);\n\t\tif (isNestedArray) return a;\n\t\treturn makeCockroachArray(a);\n\t}\n}\n"],"mappings":"AASA,SAAS,qBAAqB;AAE9B,SAAS,cAAc;AACvB,SAAS,YAAY,UAAU;AAI/B,SAAS,yBAAyB;AAGlC,SAAS,YAAY;AACrB,SAAS,oBAAoB,2BAA2B;AAgBjD,MAAe,+BAKZ,cAEV;AAAA,EACS,oBAAuC,CAAC;AAAA,EAEhD,QAA0B,UAAU,IAAY;AAAA,EAEhD,WACC,KACA,SAAoC,CAAC,GAC9B;AACP,SAAK,kBAAkB,KAAK,EAAE,KAAK,OAAO,CAAC;AAC3C,WAAO;AAAA,EACR;AAAA,EAEA,OACC,MACO;AACP,SAAK,OAAO,WAAW;AACvB,SAAK,OAAO,aAAa;AACzB,SAAK,OAAO,qBAAqB,OAAO,OAAO;AAC/C,WAAO;AAAA,EACR;AAAA,EAEA,kBAAkB,IAEf;AACF,SAAK,OAAO,YAAY;AAAA,MACvB;AAAA,MACA,MAAM;AAAA,MACN,MAAM;AAAA,IACP;AACA,WAAO;AAAA,EAGR;AAAA;AAAA,EAGA,iBAAiB,QAAyB,OAAqC;AAC9E,WAAO,KAAK,kBAAkB,IAAI,CAAC,EAAE,KAAK,OAAO,MAAM;AACtD,aAAO;AAAA,QACN,CAACA,MAAKC,YAAW;AAChB,gBAAM,UAAU,IAAI,kBAAkB,MAAM;AAC3C,kBAAM,gBAAgBD,KAAI;AAC1B,mBAAO,EAAE,MAAMC,QAAO,MAAM,SAAS,CAAC,MAAM,GAAG,gBAAgB,CAAC,aAAa,EAAE;AAAA,UAChF,CAAC;AACD,cAAIA,QAAO,UAAU;AACpB,oBAAQ,SAASA,QAAO,QAAQ;AAAA,UACjC;AACA,cAAIA,QAAO,UAAU;AACpB,oBAAQ,SAASA,QAAO,QAAQ;AAAA,UACjC;AACA,iBAAO,QAAQ,MAAM,KAAK;AAAA,QAC3B;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,IACD,CAAC;AAAA,EACF;AAAA;AAAA,EAQA,uBACC,OACoB;AACpB,WAAO,IAAI,kBAAkB,OAAO,KAAK,MAAM;AAAA,EAChD;AACD;AAEO,MAAe,wCAKZ,uBAAgG;AAAA,EACzG,QAA0B,UAAU,IAAY;AAAA,EAChD,MAAoD,MAiBlD;AACD,WAAO,IAAI;AAAA,MACV,KAAK,OAAO;AAAA,MACZ;AAAA,MACA;AAAA,IACD;AAAA,EACD;AACD;AAGO,MAAe,wBAIZ,OAAkE;AAAA,EAG3E,YACmB,OAClB,QACC;AACD,UAAM,OAAO,MAAM;AAHD;AAAA,EAInB;AAAA,EAPA,QAA0B,UAAU,IAAY;AAAA;AAAA,EAUvC,sBAA+B;AACvC,WAAQ,KAAK,OAAO,sBAAsB,UAAa,KAAK,OAAO,kBAAkB,SAAS,YACzF,KAAK,OAAO,cAAc,UAAa,KAAK,OAAO,UAAU,SAAS;AAAA,EAC5E;AACD;AAIO,MAAM,0BAEH,gBAA2C;AAAA,EACpD,QAA0B,UAAU,IAAY;AAAA,EAEvC,aAAqB;AAC7B,WAAO,KAAK,WAAW;AAAA,EACxB;AAAA,EAEA,cAAsC;AAAA,IACrC,OAAO,KAAK,OAAO,SAAS;AAAA,EAC7B;AAAA,EACA,gBAAwC;AAAA,IACvC,OAAO;AAAA,EACR;AAAA,EAEA,MAAkC;AACjC,SAAK,YAAY,QAAQ;AACzB,WAAO;AAAA,EACR;AAAA,EAEA,OAAmC;AAClC,SAAK,YAAY,QAAQ;AACzB,WAAO;AAAA,EACR;AACD;AAEO,MAAM,cAAc;AAAA,EAC1B,QAAiB,UAAU,IAAY;AAAA,EACvC,YACC,MACA,WACA,MACA,aACC;AACD,SAAK,OAAO;AACZ,SAAK,YAAY;AACjB,SAAK,OAAO;AACZ,SAAK,cAAc;AAAA,EACpB;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAYO,MAAM,8BAGH,gCAoBR;AAAA,EACD,QAA0B,UAAU,IAAI;AAAA,EAExC,YACC,MACA,aACA,MACC;AACD,UAAM,MAAM,SAAS,gBAAgB;AACrC,SAAK,OAAO,cAAc;AAC1B,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA;AAAA,EAGS,MACR,OAC8G;AAC9G,UAAM,aAAa,KAAK,OAAO,YAAY,MAAM,KAAK;AACtD,WAAO,IAAI;AAAA,MAIV;AAAA,MACA,KAAK;AAAA,MACL;AAAA,IACD;AAAA,EACD;AACD;AAEO,MAAM,uBAMH,gBAA2E;AAAA,EAKpF,YACC,OACA,QACS,YACA,OACR;AACD,UAAM,OAAO,MAAM;AAHV;AACA;AAGT,SAAK,OAAO,OAAO;AAAA,EACpB;AAAA,EAZS;AAAA,EAET,QAA0B,UAAU,IAAY;AAAA,EAYhD,aAAqB;AACpB,WAAO,GAAG,KAAK,WAAW,WAAW,CAAC,IAAI,OAAO,KAAK,SAAS,WAAW,KAAK,OAAO,EAAE;AAAA,EACzF;AAAA,EAES,mBAAmB,OAAsC;AACjE,QAAI,OAAO,UAAU,UAAU;AAE9B,cAAQ,oBAAoB,KAAK;AAAA,IAClC;AACA,WAAO,MAAM,IAAI,CAAC,MAAM,KAAK,WAAW,mBAAmB,CAAC,CAAC;AAAA,EAC9D;AAAA,EAES,iBAAiB,OAAkB,gBAAgB,OAA2B;AACtF,UAAM,IAAI,MAAM;AAAA,MAAI,CAAC,MACpB,MAAM,OACH,OACA,GAAG,KAAK,YAAY,cAAc,IAClC,KAAK,WAAW,iBAAiB,GAAgB,IAAI,IACrD,KAAK,WAAW,iBAAiB,CAAC;AAAA,IACtC;AACA,QAAI,cAAe,QAAO;AAC1B,WAAO,mBAAmB,CAAC;AAAA,EAC5B;AACD;","names":["ref","config"]}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var custom_exports = {};
|
|
20
|
+
__export(custom_exports, {
|
|
21
|
+
CockroachCustomColumn: () => CockroachCustomColumn,
|
|
22
|
+
CockroachCustomColumnBuilder: () => CockroachCustomColumnBuilder,
|
|
23
|
+
customType: () => customType
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(custom_exports);
|
|
26
|
+
var import_entity = require("../../entity.cjs");
|
|
27
|
+
var import_utils = require("../../utils.cjs");
|
|
28
|
+
var import_common = require("./common.cjs");
|
|
29
|
+
class CockroachCustomColumnBuilder extends import_common.CockroachColumnWithArrayBuilder {
|
|
30
|
+
static [import_entity.entityKind] = "CockroachCustomColumnBuilder";
|
|
31
|
+
constructor(name, fieldConfig, customTypeParams) {
|
|
32
|
+
super(name, "custom", "CockroachCustomColumn");
|
|
33
|
+
this.config.fieldConfig = fieldConfig;
|
|
34
|
+
this.config.customTypeParams = customTypeParams;
|
|
35
|
+
}
|
|
36
|
+
/** @internal */
|
|
37
|
+
build(table) {
|
|
38
|
+
return new CockroachCustomColumn(
|
|
39
|
+
table,
|
|
40
|
+
this.config
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
class CockroachCustomColumn extends import_common.CockroachColumn {
|
|
45
|
+
static [import_entity.entityKind] = "CockroachCustomColumn";
|
|
46
|
+
sqlName;
|
|
47
|
+
mapTo;
|
|
48
|
+
mapFrom;
|
|
49
|
+
constructor(table, config) {
|
|
50
|
+
super(table, config);
|
|
51
|
+
this.sqlName = config.customTypeParams.dataType(config.fieldConfig);
|
|
52
|
+
this.mapTo = config.customTypeParams.toDriver;
|
|
53
|
+
this.mapFrom = config.customTypeParams.fromDriver;
|
|
54
|
+
}
|
|
55
|
+
getSQLType() {
|
|
56
|
+
return this.sqlName;
|
|
57
|
+
}
|
|
58
|
+
mapFromDriverValue(value) {
|
|
59
|
+
return typeof this.mapFrom === "function" ? this.mapFrom(value) : value;
|
|
60
|
+
}
|
|
61
|
+
mapToDriverValue(value) {
|
|
62
|
+
return typeof this.mapTo === "function" ? this.mapTo(value) : value;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
function customType(customTypeParams) {
|
|
66
|
+
return (a, b) => {
|
|
67
|
+
const { name, config } = (0, import_utils.getColumnNameAndConfig)(a, b);
|
|
68
|
+
return new CockroachCustomColumnBuilder(name, config, customTypeParams);
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
72
|
+
0 && (module.exports = {
|
|
73
|
+
CockroachCustomColumn,
|
|
74
|
+
CockroachCustomColumnBuilder,
|
|
75
|
+
customType
|
|
76
|
+
});
|
|
77
|
+
//# sourceMappingURL=custom.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/cockroach-core/columns/custom.ts"],"sourcesContent":["import type { AnyCockroachTable } from '~/cockroach-core/table.ts';\nimport type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { CockroachColumn, CockroachColumnWithArrayBuilder } from './common.ts';\n\nexport type ConvertCustomConfig<TName extends string, T extends Partial<CustomTypeValues>> =\n\t& {\n\t\tname: TName;\n\t\tdataType: 'custom';\n\t\tcolumnType: 'CockroachCustomColumn';\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverData'];\n\t\tenumValues: undefined;\n\t}\n\t& (T['notNull'] extends true ? { notNull: true } : {})\n\t& (T['default'] extends true ? { hasDefault: true } : {});\n\nexport interface CockroachCustomColumnInnerConfig {\n\tcustomTypeValues: CustomTypeValues;\n}\n\nexport class CockroachCustomColumnBuilder<T extends ColumnBuilderBaseConfig<'custom', 'CockroachCustomColumn'>>\n\textends CockroachColumnWithArrayBuilder<\n\t\tT,\n\t\t{\n\t\t\tfieldConfig: CustomTypeValues['config'];\n\t\t\tcustomTypeParams: CustomTypeParams<any>;\n\t\t},\n\t\t{\n\t\t\tcockroachColumnBuilderBrand: 'CockroachCustomColumnBuilderBrand';\n\t\t}\n\t>\n{\n\tstatic override readonly [entityKind]: string = 'CockroachCustomColumnBuilder';\n\n\tconstructor(\n\t\tname: T['name'],\n\t\tfieldConfig: CustomTypeValues['config'],\n\t\tcustomTypeParams: CustomTypeParams<any>,\n\t) {\n\t\tsuper(name, 'custom', 'CockroachCustomColumn');\n\t\tthis.config.fieldConfig = fieldConfig;\n\t\tthis.config.customTypeParams = customTypeParams;\n\t}\n\n\t/** @internal */\n\tbuild<TTableName extends string>(\n\t\ttable: AnyCockroachTable<{ name: TTableName }>,\n\t): CockroachCustomColumn<MakeColumnConfig<T, TTableName>> {\n\t\treturn new CockroachCustomColumn<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class CockroachCustomColumn<T extends ColumnBaseConfig<'custom', 'CockroachCustomColumn'>>\n\textends CockroachColumn<T>\n{\n\tstatic override readonly [entityKind]: string = 'CockroachCustomColumn';\n\n\tprivate sqlName: string;\n\tprivate mapTo?: (value: T['data']) => T['driverParam'];\n\tprivate mapFrom?: (value: T['driverParam']) => T['data'];\n\n\tconstructor(\n\t\ttable: AnyCockroachTable<{ name: T['tableName'] }>,\n\t\tconfig: CockroachCustomColumnBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.sqlName = config.customTypeParams.dataType(config.fieldConfig);\n\t\tthis.mapTo = config.customTypeParams.toDriver;\n\t\tthis.mapFrom = config.customTypeParams.fromDriver;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.sqlName;\n\t}\n\n\toverride mapFromDriverValue(value: T['driverParam']): T['data'] {\n\t\treturn typeof this.mapFrom === 'function' ? this.mapFrom(value) : value as T['data'];\n\t}\n\n\toverride mapToDriverValue(value: T['data']): T['driverParam'] {\n\t\treturn typeof this.mapTo === 'function' ? this.mapTo(value) : value as T['data'];\n\t}\n}\n\nexport type CustomTypeValues = {\n\t/**\n\t * Required type for custom column, that will infer proper type model\n\t *\n\t * Examples:\n\t *\n\t * If you want your column to be `string` type after selecting/or on inserting - use `data: string`. Like `text`, `varchar`\n\t *\n\t * If you want your column to be `number` type after selecting/or on inserting - use `data: number`. Like `integer`\n\t */\n\tdata: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is accepting for specific database data type\n\t */\n\tdriverData?: unknown;\n\n\t/**\n\t * What config type should be used for {@link CustomTypeParams} `dataType` generation\n\t */\n\tconfig?: Record<string, any>;\n\n\t/**\n\t * Whether the config argument should be required or not\n\t * @default false\n\t */\n\tconfigRequired?: boolean;\n\n\t/**\n\t * If your custom data type should be notNull by default you can use `notNull: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tnotNull?: boolean;\n\n\t/**\n\t * If your custom data type has default you can use `default: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tdefault?: boolean;\n};\n\nexport interface CustomTypeParams<T extends CustomTypeValues> {\n\t/**\n\t * Database data type string representation, that is used for migrations\n\t * @example\n\t * ```\n\t * `jsonb`, `text`\n\t * ```\n\t *\n\t * If database data type needs additional params you can use them from `config` param\n\t * @example\n\t * ```\n\t * `varchar(256)`, `numeric(2,3)`\n\t * ```\n\t *\n\t * To make `config` be of specific type please use config generic in {@link CustomTypeValues}\n\t *\n\t * @example\n\t * Usage example\n\t * ```\n\t * dataType() {\n\t * return 'boolean';\n\t * },\n\t * ```\n\t * Or\n\t * ```\n\t * dataType(config) {\n\t * \t return typeof config.length !== 'undefined' ? `varchar(${config.length})` : `varchar`;\n\t * \t }\n\t * ```\n\t */\n\tdataType: (config: T['config'] | (Equal<T['configRequired'], true> extends true ? never : undefined)) => string;\n\n\t/**\n\t * Optional mapping function, between user input and driver\n\t * @example\n\t * For example, when using jsonb we need to map JS/TS object to string before writing to database\n\t * ```\n\t * toDriver(value: TData): string {\n\t * \t return JSON.stringify(value);\n\t * }\n\t * ```\n\t */\n\ttoDriver?: (value: T['data']) => T['driverData'] | SQL;\n\n\t/**\n\t * Optional mapping function, that is responsible for data mapping from database to JS/TS code\n\t * @example\n\t * For example, when using timestamp we need to map string Date representation to JS Date\n\t * ```\n\t * fromDriver(value: string): Date {\n\t * \treturn new Date(value);\n\t * },\n\t * ```\n\t */\n\tfromDriver?: (value: T['driverData']) => T['data'];\n}\n\n/**\n * Custom cockroach database data type generator\n */\nexport function customType<T extends CustomTypeValues = CustomTypeValues>(\n\tcustomTypeParams: CustomTypeParams<T>,\n): Equal<T['configRequired'], true> extends true ? {\n\t\t<TConfig extends Record<string, any> & T['config']>(\n\t\t\tfieldConfig: TConfig,\n\t\t): CockroachCustomColumnBuilder<ConvertCustomConfig<'', T>>;\n\t\t<TName extends string>(\n\t\t\tdbName: TName,\n\t\t\tfieldConfig: T['config'],\n\t\t): CockroachCustomColumnBuilder<ConvertCustomConfig<TName, T>>;\n\t}\n\t: {\n\t\t(): CockroachCustomColumnBuilder<ConvertCustomConfig<'', T>>;\n\t\t<TConfig extends Record<string, any> & T['config']>(\n\t\t\tfieldConfig?: TConfig,\n\t\t): CockroachCustomColumnBuilder<ConvertCustomConfig<'', T>>;\n\t\t<TName extends string>(\n\t\t\tdbName: TName,\n\t\t\tfieldConfig?: T['config'],\n\t\t): CockroachCustomColumnBuilder<ConvertCustomConfig<TName, T>>;\n\t}\n{\n\treturn <TName extends string>(\n\t\ta?: TName | T['config'],\n\t\tb?: T['config'],\n\t): CockroachCustomColumnBuilder<ConvertCustomConfig<TName, T>> => {\n\t\tconst { name, config } = getColumnNameAndConfig<T['config']>(a, b);\n\t\treturn new CockroachCustomColumnBuilder(name as ConvertCustomConfig<TName, T>['name'], config, customTypeParams);\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAA2B;AAE3B,mBAAmD;AACnD,oBAAiE;AAkB1D,MAAM,qCACJ,8CAUT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YACC,MACA,aACA,kBACC;AACD,UAAM,MAAM,UAAU,uBAAuB;AAC7C,SAAK,OAAO,cAAc;AAC1B,SAAK,OAAO,mBAAmB;AAAA,EAChC;AAAA;AAAA,EAGA,MACC,OACyD;AACzD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,8BACJ,8BACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAExC;AAAA,EACA;AAAA,EACA;AAAA,EAER,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,UAAU,OAAO,iBAAiB,SAAS,OAAO,WAAW;AAClE,SAAK,QAAQ,OAAO,iBAAiB;AACrC,SAAK,UAAU,OAAO,iBAAiB;AAAA,EACxC;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK;AAAA,EACb;AAAA,EAES,mBAAmB,OAAoC;AAC/D,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI;AAAA,EACnE;AAAA,EAES,iBAAiB,OAAoC;AAC7D,WAAO,OAAO,KAAK,UAAU,aAAa,KAAK,MAAM,KAAK,IAAI;AAAA,EAC/D;AACD;AAmHO,SAAS,WACf,kBAoBD;AACC,SAAO,CACN,GACA,MACiE;AACjE,UAAM,EAAE,MAAM,OAAO,QAAI,qCAAoC,GAAG,CAAC;AACjE,WAAO,IAAI,6BAA6B,MAA+C,QAAQ,gBAAgB;AAAA,EAChH;AACD;","names":[]}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import type { AnyCockroachTable } from "../table.cjs";
|
|
2
|
+
import type { ColumnBuilderBaseConfig } from "../../column-builder.cjs";
|
|
3
|
+
import type { ColumnBaseConfig } from "../../column.cjs";
|
|
4
|
+
import { entityKind } from "../../entity.cjs";
|
|
5
|
+
import type { SQL } from "../../sql/sql.cjs";
|
|
6
|
+
import { type Equal } from "../../utils.cjs";
|
|
7
|
+
import { CockroachColumn, CockroachColumnWithArrayBuilder } from "./common.cjs";
|
|
8
|
+
export type ConvertCustomConfig<TName extends string, T extends Partial<CustomTypeValues>> = {
|
|
9
|
+
name: TName;
|
|
10
|
+
dataType: 'custom';
|
|
11
|
+
columnType: 'CockroachCustomColumn';
|
|
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 CockroachCustomColumnInnerConfig {
|
|
21
|
+
customTypeValues: CustomTypeValues;
|
|
22
|
+
}
|
|
23
|
+
export declare class CockroachCustomColumnBuilder<T extends ColumnBuilderBaseConfig<'custom', 'CockroachCustomColumn'>> extends CockroachColumnWithArrayBuilder<T, {
|
|
24
|
+
fieldConfig: CustomTypeValues['config'];
|
|
25
|
+
customTypeParams: CustomTypeParams<any>;
|
|
26
|
+
}, {
|
|
27
|
+
cockroachColumnBuilderBrand: 'CockroachCustomColumnBuilderBrand';
|
|
28
|
+
}> {
|
|
29
|
+
static readonly [entityKind]: string;
|
|
30
|
+
constructor(name: T['name'], fieldConfig: CustomTypeValues['config'], customTypeParams: CustomTypeParams<any>);
|
|
31
|
+
}
|
|
32
|
+
export declare class CockroachCustomColumn<T extends ColumnBaseConfig<'custom', 'CockroachCustomColumn'>> extends CockroachColumn<T> {
|
|
33
|
+
static readonly [entityKind]: string;
|
|
34
|
+
private sqlName;
|
|
35
|
+
private mapTo?;
|
|
36
|
+
private mapFrom?;
|
|
37
|
+
constructor(table: AnyCockroachTable<{
|
|
38
|
+
name: T['tableName'];
|
|
39
|
+
}>, config: CockroachCustomColumnBuilder<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?: Record<string, any>;
|
|
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 cockroach database data type generator
|
|
147
|
+
*/
|
|
148
|
+
export declare function customType<T extends CustomTypeValues = CustomTypeValues>(customTypeParams: CustomTypeParams<T>): Equal<T['configRequired'], true> extends true ? {
|
|
149
|
+
<TConfig extends Record<string, any> & T['config']>(fieldConfig: TConfig): CockroachCustomColumnBuilder<ConvertCustomConfig<'', T>>;
|
|
150
|
+
<TName extends string>(dbName: TName, fieldConfig: T['config']): CockroachCustomColumnBuilder<ConvertCustomConfig<TName, T>>;
|
|
151
|
+
} : {
|
|
152
|
+
(): CockroachCustomColumnBuilder<ConvertCustomConfig<'', T>>;
|
|
153
|
+
<TConfig extends Record<string, any> & T['config']>(fieldConfig?: TConfig): CockroachCustomColumnBuilder<ConvertCustomConfig<'', T>>;
|
|
154
|
+
<TName extends string>(dbName: TName, fieldConfig?: T['config']): CockroachCustomColumnBuilder<ConvertCustomConfig<TName, T>>;
|
|
155
|
+
};
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import type { AnyCockroachTable } from "../table.js";
|
|
2
|
+
import type { ColumnBuilderBaseConfig } from "../../column-builder.js";
|
|
3
|
+
import type { ColumnBaseConfig } from "../../column.js";
|
|
4
|
+
import { entityKind } from "../../entity.js";
|
|
5
|
+
import type { SQL } from "../../sql/sql.js";
|
|
6
|
+
import { type Equal } from "../../utils.js";
|
|
7
|
+
import { CockroachColumn, CockroachColumnWithArrayBuilder } from "./common.js";
|
|
8
|
+
export type ConvertCustomConfig<TName extends string, T extends Partial<CustomTypeValues>> = {
|
|
9
|
+
name: TName;
|
|
10
|
+
dataType: 'custom';
|
|
11
|
+
columnType: 'CockroachCustomColumn';
|
|
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 CockroachCustomColumnInnerConfig {
|
|
21
|
+
customTypeValues: CustomTypeValues;
|
|
22
|
+
}
|
|
23
|
+
export declare class CockroachCustomColumnBuilder<T extends ColumnBuilderBaseConfig<'custom', 'CockroachCustomColumn'>> extends CockroachColumnWithArrayBuilder<T, {
|
|
24
|
+
fieldConfig: CustomTypeValues['config'];
|
|
25
|
+
customTypeParams: CustomTypeParams<any>;
|
|
26
|
+
}, {
|
|
27
|
+
cockroachColumnBuilderBrand: 'CockroachCustomColumnBuilderBrand';
|
|
28
|
+
}> {
|
|
29
|
+
static readonly [entityKind]: string;
|
|
30
|
+
constructor(name: T['name'], fieldConfig: CustomTypeValues['config'], customTypeParams: CustomTypeParams<any>);
|
|
31
|
+
}
|
|
32
|
+
export declare class CockroachCustomColumn<T extends ColumnBaseConfig<'custom', 'CockroachCustomColumn'>> extends CockroachColumn<T> {
|
|
33
|
+
static readonly [entityKind]: string;
|
|
34
|
+
private sqlName;
|
|
35
|
+
private mapTo?;
|
|
36
|
+
private mapFrom?;
|
|
37
|
+
constructor(table: AnyCockroachTable<{
|
|
38
|
+
name: T['tableName'];
|
|
39
|
+
}>, config: CockroachCustomColumnBuilder<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?: Record<string, any>;
|
|
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 cockroach database data type generator
|
|
147
|
+
*/
|
|
148
|
+
export declare function customType<T extends CustomTypeValues = CustomTypeValues>(customTypeParams: CustomTypeParams<T>): Equal<T['configRequired'], true> extends true ? {
|
|
149
|
+
<TConfig extends Record<string, any> & T['config']>(fieldConfig: TConfig): CockroachCustomColumnBuilder<ConvertCustomConfig<'', T>>;
|
|
150
|
+
<TName extends string>(dbName: TName, fieldConfig: T['config']): CockroachCustomColumnBuilder<ConvertCustomConfig<TName, T>>;
|
|
151
|
+
} : {
|
|
152
|
+
(): CockroachCustomColumnBuilder<ConvertCustomConfig<'', T>>;
|
|
153
|
+
<TConfig extends Record<string, any> & T['config']>(fieldConfig?: TConfig): CockroachCustomColumnBuilder<ConvertCustomConfig<'', T>>;
|
|
154
|
+
<TName extends string>(dbName: TName, fieldConfig?: T['config']): CockroachCustomColumnBuilder<ConvertCustomConfig<TName, T>>;
|
|
155
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { entityKind } from "../../entity.js";
|
|
2
|
+
import { getColumnNameAndConfig } from "../../utils.js";
|
|
3
|
+
import { CockroachColumn, CockroachColumnWithArrayBuilder } from "./common.js";
|
|
4
|
+
class CockroachCustomColumnBuilder extends CockroachColumnWithArrayBuilder {
|
|
5
|
+
static [entityKind] = "CockroachCustomColumnBuilder";
|
|
6
|
+
constructor(name, fieldConfig, customTypeParams) {
|
|
7
|
+
super(name, "custom", "CockroachCustomColumn");
|
|
8
|
+
this.config.fieldConfig = fieldConfig;
|
|
9
|
+
this.config.customTypeParams = customTypeParams;
|
|
10
|
+
}
|
|
11
|
+
/** @internal */
|
|
12
|
+
build(table) {
|
|
13
|
+
return new CockroachCustomColumn(
|
|
14
|
+
table,
|
|
15
|
+
this.config
|
|
16
|
+
);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
class CockroachCustomColumn extends CockroachColumn {
|
|
20
|
+
static [entityKind] = "CockroachCustomColumn";
|
|
21
|
+
sqlName;
|
|
22
|
+
mapTo;
|
|
23
|
+
mapFrom;
|
|
24
|
+
constructor(table, config) {
|
|
25
|
+
super(table, config);
|
|
26
|
+
this.sqlName = config.customTypeParams.dataType(config.fieldConfig);
|
|
27
|
+
this.mapTo = config.customTypeParams.toDriver;
|
|
28
|
+
this.mapFrom = config.customTypeParams.fromDriver;
|
|
29
|
+
}
|
|
30
|
+
getSQLType() {
|
|
31
|
+
return this.sqlName;
|
|
32
|
+
}
|
|
33
|
+
mapFromDriverValue(value) {
|
|
34
|
+
return typeof this.mapFrom === "function" ? this.mapFrom(value) : value;
|
|
35
|
+
}
|
|
36
|
+
mapToDriverValue(value) {
|
|
37
|
+
return typeof this.mapTo === "function" ? this.mapTo(value) : value;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function customType(customTypeParams) {
|
|
41
|
+
return (a, b) => {
|
|
42
|
+
const { name, config } = getColumnNameAndConfig(a, b);
|
|
43
|
+
return new CockroachCustomColumnBuilder(name, config, customTypeParams);
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
export {
|
|
47
|
+
CockroachCustomColumn,
|
|
48
|
+
CockroachCustomColumnBuilder,
|
|
49
|
+
customType
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=custom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/cockroach-core/columns/custom.ts"],"sourcesContent":["import type { AnyCockroachTable } from '~/cockroach-core/table.ts';\nimport type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { SQL } from '~/sql/sql.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { CockroachColumn, CockroachColumnWithArrayBuilder } from './common.ts';\n\nexport type ConvertCustomConfig<TName extends string, T extends Partial<CustomTypeValues>> =\n\t& {\n\t\tname: TName;\n\t\tdataType: 'custom';\n\t\tcolumnType: 'CockroachCustomColumn';\n\t\tdata: T['data'];\n\t\tdriverParam: T['driverData'];\n\t\tenumValues: undefined;\n\t}\n\t& (T['notNull'] extends true ? { notNull: true } : {})\n\t& (T['default'] extends true ? { hasDefault: true } : {});\n\nexport interface CockroachCustomColumnInnerConfig {\n\tcustomTypeValues: CustomTypeValues;\n}\n\nexport class CockroachCustomColumnBuilder<T extends ColumnBuilderBaseConfig<'custom', 'CockroachCustomColumn'>>\n\textends CockroachColumnWithArrayBuilder<\n\t\tT,\n\t\t{\n\t\t\tfieldConfig: CustomTypeValues['config'];\n\t\t\tcustomTypeParams: CustomTypeParams<any>;\n\t\t},\n\t\t{\n\t\t\tcockroachColumnBuilderBrand: 'CockroachCustomColumnBuilderBrand';\n\t\t}\n\t>\n{\n\tstatic override readonly [entityKind]: string = 'CockroachCustomColumnBuilder';\n\n\tconstructor(\n\t\tname: T['name'],\n\t\tfieldConfig: CustomTypeValues['config'],\n\t\tcustomTypeParams: CustomTypeParams<any>,\n\t) {\n\t\tsuper(name, 'custom', 'CockroachCustomColumn');\n\t\tthis.config.fieldConfig = fieldConfig;\n\t\tthis.config.customTypeParams = customTypeParams;\n\t}\n\n\t/** @internal */\n\tbuild<TTableName extends string>(\n\t\ttable: AnyCockroachTable<{ name: TTableName }>,\n\t): CockroachCustomColumn<MakeColumnConfig<T, TTableName>> {\n\t\treturn new CockroachCustomColumn<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class CockroachCustomColumn<T extends ColumnBaseConfig<'custom', 'CockroachCustomColumn'>>\n\textends CockroachColumn<T>\n{\n\tstatic override readonly [entityKind]: string = 'CockroachCustomColumn';\n\n\tprivate sqlName: string;\n\tprivate mapTo?: (value: T['data']) => T['driverParam'];\n\tprivate mapFrom?: (value: T['driverParam']) => T['data'];\n\n\tconstructor(\n\t\ttable: AnyCockroachTable<{ name: T['tableName'] }>,\n\t\tconfig: CockroachCustomColumnBuilder<T>['config'],\n\t) {\n\t\tsuper(table, config);\n\t\tthis.sqlName = config.customTypeParams.dataType(config.fieldConfig);\n\t\tthis.mapTo = config.customTypeParams.toDriver;\n\t\tthis.mapFrom = config.customTypeParams.fromDriver;\n\t}\n\n\tgetSQLType(): string {\n\t\treturn this.sqlName;\n\t}\n\n\toverride mapFromDriverValue(value: T['driverParam']): T['data'] {\n\t\treturn typeof this.mapFrom === 'function' ? this.mapFrom(value) : value as T['data'];\n\t}\n\n\toverride mapToDriverValue(value: T['data']): T['driverParam'] {\n\t\treturn typeof this.mapTo === 'function' ? this.mapTo(value) : value as T['data'];\n\t}\n}\n\nexport type CustomTypeValues = {\n\t/**\n\t * Required type for custom column, that will infer proper type model\n\t *\n\t * Examples:\n\t *\n\t * If you want your column to be `string` type after selecting/or on inserting - use `data: string`. Like `text`, `varchar`\n\t *\n\t * If you want your column to be `number` type after selecting/or on inserting - use `data: number`. Like `integer`\n\t */\n\tdata: unknown;\n\n\t/**\n\t * Type helper, that represents what type database driver is accepting for specific database data type\n\t */\n\tdriverData?: unknown;\n\n\t/**\n\t * What config type should be used for {@link CustomTypeParams} `dataType` generation\n\t */\n\tconfig?: Record<string, any>;\n\n\t/**\n\t * Whether the config argument should be required or not\n\t * @default false\n\t */\n\tconfigRequired?: boolean;\n\n\t/**\n\t * If your custom data type should be notNull by default you can use `notNull: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tnotNull?: boolean;\n\n\t/**\n\t * If your custom data type has default you can use `default: true`\n\t *\n\t * @example\n\t * const customSerial = customType<{ data: number, notNull: true, default: true }>({\n\t * \t dataType() {\n\t * \t return 'serial';\n\t * },\n\t * });\n\t */\n\tdefault?: boolean;\n};\n\nexport interface CustomTypeParams<T extends CustomTypeValues> {\n\t/**\n\t * Database data type string representation, that is used for migrations\n\t * @example\n\t * ```\n\t * `jsonb`, `text`\n\t * ```\n\t *\n\t * If database data type needs additional params you can use them from `config` param\n\t * @example\n\t * ```\n\t * `varchar(256)`, `numeric(2,3)`\n\t * ```\n\t *\n\t * To make `config` be of specific type please use config generic in {@link CustomTypeValues}\n\t *\n\t * @example\n\t * Usage example\n\t * ```\n\t * dataType() {\n\t * return 'boolean';\n\t * },\n\t * ```\n\t * Or\n\t * ```\n\t * dataType(config) {\n\t * \t return typeof config.length !== 'undefined' ? `varchar(${config.length})` : `varchar`;\n\t * \t }\n\t * ```\n\t */\n\tdataType: (config: T['config'] | (Equal<T['configRequired'], true> extends true ? never : undefined)) => string;\n\n\t/**\n\t * Optional mapping function, between user input and driver\n\t * @example\n\t * For example, when using jsonb we need to map JS/TS object to string before writing to database\n\t * ```\n\t * toDriver(value: TData): string {\n\t * \t return JSON.stringify(value);\n\t * }\n\t * ```\n\t */\n\ttoDriver?: (value: T['data']) => T['driverData'] | SQL;\n\n\t/**\n\t * Optional mapping function, that is responsible for data mapping from database to JS/TS code\n\t * @example\n\t * For example, when using timestamp we need to map string Date representation to JS Date\n\t * ```\n\t * fromDriver(value: string): Date {\n\t * \treturn new Date(value);\n\t * },\n\t * ```\n\t */\n\tfromDriver?: (value: T['driverData']) => T['data'];\n}\n\n/**\n * Custom cockroach database data type generator\n */\nexport function customType<T extends CustomTypeValues = CustomTypeValues>(\n\tcustomTypeParams: CustomTypeParams<T>,\n): Equal<T['configRequired'], true> extends true ? {\n\t\t<TConfig extends Record<string, any> & T['config']>(\n\t\t\tfieldConfig: TConfig,\n\t\t): CockroachCustomColumnBuilder<ConvertCustomConfig<'', T>>;\n\t\t<TName extends string>(\n\t\t\tdbName: TName,\n\t\t\tfieldConfig: T['config'],\n\t\t): CockroachCustomColumnBuilder<ConvertCustomConfig<TName, T>>;\n\t}\n\t: {\n\t\t(): CockroachCustomColumnBuilder<ConvertCustomConfig<'', T>>;\n\t\t<TConfig extends Record<string, any> & T['config']>(\n\t\t\tfieldConfig?: TConfig,\n\t\t): CockroachCustomColumnBuilder<ConvertCustomConfig<'', T>>;\n\t\t<TName extends string>(\n\t\t\tdbName: TName,\n\t\t\tfieldConfig?: T['config'],\n\t\t): CockroachCustomColumnBuilder<ConvertCustomConfig<TName, T>>;\n\t}\n{\n\treturn <TName extends string>(\n\t\ta?: TName | T['config'],\n\t\tb?: T['config'],\n\t): CockroachCustomColumnBuilder<ConvertCustomConfig<TName, T>> => {\n\t\tconst { name, config } = getColumnNameAndConfig<T['config']>(a, b);\n\t\treturn new CockroachCustomColumnBuilder(name as ConvertCustomConfig<TName, T>['name'], config, customTypeParams);\n\t};\n}\n"],"mappings":"AAGA,SAAS,kBAAkB;AAE3B,SAAqB,8BAA8B;AACnD,SAAS,iBAAiB,uCAAuC;AAkB1D,MAAM,qCACJ,gCAUT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAEhD,YACC,MACA,aACA,kBACC;AACD,UAAM,MAAM,UAAU,uBAAuB;AAC7C,SAAK,OAAO,cAAc;AAC1B,SAAK,OAAO,mBAAmB;AAAA,EAChC;AAAA;AAAA,EAGA,MACC,OACyD;AACzD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,8BACJ,gBACT;AAAA,EACC,QAA0B,UAAU,IAAY;AAAA,EAExC;AAAA,EACA;AAAA,EACA;AAAA,EAER,YACC,OACA,QACC;AACD,UAAM,OAAO,MAAM;AACnB,SAAK,UAAU,OAAO,iBAAiB,SAAS,OAAO,WAAW;AAClE,SAAK,QAAQ,OAAO,iBAAiB;AACrC,SAAK,UAAU,OAAO,iBAAiB;AAAA,EACxC;AAAA,EAEA,aAAqB;AACpB,WAAO,KAAK;AAAA,EACb;AAAA,EAES,mBAAmB,OAAoC;AAC/D,WAAO,OAAO,KAAK,YAAY,aAAa,KAAK,QAAQ,KAAK,IAAI;AAAA,EACnE;AAAA,EAES,iBAAiB,OAAoC;AAC7D,WAAO,OAAO,KAAK,UAAU,aAAa,KAAK,MAAM,KAAK,IAAI;AAAA,EAC/D;AACD;AAmHO,SAAS,WACf,kBAoBD;AACC,SAAO,CACN,GACA,MACiE;AACjE,UAAM,EAAE,MAAM,OAAO,IAAI,uBAAoC,GAAG,CAAC;AACjE,WAAO,IAAI,6BAA6B,MAA+C,QAAQ,gBAAgB;AAAA,EAChH;AACD;","names":[]}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var date_exports = {};
|
|
20
|
+
__export(date_exports, {
|
|
21
|
+
CockroachDate: () => CockroachDate,
|
|
22
|
+
CockroachDateBuilder: () => CockroachDateBuilder,
|
|
23
|
+
CockroachDateString: () => CockroachDateString,
|
|
24
|
+
CockroachDateStringBuilder: () => CockroachDateStringBuilder,
|
|
25
|
+
date: () => date
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(date_exports);
|
|
28
|
+
var import_entity = require("../../entity.cjs");
|
|
29
|
+
var import_utils = require("../../utils.cjs");
|
|
30
|
+
var import_common = require("./common.cjs");
|
|
31
|
+
var import_date_common = require("./date.common.cjs");
|
|
32
|
+
class CockroachDateBuilder extends import_date_common.CockroachDateColumnBaseBuilder {
|
|
33
|
+
static [import_entity.entityKind] = "CockroachDateBuilder";
|
|
34
|
+
constructor(name) {
|
|
35
|
+
super(name, "date", "CockroachDate");
|
|
36
|
+
}
|
|
37
|
+
/** @internal */
|
|
38
|
+
build(table) {
|
|
39
|
+
return new CockroachDate(
|
|
40
|
+
table,
|
|
41
|
+
this.config
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
class CockroachDate extends import_common.CockroachColumn {
|
|
46
|
+
static [import_entity.entityKind] = "CockroachDate";
|
|
47
|
+
getSQLType() {
|
|
48
|
+
return "date";
|
|
49
|
+
}
|
|
50
|
+
mapFromDriverValue(value) {
|
|
51
|
+
return new Date(value);
|
|
52
|
+
}
|
|
53
|
+
mapToDriverValue(value) {
|
|
54
|
+
return value.toISOString();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
class CockroachDateStringBuilder extends import_date_common.CockroachDateColumnBaseBuilder {
|
|
58
|
+
static [import_entity.entityKind] = "CockroachDateStringBuilder";
|
|
59
|
+
constructor(name) {
|
|
60
|
+
super(name, "string", "CockroachDateString");
|
|
61
|
+
}
|
|
62
|
+
/** @internal */
|
|
63
|
+
build(table) {
|
|
64
|
+
return new CockroachDateString(
|
|
65
|
+
table,
|
|
66
|
+
this.config
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
class CockroachDateString extends import_common.CockroachColumn {
|
|
71
|
+
static [import_entity.entityKind] = "CockroachDateString";
|
|
72
|
+
getSQLType() {
|
|
73
|
+
return "date";
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
function date(a, b) {
|
|
77
|
+
const { name, config } = (0, import_utils.getColumnNameAndConfig)(a, b);
|
|
78
|
+
if (config?.mode === "date") {
|
|
79
|
+
return new CockroachDateBuilder(name);
|
|
80
|
+
}
|
|
81
|
+
return new CockroachDateStringBuilder(name);
|
|
82
|
+
}
|
|
83
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
84
|
+
0 && (module.exports = {
|
|
85
|
+
CockroachDate,
|
|
86
|
+
CockroachDateBuilder,
|
|
87
|
+
CockroachDateString,
|
|
88
|
+
CockroachDateStringBuilder,
|
|
89
|
+
date
|
|
90
|
+
});
|
|
91
|
+
//# sourceMappingURL=date.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/cockroach-core/columns/date.ts"],"sourcesContent":["import type { AnyCockroachTable } from '~/cockroach-core/table.ts';\nimport type { ColumnBuilderBaseConfig, ColumnBuilderRuntimeConfig, MakeColumnConfig } from '~/column-builder.ts';\nimport type { ColumnBaseConfig } from '~/column.ts';\nimport { entityKind } from '~/entity.ts';\nimport { type Equal, getColumnNameAndConfig } from '~/utils.ts';\nimport { CockroachColumn } from './common.ts';\nimport { CockroachDateColumnBaseBuilder } from './date.common.ts';\n\nexport type CockroachDateBuilderInitial<TName extends string> = CockroachDateBuilder<{\n\tname: TName;\n\tdataType: 'date';\n\tcolumnType: 'CockroachDate';\n\tdata: Date;\n\tdriverParam: string;\n\tenumValues: undefined;\n}>;\n\nexport class CockroachDateBuilder<T extends ColumnBuilderBaseConfig<'date', 'CockroachDate'>>\n\textends CockroachDateColumnBaseBuilder<T>\n{\n\tstatic override readonly [entityKind]: string = 'CockroachDateBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'date', 'CockroachDate');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyCockroachTable<{ name: TTableName }>,\n\t): CockroachDate<MakeColumnConfig<T, TTableName>> {\n\t\treturn new CockroachDate<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class CockroachDate<T extends ColumnBaseConfig<'date', 'CockroachDate'>> extends CockroachColumn<T> {\n\tstatic override readonly [entityKind]: string = 'CockroachDate';\n\n\tgetSQLType(): string {\n\t\treturn 'date';\n\t}\n\n\toverride mapFromDriverValue(value: string): Date {\n\t\treturn new Date(value);\n\t}\n\n\toverride mapToDriverValue(value: Date): string {\n\t\treturn value.toISOString();\n\t}\n}\n\nexport type CockroachDateStringBuilderInitial<TName extends string> = CockroachDateStringBuilder<{\n\tname: TName;\n\tdataType: 'string';\n\tcolumnType: 'CockroachDateString';\n\tdata: string;\n\tdriverParam: string;\n\tenumValues: undefined;\n}>;\n\nexport class CockroachDateStringBuilder<T extends ColumnBuilderBaseConfig<'string', 'CockroachDateString'>>\n\textends CockroachDateColumnBaseBuilder<T>\n{\n\tstatic override readonly [entityKind]: string = 'CockroachDateStringBuilder';\n\n\tconstructor(name: T['name']) {\n\t\tsuper(name, 'string', 'CockroachDateString');\n\t}\n\n\t/** @internal */\n\toverride build<TTableName extends string>(\n\t\ttable: AnyCockroachTable<{ name: TTableName }>,\n\t): CockroachDateString<MakeColumnConfig<T, TTableName>> {\n\t\treturn new CockroachDateString<MakeColumnConfig<T, TTableName>>(\n\t\t\ttable,\n\t\t\tthis.config as ColumnBuilderRuntimeConfig<any, any>,\n\t\t);\n\t}\n}\n\nexport class CockroachDateString<T extends ColumnBaseConfig<'string', 'CockroachDateString'>>\n\textends CockroachColumn<T>\n{\n\tstatic override readonly [entityKind]: string = 'CockroachDateString';\n\n\tgetSQLType(): string {\n\t\treturn 'date';\n\t}\n}\n\nexport interface CockroachDateConfig<T extends 'date' | 'string' = 'date' | 'string'> {\n\tmode: T;\n}\n\nexport function date(): CockroachDateStringBuilderInitial<''>;\nexport function date<TMode extends CockroachDateConfig['mode'] & {}>(\n\tconfig?: CockroachDateConfig<TMode>,\n): Equal<TMode, 'date'> extends true ? CockroachDateBuilderInitial<''> : CockroachDateStringBuilderInitial<''>;\nexport function date<TName extends string, TMode extends CockroachDateConfig['mode'] & {}>(\n\tname: TName,\n\tconfig?: CockroachDateConfig<TMode>,\n): Equal<TMode, 'date'> extends true ? CockroachDateBuilderInitial<TName>\n\t: CockroachDateStringBuilderInitial<TName>;\nexport function date(a?: string | CockroachDateConfig, b?: CockroachDateConfig) {\n\tconst { name, config } = getColumnNameAndConfig<CockroachDateConfig>(a, b);\n\tif (config?.mode === 'date') {\n\t\treturn new CockroachDateBuilder(name);\n\t}\n\treturn new CockroachDateStringBuilder(name);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,oBAA2B;AAC3B,mBAAmD;AACnD,oBAAgC;AAChC,yBAA+C;AAWxC,MAAM,6BACJ,kDACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB;AAC5B,UAAM,MAAM,QAAQ,eAAe;AAAA,EACpC;AAAA;AAAA,EAGS,MACR,OACiD;AACjD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,sBAA2E,8BAAmB;AAAA,EAC1G,QAA0B,wBAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AAAA,EAES,mBAAmB,OAAqB;AAChD,WAAO,IAAI,KAAK,KAAK;AAAA,EACtB;AAAA,EAES,iBAAiB,OAAqB;AAC9C,WAAO,MAAM,YAAY;AAAA,EAC1B;AACD;AAWO,MAAM,mCACJ,kDACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEhD,YAAY,MAAiB;AAC5B,UAAM,MAAM,UAAU,qBAAqB;AAAA,EAC5C;AAAA;AAAA,EAGS,MACR,OACuD;AACvD,WAAO,IAAI;AAAA,MACV;AAAA,MACA,KAAK;AAAA,IACN;AAAA,EACD;AACD;AAEO,MAAM,4BACJ,8BACT;AAAA,EACC,QAA0B,wBAAU,IAAY;AAAA,EAEhD,aAAqB;AACpB,WAAO;AAAA,EACR;AACD;AAeO,SAAS,KAAK,GAAkC,GAAyB;AAC/E,QAAM,EAAE,MAAM,OAAO,QAAI,qCAA4C,GAAG,CAAC;AACzE,MAAI,QAAQ,SAAS,QAAQ;AAC5B,WAAO,IAAI,qBAAqB,IAAI;AAAA,EACrC;AACA,SAAO,IAAI,2BAA2B,IAAI;AAC3C;","names":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var date_common_exports = {};
|
|
20
|
+
__export(date_common_exports, {
|
|
21
|
+
CockroachDateColumnBaseBuilder: () => CockroachDateColumnBaseBuilder
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(date_common_exports);
|
|
24
|
+
var import_entity = require("../../entity.cjs");
|
|
25
|
+
var import_sql = require("../../sql/sql.cjs");
|
|
26
|
+
var import_common = require("./common.cjs");
|
|
27
|
+
class CockroachDateColumnBaseBuilder extends import_common.CockroachColumnWithArrayBuilder {
|
|
28
|
+
static [import_entity.entityKind] = "CockroachDateColumnBaseBuilder";
|
|
29
|
+
defaultNow() {
|
|
30
|
+
return this.default(import_sql.sql`now()`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
34
|
+
0 && (module.exports = {
|
|
35
|
+
CockroachDateColumnBaseBuilder
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=date.common.cjs.map
|