| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- 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) {
- if (typeof value === "string") return new Date(value);
- return 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";
- }
- mapFromDriverValue(value) {
- if (typeof value === "string") return value;
- return value.toISOString().slice(0, -14);
- }
- }
- 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
|