UNPKG

drizzle-orm

Version:

Drizzle ORM package for SQL databases

79 lines 1.97 kB
import { entityKind } from "./entity.js"; import { TableName } from "./table.utils.js"; const Schema = Symbol.for("drizzle:Schema"); const Columns = Symbol.for("drizzle:Columns"); const ExtraConfigColumns = Symbol.for("drizzle:ExtraConfigColumns"); const OriginalName = Symbol.for("drizzle:OriginalName"); const BaseName = Symbol.for("drizzle:BaseName"); const IsAlias = Symbol.for("drizzle:IsAlias"); const ExtraConfigBuilder = Symbol.for("drizzle:ExtraConfigBuilder"); const IsDrizzleTable = Symbol.for("drizzle:IsDrizzleTable"); class Table { static [entityKind] = "Table"; /** @internal */ static Symbol = { Name: TableName, Schema, OriginalName, Columns, ExtraConfigColumns, BaseName, IsAlias, ExtraConfigBuilder }; /** * @internal * Can be changed if the table is aliased. */ [TableName]; /** * @internal * Used to store the original name of the table, before any aliasing. */ [OriginalName]; /** @internal */ [Schema]; /** @internal */ [Columns]; /** @internal */ [ExtraConfigColumns]; /** * @internal * Used to store the table name before the transformation via the `tableCreator` functions. */ [BaseName]; /** @internal */ [IsAlias] = false; /** @internal */ [IsDrizzleTable] = true; /** @internal */ [ExtraConfigBuilder] = void 0; constructor(name, schema, baseName) { this[TableName] = this[OriginalName] = name; this[Schema] = schema; this[BaseName] = baseName; } } function isTable(table) { return typeof table === "object" && table !== null && IsDrizzleTable in table; } function getTableName(table) { return table[TableName]; } function getTableUniqueName(table) { return `${table[Schema] ?? "public"}.${table[TableName]}`; } export { BaseName, Columns, ExtraConfigBuilder, ExtraConfigColumns, IsAlias, OriginalName, Schema, Table, getTableName, getTableUniqueName, isTable }; //# sourceMappingURL=table.js.map