drizzle-orm
Version:
Drizzle ORM package for SQL databases
60 lines • 1.39 kB
JavaScript
import { entityKind } from "../../entity.js";
import { getColumnNameAndConfig } from "../../utils.js";
import { PgColumn } from "./common.js";
import { PgDateColumnBaseBuilder } from "./date.common.js";
class PgDateBuilder extends PgDateColumnBaseBuilder {
static [entityKind] = "PgDateBuilder";
constructor(name) {
super(name, "date", "PgDate");
}
/** @internal */
build(table) {
return new PgDate(table, this.config);
}
}
class PgDate extends PgColumn {
static [entityKind] = "PgDate";
getSQLType() {
return "date";
}
mapFromDriverValue(value) {
return new Date(value);
}
mapToDriverValue(value) {
return value.toISOString();
}
}
class PgDateStringBuilder extends PgDateColumnBaseBuilder {
static [entityKind] = "PgDateStringBuilder";
constructor(name) {
super(name, "string", "PgDateString");
}
/** @internal */
build(table) {
return new PgDateString(
table,
this.config
);
}
}
class PgDateString extends PgColumn {
static [entityKind] = "PgDateString";
getSQLType() {
return "date";
}
}
function date(a, b) {
const { name, config } = getColumnNameAndConfig(a, b);
if (config?.mode === "date") {
return new PgDateBuilder(name);
}
return new PgDateStringBuilder(name);
}
export {
PgDate,
PgDateBuilder,
PgDateString,
PgDateStringBuilder,
date
};
//# sourceMappingURL=date.js.map