UNPKG

drizzle-orm

Version:

Drizzle ORM package for SQL databases

37 lines 1.08 kB
import { entityKind } from "../../entity.js"; import { getColumnNameAndConfig } from "../../utils.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(a, b) { const { name, config: values } = getColumnNameAndConfig(a, b); 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