drizzle-orm
Version:
Drizzle ORM package for SQL databases
70 lines • 1.69 kB
JavaScript
import { entityKind } from "./entity.js";
const TableName = Symbol.for("drizzle:Name");
const Schema = Symbol.for("drizzle:Schema");
const Columns = Symbol.for("drizzle:Columns");
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,
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
* Used to store the table name before the transformation via the `tableCreator` functions.
*/
[BaseName];
/** @internal */
[IsAlias] = false;
/** @internal */
[ExtraConfigBuilder] = void 0;
[IsDrizzleTable] = true;
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];
}
export {
BaseName,
Columns,
ExtraConfigBuilder,
IsAlias,
OriginalName,
Schema,
Table,
TableName,
getTableName,
isTable
};
//# sourceMappingURL=table.js.map