UNPKG

drizzle-orm

Version:

Drizzle ORM package for SQL databases

35 lines 969 B
import { entityKind } from "../../entity.js"; import { MySqlColumn, MySqlColumnBuilder } from "./common.js"; class MySqlEnumColumnBuilder extends MySqlColumnBuilder { static [entityKind] = "MySqlEnumColumnBuilder"; constructor(name, values) { super(name, "string", "MySqlEnumColumn"); this.config.enumValues = values; } /** @internal */ build(table) { return new MySqlEnumColumn( table, this.config ); } } class MySqlEnumColumn extends MySqlColumn { static [entityKind] = "MySqlEnumColumn"; enumValues = this.config.enumValues; getSQLType() { return `enum(${this.enumValues.map((value) => `'${value}'`).join(",")})`; } } function mysqlEnum(name, values) { if (values.length === 0) { throw new Error(`You have an empty array for "${name}" enum values`); } return new MySqlEnumColumnBuilder(name, values); } export { MySqlEnumColumn, MySqlEnumColumnBuilder, mysqlEnum }; //# sourceMappingURL=enum.js.map