drizzle-orm
Version:
Drizzle ORM package for SQL databases
34 lines • 1.07 kB
JavaScript
import { entityKind } from "../../entity.js";
import { getColumnNameAndConfig } from "../../utils.js";
import { PgColumn, PgColumnBuilder } from "./common.js";
class PgIntervalBuilder extends PgColumnBuilder {
static [entityKind] = "PgIntervalBuilder";
constructor(name, intervalConfig) {
super(name, "string", "PgInterval");
this.config.intervalConfig = intervalConfig;
}
/** @internal */
build(table) {
return new PgInterval(table, this.config);
}
}
class PgInterval extends PgColumn {
static [entityKind] = "PgInterval";
fields = this.config.intervalConfig.fields;
precision = this.config.intervalConfig.precision;
getSQLType() {
const fields = this.fields ? ` ${this.fields}` : "";
const precision = this.precision ? `(${this.precision})` : "";
return `interval${fields}${precision}`;
}
}
function interval(a, b = {}) {
const { name, config } = getColumnNameAndConfig(a, b);
return new PgIntervalBuilder(name, config);
}
export {
PgInterval,
PgIntervalBuilder,
interval
};
//# sourceMappingURL=interval.js.map