drizzle-orm
Version:
Drizzle ORM package for SQL databases
64 lines • 1.55 kB
JavaScript
import { entityKind } from "../../entity.js";
import { getColumnNameAndConfig } from "../../utils.js";
import { PgColumn } from "./common.js";
import { PgIntColumnBaseBuilder } from "./int.common.js";
class PgBigInt53Builder extends PgIntColumnBaseBuilder {
static [entityKind] = "PgBigInt53Builder";
constructor(name) {
super(name, "number", "PgBigInt53");
}
/** @internal */
build(table) {
return new PgBigInt53(table, this.config);
}
}
class PgBigInt53 extends PgColumn {
static [entityKind] = "PgBigInt53";
getSQLType() {
return "bigint";
}
mapFromDriverValue(value) {
if (typeof value === "number") {
return value;
}
return Number(value);
}
}
class PgBigInt64Builder extends PgIntColumnBaseBuilder {
static [entityKind] = "PgBigInt64Builder";
constructor(name) {
super(name, "bigint", "PgBigInt64");
}
/** @internal */
build(table) {
return new PgBigInt64(
table,
this.config
);
}
}
class PgBigInt64 extends PgColumn {
static [entityKind] = "PgBigInt64";
getSQLType() {
return "bigint";
}
// eslint-disable-next-line unicorn/prefer-native-coercion-functions
mapFromDriverValue(value) {
return BigInt(value);
}
}
function bigint(a, b) {
const { name, config } = getColumnNameAndConfig(a, b);
if (config.mode === "number") {
return new PgBigInt53Builder(name);
}
return new PgBigInt64Builder(name);
}
export {
PgBigInt53,
PgBigInt53Builder,
PgBigInt64,
PgBigInt64Builder,
bigint
};
//# sourceMappingURL=bigint.js.map