AK-21/Graphite-Industrial-Intelligence
0
1import { entityKind } from "./entity.js";2import { TableName } from "./table.utils.js";3const Schema = Symbol.for("drizzle:Schema");4const Columns = Symbol.for("drizzle:Columns");5const ExtraConfigColumns = Symbol.for("drizzle:ExtraConfigColumns");6const OriginalName = Symbol.for("drizzle:OriginalName");7const BaseName = Symbol.for("drizzle:BaseName");8const IsAlias = Symbol.for("drizzle:IsAlias");9const ExtraConfigBuilder = Symbol.for("drizzle:ExtraConfigBuilder");10const IsDrizzleTable = Symbol.for("drizzle:IsDrizzleTable");11class Table {12 static [entityKind] = "Table";13 /** @internal */14 static Symbol = {15 Name: TableName,16 Schema,17 OriginalName,18 Columns,19 ExtraConfigColumns,20 BaseName,21 IsAlias,22 ExtraConfigBuilder23 };24 /**25 * @internal26 * Can be changed if the table is aliased.27 */28 [TableName];29 /**30 * @internal31 * Used to store the original name of the table, before any aliasing.32 */33 [OriginalName];34 /** @internal */35 [Schema];36 /** @internal */37 [Columns];38 /** @internal */39 [ExtraConfigColumns];40 /**41 * @internal42 * Used to store the table name before the transformation via the `tableCreator` functions.43 */44 [BaseName];45 /** @internal */46 [IsAlias] = false;47 /** @internal */48 [IsDrizzleTable] = true;49 /** @internal */50 [ExtraConfigBuilder] = void 0;51 constructor(name, schema, baseName) {52 this[TableName] = this[OriginalName] = name;53 this[Schema] = schema;54 this[BaseName] = baseName;55 }56}57function isTable(table) {58 return typeof table === "object" && table !== null && IsDrizzleTable in table;59}60function getTableName(table) {61 return table[TableName];62}63function getTableUniqueName(table) {64 return `${table[Schema] ?? "public"}.${table[TableName]}`;65}66export {67 BaseName,68 Columns,69 ExtraConfigBuilder,70 ExtraConfigColumns,71 IsAlias,72 OriginalName,73 Schema,74 Table,75 getTableName,76 getTableUniqueName,77 isTable78};79//# sourceMappingURL=table.js.map