| Server IP : 159.203.156.69 / Your IP : 216.73.216.37 Web Server : nginx/1.24.0 System : Linux main-ubuntu 6.8.0-71-generic #71-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 16:52:38 UTC 2025 x86_64 User : root ( 0) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/tanviranik.com/node_modules/drizzle-orm/pg-core/columns/ |
Upload File : |
import { entityKind } from "../../entity.js";
import { PgColumn, PgColumnBuilder } from "./common.js";
class PgEnumObjectColumnBuilder extends PgColumnBuilder {
static [entityKind] = "PgEnumObjectColumnBuilder";
constructor(name, enumInstance) {
super(name, "string", "PgEnumObjectColumn");
this.config.enum = enumInstance;
}
/** @internal */
build(table) {
return new PgEnumObjectColumn(
table,
this.config
);
}
}
class PgEnumObjectColumn extends PgColumn {
static [entityKind] = "PgEnumObjectColumn";
enum;
enumValues = this.config.enum.enumValues;
constructor(table, config) {
super(table, config);
this.enum = config.enum;
}
getSQLType() {
return this.enum.enumName;
}
}
const isPgEnumSym = Symbol.for("drizzle:isPgEnum");
function isPgEnum(obj) {
return !!obj && typeof obj === "function" && isPgEnumSym in obj && obj[isPgEnumSym] === true;
}
class PgEnumColumnBuilder extends PgColumnBuilder {
static [entityKind] = "PgEnumColumnBuilder";
constructor(name, enumInstance) {
super(name, "string", "PgEnumColumn");
this.config.enum = enumInstance;
}
/** @internal */
build(table) {
return new PgEnumColumn(
table,
this.config
);
}
}
class PgEnumColumn extends PgColumn {
static [entityKind] = "PgEnumColumn";
enum = this.config.enum;
enumValues = this.config.enum.enumValues;
constructor(table, config) {
super(table, config);
this.enum = config.enum;
}
getSQLType() {
return this.enum.enumName;
}
}
function pgEnum(enumName, input) {
return Array.isArray(input) ? pgEnumWithSchema(enumName, [...input], void 0) : pgEnumObjectWithSchema(enumName, input, void 0);
}
function pgEnumWithSchema(enumName, values, schema) {
const enumInstance = Object.assign(
(name) => new PgEnumColumnBuilder(name ?? "", enumInstance),
{
enumName,
enumValues: values,
schema,
[isPgEnumSym]: true
}
);
return enumInstance;
}
function pgEnumObjectWithSchema(enumName, values, schema) {
const enumInstance = Object.assign(
(name) => new PgEnumObjectColumnBuilder(name ?? "", enumInstance),
{
enumName,
enumValues: Object.values(values),
schema,
[isPgEnumSym]: true
}
);
return enumInstance;
}
export {
PgEnumColumn,
PgEnumColumnBuilder,
PgEnumObjectColumn,
PgEnumObjectColumnBuilder,
isPgEnum,
pgEnum,
pgEnumObjectWithSchema,
pgEnumWithSchema
};
//# sourceMappingURL=enum.js.map