UNPKG

drizzle-orm

Version:

Drizzle ORM package for SQL databases

69 lines 1.68 kB
import { entityKind } from "../../entity.js"; import { getColumnNameAndConfig } from "../../utils.js"; import { PgColumn, PgColumnBuilder } from "./common.js"; class PgBigSerial53Builder extends PgColumnBuilder { static [entityKind] = "PgBigSerial53Builder"; constructor(name) { super(name, "number", "PgBigSerial53"); this.config.hasDefault = true; this.config.notNull = true; } /** @internal */ build(table) { return new PgBigSerial53( table, this.config ); } } class PgBigSerial53 extends PgColumn { static [entityKind] = "PgBigSerial53"; getSQLType() { return "bigserial"; } mapFromDriverValue(value) { if (typeof value === "number") { return value; } return Number(value); } } class PgBigSerial64Builder extends PgColumnBuilder { static [entityKind] = "PgBigSerial64Builder"; constructor(name) { super(name, "bigint", "PgBigSerial64"); this.config.hasDefault = true; } /** @internal */ build(table) { return new PgBigSerial64( table, this.config ); } } class PgBigSerial64 extends PgColumn { static [entityKind] = "PgBigSerial64"; getSQLType() { return "bigserial"; } // eslint-disable-next-line unicorn/prefer-native-coercion-functions mapFromDriverValue(value) { return BigInt(value); } } function bigserial(a, b) { const { name, config } = getColumnNameAndConfig(a, b); if (config.mode === "number") { return new PgBigSerial53Builder(name); } return new PgBigSerial64Builder(name); } export { PgBigSerial53, PgBigSerial53Builder, PgBigSerial64, PgBigSerial64Builder, bigserial }; //# sourceMappingURL=bigserial.js.map