drizzle-orm 0.35.2 → 0.35.3-4cb1bdb
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/libsql/driver-core.cjs +67 -0
- package/libsql/driver-core.cjs.map +1 -0
- package/libsql/driver-core.d.cts +8 -0
- package/libsql/driver-core.d.ts +8 -0
- package/libsql/driver-core.js +45 -0
- package/libsql/driver-core.js.map +1 -0
- package/libsql/driver.cjs +8 -43
- package/libsql/driver.cjs.map +1 -1
- package/libsql/driver.d.cts +3 -8
- package/libsql/driver.d.ts +3 -8
- package/libsql/driver.js +2 -40
- package/libsql/driver.js.map +1 -1
- package/libsql/http/index.cjs +53 -0
- package/libsql/http/index.cjs.map +1 -0
- package/libsql/http/index.d.cts +24 -0
- package/libsql/http/index.d.ts +24 -0
- package/libsql/http/index.js +29 -0
- package/libsql/http/index.js.map +1 -0
- package/libsql/node/index.cjs +53 -0
- package/libsql/node/index.cjs.map +1 -0
- package/libsql/node/index.d.cts +24 -0
- package/libsql/node/index.d.ts +24 -0
- package/libsql/node/index.js +29 -0
- package/libsql/node/index.js.map +1 -0
- package/libsql/sqlite3/index.cjs +53 -0
- package/libsql/sqlite3/index.cjs.map +1 -0
- package/libsql/sqlite3/index.d.cts +24 -0
- package/libsql/sqlite3/index.d.ts +24 -0
- package/libsql/sqlite3/index.js +29 -0
- package/libsql/sqlite3/index.js.map +1 -0
- package/libsql/wasm/index.cjs +53 -0
- package/libsql/wasm/index.cjs.map +1 -0
- package/libsql/wasm/index.d.cts +24 -0
- package/libsql/wasm/index.d.ts +24 -0
- package/libsql/wasm/index.js +29 -0
- package/libsql/wasm/index.js.map +1 -0
- package/libsql/web/index.cjs +53 -0
- package/libsql/web/index.cjs.map +1 -0
- package/libsql/web/index.d.cts +24 -0
- package/libsql/web/index.d.ts +24 -0
- package/libsql/web/index.js +29 -0
- package/libsql/web/index.js.map +1 -0
- package/libsql/ws/index.cjs +53 -0
- package/libsql/ws/index.cjs.map +1 -0
- package/libsql/ws/index.d.cts +24 -0
- package/libsql/ws/index.d.ts +24 -0
- package/libsql/ws/index.js +29 -0
- package/libsql/ws/index.js.map +1 -0
- package/neon/index.cjs +23 -0
- package/neon/index.cjs.map +1 -0
- package/neon/index.d.cts +1 -0
- package/neon/index.d.ts +1 -0
- package/neon/index.js +2 -0
- package/neon/index.js.map +1 -0
- package/neon/rls.cjs +75 -0
- package/neon/rls.cjs.map +1 -0
- package/neon/rls.d.cts +11 -0
- package/neon/rls.d.ts +11 -0
- package/neon/rls.js +48 -0
- package/neon/rls.js.map +1 -0
- package/package.json +136 -2
- package/pg-core/index.cjs +4 -0
- package/pg-core/index.cjs.map +1 -1
- package/pg-core/index.d.cts +2 -0
- package/pg-core/index.d.ts +2 -0
- package/pg-core/index.js +2 -0
- package/pg-core/index.js.map +1 -1
- package/pg-core/policies.cjs +52 -0
- package/pg-core/policies.cjs.map +1 -0
- package/pg-core/policies.d.cts +22 -0
- package/pg-core/policies.d.ts +22 -0
- package/pg-core/policies.js +27 -0
- package/pg-core/policies.js.map +1 -0
- package/pg-core/roles.cjs +57 -0
- package/pg-core/roles.cjs.map +1 -0
- package/pg-core/roles.d.cts +13 -0
- package/pg-core/roles.d.ts +13 -0
- package/pg-core/roles.js +32 -0
- package/pg-core/roles.js.map +1 -0
- package/pg-core/table.cjs +13 -2
- package/pg-core/table.cjs.map +1 -1
- package/pg-core/table.d.cts +25 -3
- package/pg-core/table.d.ts +25 -3
- package/pg-core/table.js +12 -2
- package/pg-core/table.js.map +1 -1
- package/pg-core/utils.cjs +10 -2
- package/pg-core/utils.cjs.map +1 -1
- package/pg-core/utils.d.cts +3 -0
- package/pg-core/utils.d.ts +3 -0
- package/pg-core/utils.js +10 -2
- package/pg-core/utils.js.map +1 -1
- package/planetscale-serverless/driver.cjs +1 -4
- package/planetscale-serverless/driver.cjs.map +1 -1
- package/planetscale-serverless/driver.js +1 -4
- package/planetscale-serverless/driver.js.map +1 -1
- package/table.cjs.map +1 -1
- package/table.js.map +1 -1
- package/version.cjs +1 -1
- package/version.d.cts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var roles_exports = {};
|
|
20
|
+
__export(roles_exports, {
|
|
21
|
+
PgRole: () => PgRole,
|
|
22
|
+
pgRole: () => pgRole
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(roles_exports);
|
|
25
|
+
var import_entity = require("../entity.cjs");
|
|
26
|
+
class PgRole {
|
|
27
|
+
constructor(name, config) {
|
|
28
|
+
this.name = name;
|
|
29
|
+
if (config) {
|
|
30
|
+
this.createDb = config.createDb;
|
|
31
|
+
this.createRole = config.createRole;
|
|
32
|
+
this.inherit = config.inherit;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
static [import_entity.entityKind] = "PgRole";
|
|
36
|
+
/** @internal */
|
|
37
|
+
_existing;
|
|
38
|
+
/** @internal */
|
|
39
|
+
createDb;
|
|
40
|
+
/** @internal */
|
|
41
|
+
createRole;
|
|
42
|
+
/** @internal */
|
|
43
|
+
inherit;
|
|
44
|
+
existing() {
|
|
45
|
+
this._existing = true;
|
|
46
|
+
return this;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function pgRole(name, config) {
|
|
50
|
+
return new PgRole(name, config);
|
|
51
|
+
}
|
|
52
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
53
|
+
0 && (module.exports = {
|
|
54
|
+
PgRole,
|
|
55
|
+
pgRole
|
|
56
|
+
});
|
|
57
|
+
//# sourceMappingURL=roles.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/pg-core/roles.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\n\nexport interface PgRoleConfig {\n\tcreateDb?: boolean;\n\tcreateRole?: boolean;\n\tinherit?: boolean;\n}\n\nexport class PgRole implements PgRoleConfig {\n\tstatic readonly [entityKind]: string = 'PgRole';\n\n\t/** @internal */\n\t_existing?: boolean;\n\n\t/** @internal */\n\treadonly createDb: PgRoleConfig['createDb'];\n\t/** @internal */\n\treadonly createRole: PgRoleConfig['createRole'];\n\t/** @internal */\n\treadonly inherit: PgRoleConfig['inherit'];\n\n\tconstructor(\n\t\treadonly name: string,\n\t\tconfig?: PgRoleConfig,\n\t) {\n\t\tif (config) {\n\t\t\tthis.createDb = config.createDb;\n\t\t\tthis.createRole = config.createRole;\n\t\t\tthis.inherit = config.inherit;\n\t\t}\n\t}\n\n\texisting(): this {\n\t\tthis._existing = true;\n\t\treturn this;\n\t}\n}\n\nexport function pgRole(name: string, config?: PgRoleConfig) {\n\treturn new PgRole(name, config);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAQpB,MAAM,OAA+B;AAAA,EAa3C,YACU,MACT,QACC;AAFQ;AAGT,QAAI,QAAQ;AACX,WAAK,WAAW,OAAO;AACvB,WAAK,aAAa,OAAO;AACzB,WAAK,UAAU,OAAO;AAAA,IACvB;AAAA,EACD;AAAA,EArBA,QAAiB,wBAAU,IAAY;AAAA;AAAA,EAGvC;AAAA;AAAA,EAGS;AAAA;AAAA,EAEA;AAAA;AAAA,EAEA;AAAA,EAaT,WAAiB;AAChB,SAAK,YAAY;AACjB,WAAO;AAAA,EACR;AACD;AAEO,SAAS,OAAO,MAAc,QAAuB;AAC3D,SAAO,IAAI,OAAO,MAAM,MAAM;AAC/B;","names":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { entityKind } from "../entity.cjs";
|
|
2
|
+
export interface PgRoleConfig {
|
|
3
|
+
createDb?: boolean;
|
|
4
|
+
createRole?: boolean;
|
|
5
|
+
inherit?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare class PgRole implements PgRoleConfig {
|
|
8
|
+
readonly name: string;
|
|
9
|
+
static readonly [entityKind]: string;
|
|
10
|
+
constructor(name: string, config?: PgRoleConfig);
|
|
11
|
+
existing(): this;
|
|
12
|
+
}
|
|
13
|
+
export declare function pgRole(name: string, config?: PgRoleConfig): PgRole;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { entityKind } from "../entity.js";
|
|
2
|
+
export interface PgRoleConfig {
|
|
3
|
+
createDb?: boolean;
|
|
4
|
+
createRole?: boolean;
|
|
5
|
+
inherit?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare class PgRole implements PgRoleConfig {
|
|
8
|
+
readonly name: string;
|
|
9
|
+
static readonly [entityKind]: string;
|
|
10
|
+
constructor(name: string, config?: PgRoleConfig);
|
|
11
|
+
existing(): this;
|
|
12
|
+
}
|
|
13
|
+
export declare function pgRole(name: string, config?: PgRoleConfig): PgRole;
|
package/pg-core/roles.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { entityKind } from "../entity.js";
|
|
2
|
+
class PgRole {
|
|
3
|
+
constructor(name, config) {
|
|
4
|
+
this.name = name;
|
|
5
|
+
if (config) {
|
|
6
|
+
this.createDb = config.createDb;
|
|
7
|
+
this.createRole = config.createRole;
|
|
8
|
+
this.inherit = config.inherit;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
static [entityKind] = "PgRole";
|
|
12
|
+
/** @internal */
|
|
13
|
+
_existing;
|
|
14
|
+
/** @internal */
|
|
15
|
+
createDb;
|
|
16
|
+
/** @internal */
|
|
17
|
+
createRole;
|
|
18
|
+
/** @internal */
|
|
19
|
+
inherit;
|
|
20
|
+
existing() {
|
|
21
|
+
this._existing = true;
|
|
22
|
+
return this;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function pgRole(name, config) {
|
|
26
|
+
return new PgRole(name, config);
|
|
27
|
+
}
|
|
28
|
+
export {
|
|
29
|
+
PgRole,
|
|
30
|
+
pgRole
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=roles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/pg-core/roles.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\n\nexport interface PgRoleConfig {\n\tcreateDb?: boolean;\n\tcreateRole?: boolean;\n\tinherit?: boolean;\n}\n\nexport class PgRole implements PgRoleConfig {\n\tstatic readonly [entityKind]: string = 'PgRole';\n\n\t/** @internal */\n\t_existing?: boolean;\n\n\t/** @internal */\n\treadonly createDb: PgRoleConfig['createDb'];\n\t/** @internal */\n\treadonly createRole: PgRoleConfig['createRole'];\n\t/** @internal */\n\treadonly inherit: PgRoleConfig['inherit'];\n\n\tconstructor(\n\t\treadonly name: string,\n\t\tconfig?: PgRoleConfig,\n\t) {\n\t\tif (config) {\n\t\t\tthis.createDb = config.createDb;\n\t\t\tthis.createRole = config.createRole;\n\t\t\tthis.inherit = config.inherit;\n\t\t}\n\t}\n\n\texisting(): this {\n\t\tthis._existing = true;\n\t\treturn this;\n\t}\n}\n\nexport function pgRole(name: string, config?: PgRoleConfig) {\n\treturn new PgRole(name, config);\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAQpB,MAAM,OAA+B;AAAA,EAa3C,YACU,MACT,QACC;AAFQ;AAGT,QAAI,QAAQ;AACX,WAAK,WAAW,OAAO;AACvB,WAAK,aAAa,OAAO;AACzB,WAAK,UAAU,OAAO;AAAA,IACvB;AAAA,EACD;AAAA,EArBA,QAAiB,UAAU,IAAY;AAAA;AAAA,EAGvC;AAAA;AAAA,EAGS;AAAA;AAAA,EAEA;AAAA;AAAA,EAEA;AAAA,EAaT,WAAiB;AAChB,SAAK,YAAY;AACjB,WAAO;AAAA,EACR;AACD;AAEO,SAAS,OAAO,MAAc,QAAuB;AAC3D,SAAO,IAAI,OAAO,MAAM,MAAM;AAC/B;","names":[]}
|
package/pg-core/table.cjs
CHANGED
|
@@ -18,6 +18,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var table_exports = {};
|
|
20
20
|
__export(table_exports, {
|
|
21
|
+
EnableRLS: () => EnableRLS,
|
|
21
22
|
InlineForeignKeys: () => InlineForeignKeys,
|
|
22
23
|
PgTable: () => PgTable,
|
|
23
24
|
pgTable: () => pgTable,
|
|
@@ -29,15 +30,19 @@ var import_entity = require("../entity.cjs");
|
|
|
29
30
|
var import_table = require("../table.cjs");
|
|
30
31
|
var import_all = require("./columns/all.cjs");
|
|
31
32
|
const InlineForeignKeys = Symbol.for("drizzle:PgInlineForeignKeys");
|
|
33
|
+
const EnableRLS = Symbol.for("drizzle:EnableRLS");
|
|
32
34
|
class PgTable extends import_table.Table {
|
|
33
35
|
static [import_entity.entityKind] = "PgTable";
|
|
34
36
|
/** @internal */
|
|
35
37
|
static Symbol = Object.assign({}, import_table.Table.Symbol, {
|
|
36
|
-
InlineForeignKeys
|
|
38
|
+
InlineForeignKeys,
|
|
39
|
+
EnableRLS
|
|
37
40
|
});
|
|
38
41
|
/**@internal */
|
|
39
42
|
[InlineForeignKeys] = [];
|
|
40
43
|
/** @internal */
|
|
44
|
+
[EnableRLS] = false;
|
|
45
|
+
/** @internal */
|
|
41
46
|
[import_table.Table.Symbol.ExtraConfigBuilder] = void 0;
|
|
42
47
|
}
|
|
43
48
|
function pgTableWithSchema(name, columns, extraConfig, schema, baseName = name) {
|
|
@@ -66,7 +71,12 @@ function pgTableWithSchema(name, columns, extraConfig, schema, baseName = name)
|
|
|
66
71
|
if (extraConfig) {
|
|
67
72
|
table[PgTable.Symbol.ExtraConfigBuilder] = extraConfig;
|
|
68
73
|
}
|
|
69
|
-
return table
|
|
74
|
+
return Object.assign(table, {
|
|
75
|
+
enableRLS: () => {
|
|
76
|
+
table[PgTable.Symbol.EnableRLS] = true;
|
|
77
|
+
return table;
|
|
78
|
+
}
|
|
79
|
+
});
|
|
70
80
|
}
|
|
71
81
|
const pgTable = (name, columns, extraConfig) => {
|
|
72
82
|
return pgTableWithSchema(name, columns, extraConfig, void 0);
|
|
@@ -78,6 +88,7 @@ function pgTableCreator(customizeTableName) {
|
|
|
78
88
|
}
|
|
79
89
|
// Annotate the CommonJS export names for ESM import in node:
|
|
80
90
|
0 && (module.exports = {
|
|
91
|
+
EnableRLS,
|
|
81
92
|
InlineForeignKeys,
|
|
82
93
|
PgTable,
|
|
83
94
|
pgTable,
|
package/pg-core/table.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/pg-core/table.ts"],"sourcesContent":["import type { BuildColumns, BuildExtraConfigColumns } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from '~/table.ts';\nimport type { CheckBuilder } from './checks.ts';\nimport { getPgColumnBuilders, type PgColumnsBuilders } from './columns/all.ts';\nimport type { PgColumn, PgColumnBuilder, PgColumnBuilderBase } from './columns/common.ts';\nimport type { ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { AnyIndexBuilder } from './indexes.ts';\nimport type { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { UniqueConstraintBuilder } from './unique-constraint.ts';\n\nexport type
|
|
1
|
+
{"version":3,"sources":["../../src/pg-core/table.ts"],"sourcesContent":["import type { BuildColumns, BuildExtraConfigColumns } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from '~/table.ts';\nimport type { CheckBuilder } from './checks.ts';\nimport { getPgColumnBuilders, type PgColumnsBuilders } from './columns/all.ts';\nimport type { PgColumn, PgColumnBuilder, PgColumnBuilderBase } from './columns/common.ts';\nimport type { ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { AnyIndexBuilder } from './indexes.ts';\nimport type { PgPolicy } from './policies.ts';\nimport type { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { UniqueConstraintBuilder } from './unique-constraint.ts';\n\nexport type PgTableExtraConfigValue =\n\t| AnyIndexBuilder\n\t| CheckBuilder\n\t| ForeignKeyBuilder\n\t| PrimaryKeyBuilder\n\t| UniqueConstraintBuilder\n\t| PgPolicy;\n\nexport type PgTableExtraConfig = Record<\n\tstring,\n\tPgTableExtraConfigValue\n>;\n\nexport type TableConfig = TableConfigBase<PgColumn>;\n\n/** @internal */\nexport const InlineForeignKeys = Symbol.for('drizzle:PgInlineForeignKeys');\n/** @internal */\nexport const EnableRLS = Symbol.for('drizzle:EnableRLS');\n\nexport class PgTable<T extends TableConfig = TableConfig> extends Table<T> {\n\tstatic override readonly [entityKind]: string = 'PgTable';\n\n\t/** @internal */\n\tstatic override readonly Symbol = Object.assign({}, Table.Symbol, {\n\t\tInlineForeignKeys: InlineForeignKeys as typeof InlineForeignKeys,\n\t\tEnableRLS: EnableRLS as typeof EnableRLS,\n\t});\n\n\t/**@internal */\n\t[InlineForeignKeys]: ForeignKey[] = [];\n\n\t/** @internal */\n\t[EnableRLS]: boolean = false;\n\n\t/** @internal */\n\toverride [Table.Symbol.ExtraConfigBuilder]: ((self: Record<string, PgColumn>) => PgTableExtraConfig) | undefined =\n\t\tundefined;\n}\n\nexport type AnyPgTable<TPartial extends Partial<TableConfig> = {}> = PgTable<UpdateTableConfig<TableConfig, TPartial>>;\n\nexport type PgTableWithColumns<T extends TableConfig> =\n\t& PgTable<T>\n\t& {\n\t\t[Key in keyof T['columns']]: T['columns'][Key];\n\t}\n\t& {\n\t\tenableRLS: () => Omit<\n\t\t\tPgTableWithColumns<T>,\n\t\t\t'enableRLS'\n\t\t>;\n\t};\n\n/** @internal */\nexport function pgTableWithSchema<\n\tTTableName extends string,\n\tTSchemaName extends string | undefined,\n\tTColumnsMap extends Record<string, PgColumnBuilderBase>,\n>(\n\tname: TTableName,\n\tcolumns: TColumnsMap | ((columnTypes: PgColumnsBuilders) => TColumnsMap),\n\textraConfig:\n\t\t| ((self: BuildExtraConfigColumns<TTableName, TColumnsMap, 'pg'>) => PgTableExtraConfig | PgTableExtraConfigValue[])\n\t\t| undefined,\n\tschema: TSchemaName,\n\tbaseName = name,\n): PgTableWithColumns<{\n\tname: TTableName;\n\tschema: TSchemaName;\n\tcolumns: BuildColumns<TTableName, TColumnsMap, 'pg'>;\n\tdialect: 'pg';\n}> {\n\tconst rawTable = new PgTable<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'pg'>;\n\t\tdialect: 'pg';\n\t}>(name, schema, baseName);\n\n\tconst parsedColumns: TColumnsMap = typeof columns === 'function' ? columns(getPgColumnBuilders()) : columns;\n\n\tconst builtColumns = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as PgColumnBuilder;\n\t\t\tcolBuilder.setName(name);\n\t\t\tconst column = colBuilder.build(rawTable);\n\t\t\trawTable[InlineForeignKeys].push(...colBuilder.buildForeignKeys(column, rawTable));\n\t\t\treturn [name, column];\n\t\t}),\n\t) as unknown as BuildColumns<TTableName, TColumnsMap, 'pg'>;\n\n\tconst builtColumnsForExtraConfig = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as PgColumnBuilder;\n\t\t\tcolBuilder.setName(name);\n\t\t\tconst column = colBuilder.buildExtraConfigColumn(rawTable);\n\t\t\treturn [name, column];\n\t\t}),\n\t) as unknown as BuildExtraConfigColumns<TTableName, TColumnsMap, 'pg'>;\n\n\tconst table = Object.assign(rawTable, builtColumns);\n\n\ttable[Table.Symbol.Columns] = builtColumns;\n\ttable[Table.Symbol.ExtraConfigColumns] = builtColumnsForExtraConfig;\n\n\tif (extraConfig) {\n\t\ttable[PgTable.Symbol.ExtraConfigBuilder] = extraConfig as any;\n\t}\n\n\treturn Object.assign(table, {\n\t\tenableRLS: () => {\n\t\t\ttable[PgTable.Symbol.EnableRLS] = true;\n\t\t\treturn table as PgTableWithColumns<{\n\t\t\t\tname: TTableName;\n\t\t\t\tschema: TSchemaName;\n\t\t\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'pg'>;\n\t\t\t\tdialect: 'pg';\n\t\t\t}>;\n\t\t},\n\t});\n}\n\nexport interface PgTableFn<TSchema extends string | undefined = undefined> {\n\t/**\n\t * @deprecated This overload is deprecated. Use the other method overload instead.\n\t */\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, PgColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig: (\n\t\t\tself: BuildExtraConfigColumns<TTableName, TColumnsMap, 'pg'>,\n\t\t) => PgTableExtraConfig,\n\t): PgTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'pg'>;\n\t\tdialect: 'pg';\n\t}>;\n\n\t/**\n\t * @deprecated This overload is deprecated. Use the other method overload instead.\n\t */\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, PgColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: PgColumnsBuilders) => TColumnsMap,\n\t\textraConfig: (self: BuildExtraConfigColumns<TTableName, TColumnsMap, 'pg'>) => PgTableExtraConfig,\n\t): PgTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'pg'>;\n\t\tdialect: 'pg';\n\t}>;\n\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, PgColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (\n\t\t\tself: BuildExtraConfigColumns<TTableName, TColumnsMap, 'pg'>,\n\t\t) => PgTableExtraConfigValue[],\n\t): PgTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'pg'>;\n\t\tdialect: 'pg';\n\t}>;\n\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, PgColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: PgColumnsBuilders) => TColumnsMap,\n\t\textraConfig?: (self: BuildExtraConfigColumns<TTableName, TColumnsMap, 'pg'>) => PgTableExtraConfigValue[],\n\t): PgTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'pg'>;\n\t\tdialect: 'pg';\n\t}>;\n}\n\nexport const pgTable: PgTableFn = (name, columns, extraConfig) => {\n\treturn pgTableWithSchema(name, columns, extraConfig, undefined);\n};\n\nexport function pgTableCreator(customizeTableName: (name: string) => string): PgTableFn {\n\treturn (name, columns, extraConfig) => {\n\t\treturn pgTableWithSchema(customizeTableName(name) as typeof name, columns, extraConfig, undefined, name);\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAC3B,mBAAmF;AAEnF,iBAA4D;AAwBrD,MAAM,oBAAoB,OAAO,IAAI,6BAA6B;AAElE,MAAM,YAAY,OAAO,IAAI,mBAAmB;AAEhD,MAAM,gBAAqD,mBAAS;AAAA,EAC1E,QAA0B,wBAAU,IAAY;AAAA;AAAA,EAGhD,OAAyB,SAAS,OAAO,OAAO,CAAC,GAAG,mBAAM,QAAQ;AAAA,IACjE;AAAA,IACA;AAAA,EACD,CAAC;AAAA;AAAA,EAGD,CAAC,iBAAiB,IAAkB,CAAC;AAAA;AAAA,EAGrC,CAAC,SAAS,IAAa;AAAA;AAAA,EAGvB,CAAU,mBAAM,OAAO,kBAAkB,IACxC;AACF;AAiBO,SAAS,kBAKf,MACA,SACA,aAGA,QACA,WAAW,MAMT;AACF,QAAM,WAAW,IAAI,QAKlB,MAAM,QAAQ,QAAQ;AAEzB,QAAM,gBAA6B,OAAO,YAAY,aAAa,YAAQ,gCAAoB,CAAC,IAAI;AAEpG,QAAM,eAAe,OAAO;AAAA,IAC3B,OAAO,QAAQ,aAAa,EAAE,IAAI,CAAC,CAACA,OAAM,cAAc,MAAM;AAC7D,YAAM,aAAa;AACnB,iBAAW,QAAQA,KAAI;AACvB,YAAM,SAAS,WAAW,MAAM,QAAQ;AACxC,eAAS,iBAAiB,EAAE,KAAK,GAAG,WAAW,iBAAiB,QAAQ,QAAQ,CAAC;AACjF,aAAO,CAACA,OAAM,MAAM;AAAA,IACrB,CAAC;AAAA,EACF;AAEA,QAAM,6BAA6B,OAAO;AAAA,IACzC,OAAO,QAAQ,aAAa,EAAE,IAAI,CAAC,CAACA,OAAM,cAAc,MAAM;AAC7D,YAAM,aAAa;AACnB,iBAAW,QAAQA,KAAI;AACvB,YAAM,SAAS,WAAW,uBAAuB,QAAQ;AACzD,aAAO,CAACA,OAAM,MAAM;AAAA,IACrB,CAAC;AAAA,EACF;AAEA,QAAM,QAAQ,OAAO,OAAO,UAAU,YAAY;AAElD,QAAM,mBAAM,OAAO,OAAO,IAAI;AAC9B,QAAM,mBAAM,OAAO,kBAAkB,IAAI;AAEzC,MAAI,aAAa;AAChB,UAAM,QAAQ,OAAO,kBAAkB,IAAI;AAAA,EAC5C;AAEA,SAAO,OAAO,OAAO,OAAO;AAAA,IAC3B,WAAW,MAAM;AAChB,YAAM,QAAQ,OAAO,SAAS,IAAI;AAClC,aAAO;AAAA,IAMR;AAAA,EACD,CAAC;AACF;AAsEO,MAAM,UAAqB,CAAC,MAAM,SAAS,gBAAgB;AACjE,SAAO,kBAAkB,MAAM,SAAS,aAAa,MAAS;AAC/D;AAEO,SAAS,eAAe,oBAAyD;AACvF,SAAO,CAAC,MAAM,SAAS,gBAAgB;AACtC,WAAO,kBAAkB,mBAAmB,IAAI,GAAkB,SAAS,aAAa,QAAW,IAAI;AAAA,EACxG;AACD;","names":["name"]}
|
package/pg-core/table.d.cts
CHANGED
|
@@ -6,9 +6,11 @@ import { type PgColumnsBuilders } from "./columns/all.cjs";
|
|
|
6
6
|
import type { PgColumn, PgColumnBuilderBase } from "./columns/common.cjs";
|
|
7
7
|
import type { ForeignKeyBuilder } from "./foreign-keys.cjs";
|
|
8
8
|
import type { AnyIndexBuilder } from "./indexes.cjs";
|
|
9
|
+
import type { PgPolicy } from "./policies.cjs";
|
|
9
10
|
import type { PrimaryKeyBuilder } from "./primary-keys.cjs";
|
|
10
11
|
import type { UniqueConstraintBuilder } from "./unique-constraint.cjs";
|
|
11
|
-
export type
|
|
12
|
+
export type PgTableExtraConfigValue = AnyIndexBuilder | CheckBuilder | ForeignKeyBuilder | PrimaryKeyBuilder | UniqueConstraintBuilder | PgPolicy;
|
|
13
|
+
export type PgTableExtraConfig = Record<string, PgTableExtraConfigValue>;
|
|
12
14
|
export type TableConfig = TableConfigBase<PgColumn>;
|
|
13
15
|
export declare class PgTable<T extends TableConfig = TableConfig> extends Table<T> {
|
|
14
16
|
static readonly [entityKind]: string;
|
|
@@ -16,15 +18,35 @@ export declare class PgTable<T extends TableConfig = TableConfig> extends Table<
|
|
|
16
18
|
export type AnyPgTable<TPartial extends Partial<TableConfig> = {}> = PgTable<UpdateTableConfig<TableConfig, TPartial>>;
|
|
17
19
|
export type PgTableWithColumns<T extends TableConfig> = PgTable<T> & {
|
|
18
20
|
[Key in keyof T['columns']]: T['columns'][Key];
|
|
21
|
+
} & {
|
|
22
|
+
enableRLS: () => Omit<PgTableWithColumns<T>, 'enableRLS'>;
|
|
19
23
|
};
|
|
20
24
|
export interface PgTableFn<TSchema extends string | undefined = undefined> {
|
|
21
|
-
|
|
25
|
+
/**
|
|
26
|
+
* @deprecated This overload is deprecated. Use the other method overload instead.
|
|
27
|
+
*/
|
|
28
|
+
<TTableName extends string, TColumnsMap extends Record<string, PgColumnBuilderBase>>(name: TTableName, columns: TColumnsMap, extraConfig: (self: BuildExtraConfigColumns<TTableName, TColumnsMap, 'pg'>) => PgTableExtraConfig): PgTableWithColumns<{
|
|
22
29
|
name: TTableName;
|
|
23
30
|
schema: TSchema;
|
|
24
31
|
columns: BuildColumns<TTableName, TColumnsMap, 'pg'>;
|
|
25
32
|
dialect: 'pg';
|
|
26
33
|
}>;
|
|
27
|
-
|
|
34
|
+
/**
|
|
35
|
+
* @deprecated This overload is deprecated. Use the other method overload instead.
|
|
36
|
+
*/
|
|
37
|
+
<TTableName extends string, TColumnsMap extends Record<string, PgColumnBuilderBase>>(name: TTableName, columns: (columnTypes: PgColumnsBuilders) => TColumnsMap, extraConfig: (self: BuildExtraConfigColumns<TTableName, TColumnsMap, 'pg'>) => PgTableExtraConfig): PgTableWithColumns<{
|
|
38
|
+
name: TTableName;
|
|
39
|
+
schema: TSchema;
|
|
40
|
+
columns: BuildColumns<TTableName, TColumnsMap, 'pg'>;
|
|
41
|
+
dialect: 'pg';
|
|
42
|
+
}>;
|
|
43
|
+
<TTableName extends string, TColumnsMap extends Record<string, PgColumnBuilderBase>>(name: TTableName, columns: TColumnsMap, extraConfig?: (self: BuildExtraConfigColumns<TTableName, TColumnsMap, 'pg'>) => PgTableExtraConfigValue[]): PgTableWithColumns<{
|
|
44
|
+
name: TTableName;
|
|
45
|
+
schema: TSchema;
|
|
46
|
+
columns: BuildColumns<TTableName, TColumnsMap, 'pg'>;
|
|
47
|
+
dialect: 'pg';
|
|
48
|
+
}>;
|
|
49
|
+
<TTableName extends string, TColumnsMap extends Record<string, PgColumnBuilderBase>>(name: TTableName, columns: (columnTypes: PgColumnsBuilders) => TColumnsMap, extraConfig?: (self: BuildExtraConfigColumns<TTableName, TColumnsMap, 'pg'>) => PgTableExtraConfigValue[]): PgTableWithColumns<{
|
|
28
50
|
name: TTableName;
|
|
29
51
|
schema: TSchema;
|
|
30
52
|
columns: BuildColumns<TTableName, TColumnsMap, 'pg'>;
|
package/pg-core/table.d.ts
CHANGED
|
@@ -6,9 +6,11 @@ import { type PgColumnsBuilders } from "./columns/all.js";
|
|
|
6
6
|
import type { PgColumn, PgColumnBuilderBase } from "./columns/common.js";
|
|
7
7
|
import type { ForeignKeyBuilder } from "./foreign-keys.js";
|
|
8
8
|
import type { AnyIndexBuilder } from "./indexes.js";
|
|
9
|
+
import type { PgPolicy } from "./policies.js";
|
|
9
10
|
import type { PrimaryKeyBuilder } from "./primary-keys.js";
|
|
10
11
|
import type { UniqueConstraintBuilder } from "./unique-constraint.js";
|
|
11
|
-
export type
|
|
12
|
+
export type PgTableExtraConfigValue = AnyIndexBuilder | CheckBuilder | ForeignKeyBuilder | PrimaryKeyBuilder | UniqueConstraintBuilder | PgPolicy;
|
|
13
|
+
export type PgTableExtraConfig = Record<string, PgTableExtraConfigValue>;
|
|
12
14
|
export type TableConfig = TableConfigBase<PgColumn>;
|
|
13
15
|
export declare class PgTable<T extends TableConfig = TableConfig> extends Table<T> {
|
|
14
16
|
static readonly [entityKind]: string;
|
|
@@ -16,15 +18,35 @@ export declare class PgTable<T extends TableConfig = TableConfig> extends Table<
|
|
|
16
18
|
export type AnyPgTable<TPartial extends Partial<TableConfig> = {}> = PgTable<UpdateTableConfig<TableConfig, TPartial>>;
|
|
17
19
|
export type PgTableWithColumns<T extends TableConfig> = PgTable<T> & {
|
|
18
20
|
[Key in keyof T['columns']]: T['columns'][Key];
|
|
21
|
+
} & {
|
|
22
|
+
enableRLS: () => Omit<PgTableWithColumns<T>, 'enableRLS'>;
|
|
19
23
|
};
|
|
20
24
|
export interface PgTableFn<TSchema extends string | undefined = undefined> {
|
|
21
|
-
|
|
25
|
+
/**
|
|
26
|
+
* @deprecated This overload is deprecated. Use the other method overload instead.
|
|
27
|
+
*/
|
|
28
|
+
<TTableName extends string, TColumnsMap extends Record<string, PgColumnBuilderBase>>(name: TTableName, columns: TColumnsMap, extraConfig: (self: BuildExtraConfigColumns<TTableName, TColumnsMap, 'pg'>) => PgTableExtraConfig): PgTableWithColumns<{
|
|
22
29
|
name: TTableName;
|
|
23
30
|
schema: TSchema;
|
|
24
31
|
columns: BuildColumns<TTableName, TColumnsMap, 'pg'>;
|
|
25
32
|
dialect: 'pg';
|
|
26
33
|
}>;
|
|
27
|
-
|
|
34
|
+
/**
|
|
35
|
+
* @deprecated This overload is deprecated. Use the other method overload instead.
|
|
36
|
+
*/
|
|
37
|
+
<TTableName extends string, TColumnsMap extends Record<string, PgColumnBuilderBase>>(name: TTableName, columns: (columnTypes: PgColumnsBuilders) => TColumnsMap, extraConfig: (self: BuildExtraConfigColumns<TTableName, TColumnsMap, 'pg'>) => PgTableExtraConfig): PgTableWithColumns<{
|
|
38
|
+
name: TTableName;
|
|
39
|
+
schema: TSchema;
|
|
40
|
+
columns: BuildColumns<TTableName, TColumnsMap, 'pg'>;
|
|
41
|
+
dialect: 'pg';
|
|
42
|
+
}>;
|
|
43
|
+
<TTableName extends string, TColumnsMap extends Record<string, PgColumnBuilderBase>>(name: TTableName, columns: TColumnsMap, extraConfig?: (self: BuildExtraConfigColumns<TTableName, TColumnsMap, 'pg'>) => PgTableExtraConfigValue[]): PgTableWithColumns<{
|
|
44
|
+
name: TTableName;
|
|
45
|
+
schema: TSchema;
|
|
46
|
+
columns: BuildColumns<TTableName, TColumnsMap, 'pg'>;
|
|
47
|
+
dialect: 'pg';
|
|
48
|
+
}>;
|
|
49
|
+
<TTableName extends string, TColumnsMap extends Record<string, PgColumnBuilderBase>>(name: TTableName, columns: (columnTypes: PgColumnsBuilders) => TColumnsMap, extraConfig?: (self: BuildExtraConfigColumns<TTableName, TColumnsMap, 'pg'>) => PgTableExtraConfigValue[]): PgTableWithColumns<{
|
|
28
50
|
name: TTableName;
|
|
29
51
|
schema: TSchema;
|
|
30
52
|
columns: BuildColumns<TTableName, TColumnsMap, 'pg'>;
|
package/pg-core/table.js
CHANGED
|
@@ -2,15 +2,19 @@ import { entityKind } from "../entity.js";
|
|
|
2
2
|
import { Table } from "../table.js";
|
|
3
3
|
import { getPgColumnBuilders } from "./columns/all.js";
|
|
4
4
|
const InlineForeignKeys = Symbol.for("drizzle:PgInlineForeignKeys");
|
|
5
|
+
const EnableRLS = Symbol.for("drizzle:EnableRLS");
|
|
5
6
|
class PgTable extends Table {
|
|
6
7
|
static [entityKind] = "PgTable";
|
|
7
8
|
/** @internal */
|
|
8
9
|
static Symbol = Object.assign({}, Table.Symbol, {
|
|
9
|
-
InlineForeignKeys
|
|
10
|
+
InlineForeignKeys,
|
|
11
|
+
EnableRLS
|
|
10
12
|
});
|
|
11
13
|
/**@internal */
|
|
12
14
|
[InlineForeignKeys] = [];
|
|
13
15
|
/** @internal */
|
|
16
|
+
[EnableRLS] = false;
|
|
17
|
+
/** @internal */
|
|
14
18
|
[Table.Symbol.ExtraConfigBuilder] = void 0;
|
|
15
19
|
}
|
|
16
20
|
function pgTableWithSchema(name, columns, extraConfig, schema, baseName = name) {
|
|
@@ -39,7 +43,12 @@ function pgTableWithSchema(name, columns, extraConfig, schema, baseName = name)
|
|
|
39
43
|
if (extraConfig) {
|
|
40
44
|
table[PgTable.Symbol.ExtraConfigBuilder] = extraConfig;
|
|
41
45
|
}
|
|
42
|
-
return table
|
|
46
|
+
return Object.assign(table, {
|
|
47
|
+
enableRLS: () => {
|
|
48
|
+
table[PgTable.Symbol.EnableRLS] = true;
|
|
49
|
+
return table;
|
|
50
|
+
}
|
|
51
|
+
});
|
|
43
52
|
}
|
|
44
53
|
const pgTable = (name, columns, extraConfig) => {
|
|
45
54
|
return pgTableWithSchema(name, columns, extraConfig, void 0);
|
|
@@ -50,6 +59,7 @@ function pgTableCreator(customizeTableName) {
|
|
|
50
59
|
};
|
|
51
60
|
}
|
|
52
61
|
export {
|
|
62
|
+
EnableRLS,
|
|
53
63
|
InlineForeignKeys,
|
|
54
64
|
PgTable,
|
|
55
65
|
pgTable,
|
package/pg-core/table.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/pg-core/table.ts"],"sourcesContent":["import type { BuildColumns, BuildExtraConfigColumns } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from '~/table.ts';\nimport type { CheckBuilder } from './checks.ts';\nimport { getPgColumnBuilders, type PgColumnsBuilders } from './columns/all.ts';\nimport type { PgColumn, PgColumnBuilder, PgColumnBuilderBase } from './columns/common.ts';\nimport type { ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { AnyIndexBuilder } from './indexes.ts';\nimport type { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { UniqueConstraintBuilder } from './unique-constraint.ts';\n\nexport type
|
|
1
|
+
{"version":3,"sources":["../../src/pg-core/table.ts"],"sourcesContent":["import type { BuildColumns, BuildExtraConfigColumns } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport { Table, type TableConfig as TableConfigBase, type UpdateTableConfig } from '~/table.ts';\nimport type { CheckBuilder } from './checks.ts';\nimport { getPgColumnBuilders, type PgColumnsBuilders } from './columns/all.ts';\nimport type { PgColumn, PgColumnBuilder, PgColumnBuilderBase } from './columns/common.ts';\nimport type { ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { AnyIndexBuilder } from './indexes.ts';\nimport type { PgPolicy } from './policies.ts';\nimport type { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { UniqueConstraintBuilder } from './unique-constraint.ts';\n\nexport type PgTableExtraConfigValue =\n\t| AnyIndexBuilder\n\t| CheckBuilder\n\t| ForeignKeyBuilder\n\t| PrimaryKeyBuilder\n\t| UniqueConstraintBuilder\n\t| PgPolicy;\n\nexport type PgTableExtraConfig = Record<\n\tstring,\n\tPgTableExtraConfigValue\n>;\n\nexport type TableConfig = TableConfigBase<PgColumn>;\n\n/** @internal */\nexport const InlineForeignKeys = Symbol.for('drizzle:PgInlineForeignKeys');\n/** @internal */\nexport const EnableRLS = Symbol.for('drizzle:EnableRLS');\n\nexport class PgTable<T extends TableConfig = TableConfig> extends Table<T> {\n\tstatic override readonly [entityKind]: string = 'PgTable';\n\n\t/** @internal */\n\tstatic override readonly Symbol = Object.assign({}, Table.Symbol, {\n\t\tInlineForeignKeys: InlineForeignKeys as typeof InlineForeignKeys,\n\t\tEnableRLS: EnableRLS as typeof EnableRLS,\n\t});\n\n\t/**@internal */\n\t[InlineForeignKeys]: ForeignKey[] = [];\n\n\t/** @internal */\n\t[EnableRLS]: boolean = false;\n\n\t/** @internal */\n\toverride [Table.Symbol.ExtraConfigBuilder]: ((self: Record<string, PgColumn>) => PgTableExtraConfig) | undefined =\n\t\tundefined;\n}\n\nexport type AnyPgTable<TPartial extends Partial<TableConfig> = {}> = PgTable<UpdateTableConfig<TableConfig, TPartial>>;\n\nexport type PgTableWithColumns<T extends TableConfig> =\n\t& PgTable<T>\n\t& {\n\t\t[Key in keyof T['columns']]: T['columns'][Key];\n\t}\n\t& {\n\t\tenableRLS: () => Omit<\n\t\t\tPgTableWithColumns<T>,\n\t\t\t'enableRLS'\n\t\t>;\n\t};\n\n/** @internal */\nexport function pgTableWithSchema<\n\tTTableName extends string,\n\tTSchemaName extends string | undefined,\n\tTColumnsMap extends Record<string, PgColumnBuilderBase>,\n>(\n\tname: TTableName,\n\tcolumns: TColumnsMap | ((columnTypes: PgColumnsBuilders) => TColumnsMap),\n\textraConfig:\n\t\t| ((self: BuildExtraConfigColumns<TTableName, TColumnsMap, 'pg'>) => PgTableExtraConfig | PgTableExtraConfigValue[])\n\t\t| undefined,\n\tschema: TSchemaName,\n\tbaseName = name,\n): PgTableWithColumns<{\n\tname: TTableName;\n\tschema: TSchemaName;\n\tcolumns: BuildColumns<TTableName, TColumnsMap, 'pg'>;\n\tdialect: 'pg';\n}> {\n\tconst rawTable = new PgTable<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'pg'>;\n\t\tdialect: 'pg';\n\t}>(name, schema, baseName);\n\n\tconst parsedColumns: TColumnsMap = typeof columns === 'function' ? columns(getPgColumnBuilders()) : columns;\n\n\tconst builtColumns = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as PgColumnBuilder;\n\t\t\tcolBuilder.setName(name);\n\t\t\tconst column = colBuilder.build(rawTable);\n\t\t\trawTable[InlineForeignKeys].push(...colBuilder.buildForeignKeys(column, rawTable));\n\t\t\treturn [name, column];\n\t\t}),\n\t) as unknown as BuildColumns<TTableName, TColumnsMap, 'pg'>;\n\n\tconst builtColumnsForExtraConfig = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as PgColumnBuilder;\n\t\t\tcolBuilder.setName(name);\n\t\t\tconst column = colBuilder.buildExtraConfigColumn(rawTable);\n\t\t\treturn [name, column];\n\t\t}),\n\t) as unknown as BuildExtraConfigColumns<TTableName, TColumnsMap, 'pg'>;\n\n\tconst table = Object.assign(rawTable, builtColumns);\n\n\ttable[Table.Symbol.Columns] = builtColumns;\n\ttable[Table.Symbol.ExtraConfigColumns] = builtColumnsForExtraConfig;\n\n\tif (extraConfig) {\n\t\ttable[PgTable.Symbol.ExtraConfigBuilder] = extraConfig as any;\n\t}\n\n\treturn Object.assign(table, {\n\t\tenableRLS: () => {\n\t\t\ttable[PgTable.Symbol.EnableRLS] = true;\n\t\t\treturn table as PgTableWithColumns<{\n\t\t\t\tname: TTableName;\n\t\t\t\tschema: TSchemaName;\n\t\t\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'pg'>;\n\t\t\t\tdialect: 'pg';\n\t\t\t}>;\n\t\t},\n\t});\n}\n\nexport interface PgTableFn<TSchema extends string | undefined = undefined> {\n\t/**\n\t * @deprecated This overload is deprecated. Use the other method overload instead.\n\t */\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, PgColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig: (\n\t\t\tself: BuildExtraConfigColumns<TTableName, TColumnsMap, 'pg'>,\n\t\t) => PgTableExtraConfig,\n\t): PgTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'pg'>;\n\t\tdialect: 'pg';\n\t}>;\n\n\t/**\n\t * @deprecated This overload is deprecated. Use the other method overload instead.\n\t */\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, PgColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: PgColumnsBuilders) => TColumnsMap,\n\t\textraConfig: (self: BuildExtraConfigColumns<TTableName, TColumnsMap, 'pg'>) => PgTableExtraConfig,\n\t): PgTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'pg'>;\n\t\tdialect: 'pg';\n\t}>;\n\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, PgColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (\n\t\t\tself: BuildExtraConfigColumns<TTableName, TColumnsMap, 'pg'>,\n\t\t) => PgTableExtraConfigValue[],\n\t): PgTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'pg'>;\n\t\tdialect: 'pg';\n\t}>;\n\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, PgColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: PgColumnsBuilders) => TColumnsMap,\n\t\textraConfig?: (self: BuildExtraConfigColumns<TTableName, TColumnsMap, 'pg'>) => PgTableExtraConfigValue[],\n\t): PgTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'pg'>;\n\t\tdialect: 'pg';\n\t}>;\n}\n\nexport const pgTable: PgTableFn = (name, columns, extraConfig) => {\n\treturn pgTableWithSchema(name, columns, extraConfig, undefined);\n};\n\nexport function pgTableCreator(customizeTableName: (name: string) => string): PgTableFn {\n\treturn (name, columns, extraConfig) => {\n\t\treturn pgTableWithSchema(customizeTableName(name) as typeof name, columns, extraConfig, undefined, name);\n\t};\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAC3B,SAAS,aAA0E;AAEnF,SAAS,2BAAmD;AAwBrD,MAAM,oBAAoB,OAAO,IAAI,6BAA6B;AAElE,MAAM,YAAY,OAAO,IAAI,mBAAmB;AAEhD,MAAM,gBAAqD,MAAS;AAAA,EAC1E,QAA0B,UAAU,IAAY;AAAA;AAAA,EAGhD,OAAyB,SAAS,OAAO,OAAO,CAAC,GAAG,MAAM,QAAQ;AAAA,IACjE;AAAA,IACA;AAAA,EACD,CAAC;AAAA;AAAA,EAGD,CAAC,iBAAiB,IAAkB,CAAC;AAAA;AAAA,EAGrC,CAAC,SAAS,IAAa;AAAA;AAAA,EAGvB,CAAU,MAAM,OAAO,kBAAkB,IACxC;AACF;AAiBO,SAAS,kBAKf,MACA,SACA,aAGA,QACA,WAAW,MAMT;AACF,QAAM,WAAW,IAAI,QAKlB,MAAM,QAAQ,QAAQ;AAEzB,QAAM,gBAA6B,OAAO,YAAY,aAAa,QAAQ,oBAAoB,CAAC,IAAI;AAEpG,QAAM,eAAe,OAAO;AAAA,IAC3B,OAAO,QAAQ,aAAa,EAAE,IAAI,CAAC,CAACA,OAAM,cAAc,MAAM;AAC7D,YAAM,aAAa;AACnB,iBAAW,QAAQA,KAAI;AACvB,YAAM,SAAS,WAAW,MAAM,QAAQ;AACxC,eAAS,iBAAiB,EAAE,KAAK,GAAG,WAAW,iBAAiB,QAAQ,QAAQ,CAAC;AACjF,aAAO,CAACA,OAAM,MAAM;AAAA,IACrB,CAAC;AAAA,EACF;AAEA,QAAM,6BAA6B,OAAO;AAAA,IACzC,OAAO,QAAQ,aAAa,EAAE,IAAI,CAAC,CAACA,OAAM,cAAc,MAAM;AAC7D,YAAM,aAAa;AACnB,iBAAW,QAAQA,KAAI;AACvB,YAAM,SAAS,WAAW,uBAAuB,QAAQ;AACzD,aAAO,CAACA,OAAM,MAAM;AAAA,IACrB,CAAC;AAAA,EACF;AAEA,QAAM,QAAQ,OAAO,OAAO,UAAU,YAAY;AAElD,QAAM,MAAM,OAAO,OAAO,IAAI;AAC9B,QAAM,MAAM,OAAO,kBAAkB,IAAI;AAEzC,MAAI,aAAa;AAChB,UAAM,QAAQ,OAAO,kBAAkB,IAAI;AAAA,EAC5C;AAEA,SAAO,OAAO,OAAO,OAAO;AAAA,IAC3B,WAAW,MAAM;AAChB,YAAM,QAAQ,OAAO,SAAS,IAAI;AAClC,aAAO;AAAA,IAMR;AAAA,EACD,CAAC;AACF;AAsEO,MAAM,UAAqB,CAAC,MAAM,SAAS,gBAAgB;AACjE,SAAO,kBAAkB,MAAM,SAAS,aAAa,MAAS;AAC/D;AAEO,SAAS,eAAe,oBAAyD;AACvF,SAAO,CAAC,MAAM,SAAS,gBAAgB;AACtC,WAAO,kBAAkB,mBAAmB,IAAI,GAAkB,SAAS,aAAa,QAAW,IAAI;AAAA,EACxG;AACD;","names":["name"]}
|
package/pg-core/utils.cjs
CHANGED
|
@@ -30,6 +30,7 @@ var import_view_common = require("../view-common.cjs");
|
|
|
30
30
|
var import_checks = require("./checks.cjs");
|
|
31
31
|
var import_foreign_keys = require("./foreign-keys.cjs");
|
|
32
32
|
var import_indexes = require("./indexes.cjs");
|
|
33
|
+
var import_policies = require("./policies.cjs");
|
|
33
34
|
var import_primary_keys = require("./primary-keys.cjs");
|
|
34
35
|
var import_unique_constraint = require("./unique-constraint.cjs");
|
|
35
36
|
var import_view_common2 = require("./view-common.cjs");
|
|
@@ -43,10 +44,13 @@ function getTableConfig(table) {
|
|
|
43
44
|
const uniqueConstraints = [];
|
|
44
45
|
const name = table[import_table2.Table.Symbol.Name];
|
|
45
46
|
const schema = table[import_table2.Table.Symbol.Schema];
|
|
47
|
+
const policies = [];
|
|
48
|
+
const enableRLS = table[import_table.PgTable.Symbol.EnableRLS];
|
|
46
49
|
const extraConfigBuilder = table[import_table.PgTable.Symbol.ExtraConfigBuilder];
|
|
47
50
|
if (extraConfigBuilder !== void 0) {
|
|
48
51
|
const extraConfig = extraConfigBuilder(table[import_table2.Table.Symbol.ExtraConfigColumns]);
|
|
49
|
-
|
|
52
|
+
const extraValues = Array.isArray(extraConfig) ? extraConfig.flat(1) : Object.values(extraConfig);
|
|
53
|
+
for (const builder of extraValues) {
|
|
50
54
|
if ((0, import_entity.is)(builder, import_indexes.IndexBuilder)) {
|
|
51
55
|
indexes.push(builder.build(table));
|
|
52
56
|
} else if ((0, import_entity.is)(builder, import_checks.CheckBuilder)) {
|
|
@@ -57,6 +61,8 @@ function getTableConfig(table) {
|
|
|
57
61
|
primaryKeys.push(builder.build(table));
|
|
58
62
|
} else if ((0, import_entity.is)(builder, import_foreign_keys.ForeignKeyBuilder)) {
|
|
59
63
|
foreignKeys.push(builder.build(table));
|
|
64
|
+
} else if ((0, import_entity.is)(builder, import_policies.PgPolicy)) {
|
|
65
|
+
policies.push(builder);
|
|
60
66
|
}
|
|
61
67
|
}
|
|
62
68
|
}
|
|
@@ -68,7 +74,9 @@ function getTableConfig(table) {
|
|
|
68
74
|
primaryKeys,
|
|
69
75
|
uniqueConstraints,
|
|
70
76
|
name,
|
|
71
|
-
schema
|
|
77
|
+
schema,
|
|
78
|
+
policies,
|
|
79
|
+
enableRLS
|
|
72
80
|
};
|
|
73
81
|
}
|
|
74
82
|
function getViewConfig(view) {
|
package/pg-core/utils.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/pg-core/utils.ts"],"sourcesContent":["import { is } from '~/entity.ts';\nimport { PgTable } from '~/pg-core/table.ts';\nimport { Table } from '~/table.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport { type Check, CheckBuilder } from './checks.ts';\nimport type { AnyPgColumn } from './columns/index.ts';\nimport { type ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { Index } from './indexes.ts';\nimport { IndexBuilder } from './indexes.ts';\nimport { type PrimaryKey, PrimaryKeyBuilder } from './primary-keys.ts';\nimport { type UniqueConstraint, UniqueConstraintBuilder } from './unique-constraint.ts';\nimport { PgViewConfig } from './view-common.ts';\nimport { type PgMaterializedView, PgMaterializedViewConfig, type PgView } from './view.ts';\n\nexport function getTableConfig<TTable extends PgTable>(table: TTable) {\n\tconst columns = Object.values(table[Table.Symbol.Columns]);\n\tconst indexes: Index[] = [];\n\tconst checks: Check[] = [];\n\tconst primaryKeys: PrimaryKey[] = [];\n\tconst foreignKeys: ForeignKey[] = Object.values(table[PgTable.Symbol.InlineForeignKeys]);\n\tconst uniqueConstraints: UniqueConstraint[] = [];\n\tconst name = table[Table.Symbol.Name];\n\tconst schema = table[Table.Symbol.Schema];\n\n\tconst extraConfigBuilder = table[PgTable.Symbol.ExtraConfigBuilder];\n\n\tif (extraConfigBuilder !== undefined) {\n\t\tconst extraConfig = extraConfigBuilder(table[Table.Symbol.ExtraConfigColumns]);\n\t\
|
|
1
|
+
{"version":3,"sources":["../../src/pg-core/utils.ts"],"sourcesContent":["import { is } from '~/entity.ts';\nimport { PgTable } from '~/pg-core/table.ts';\nimport { Table } from '~/table.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport { type Check, CheckBuilder } from './checks.ts';\nimport type { AnyPgColumn } from './columns/index.ts';\nimport { type ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { Index } from './indexes.ts';\nimport { IndexBuilder } from './indexes.ts';\nimport { PgPolicy } from './policies.ts';\nimport { type PrimaryKey, PrimaryKeyBuilder } from './primary-keys.ts';\nimport { type UniqueConstraint, UniqueConstraintBuilder } from './unique-constraint.ts';\nimport { PgViewConfig } from './view-common.ts';\nimport { type PgMaterializedView, PgMaterializedViewConfig, type PgView } from './view.ts';\n\nexport function getTableConfig<TTable extends PgTable>(table: TTable) {\n\tconst columns = Object.values(table[Table.Symbol.Columns]);\n\tconst indexes: Index[] = [];\n\tconst checks: Check[] = [];\n\tconst primaryKeys: PrimaryKey[] = [];\n\tconst foreignKeys: ForeignKey[] = Object.values(table[PgTable.Symbol.InlineForeignKeys]);\n\tconst uniqueConstraints: UniqueConstraint[] = [];\n\tconst name = table[Table.Symbol.Name];\n\tconst schema = table[Table.Symbol.Schema];\n\tconst policies: PgPolicy[] = [];\n\tconst enableRLS: boolean = table[PgTable.Symbol.EnableRLS];\n\n\tconst extraConfigBuilder = table[PgTable.Symbol.ExtraConfigBuilder];\n\n\tif (extraConfigBuilder !== undefined) {\n\t\tconst extraConfig = extraConfigBuilder(table[Table.Symbol.ExtraConfigColumns]);\n\t\tconst extraValues = Array.isArray(extraConfig) ? extraConfig.flat(1) as any[] : Object.values(extraConfig);\n\t\tfor (const builder of extraValues) {\n\t\t\tif (is(builder, IndexBuilder)) {\n\t\t\t\tindexes.push(builder.build(table));\n\t\t\t} else if (is(builder, CheckBuilder)) {\n\t\t\t\tchecks.push(builder.build(table));\n\t\t\t} else if (is(builder, UniqueConstraintBuilder)) {\n\t\t\t\tuniqueConstraints.push(builder.build(table));\n\t\t\t} else if (is(builder, PrimaryKeyBuilder)) {\n\t\t\t\tprimaryKeys.push(builder.build(table));\n\t\t\t} else if (is(builder, ForeignKeyBuilder)) {\n\t\t\t\tforeignKeys.push(builder.build(table));\n\t\t\t} else if (is(builder, PgPolicy)) {\n\t\t\t\tpolicies.push(builder);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {\n\t\tcolumns,\n\t\tindexes,\n\t\tforeignKeys,\n\t\tchecks,\n\t\tprimaryKeys,\n\t\tuniqueConstraints,\n\t\tname,\n\t\tschema,\n\t\tpolicies,\n\t\tenableRLS,\n\t};\n}\n\nexport function getViewConfig<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n>(view: PgView<TName, TExisting>) {\n\treturn {\n\t\t...view[ViewBaseConfig],\n\t\t...view[PgViewConfig],\n\t};\n}\n\nexport function getMaterializedViewConfig<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n>(view: PgMaterializedView<TName, TExisting>) {\n\treturn {\n\t\t...view[ViewBaseConfig],\n\t\t...view[PgMaterializedViewConfig],\n\t};\n}\n\nexport type ColumnsWithTable<\n\tTTableName extends string,\n\tTForeignTableName extends string,\n\tTColumns extends AnyPgColumn<{ tableName: TTableName }>[],\n> = { [Key in keyof TColumns]: AnyPgColumn<{ tableName: TForeignTableName }> };\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAmB;AACnB,mBAAwB;AACxB,IAAAA,gBAAsB;AACtB,yBAA+B;AAC/B,oBAAyC;AAEzC,0BAAmD;AAEnD,qBAA6B;AAC7B,sBAAyB;AACzB,0BAAmD;AACnD,+BAA+D;AAC/D,IAAAC,sBAA6B;AAC7B,kBAA+E;AAExE,SAAS,eAAuC,OAAe;AACrE,QAAM,UAAU,OAAO,OAAO,MAAM,oBAAM,OAAO,OAAO,CAAC;AACzD,QAAM,UAAmB,CAAC;AAC1B,QAAM,SAAkB,CAAC;AACzB,QAAM,cAA4B,CAAC;AACnC,QAAM,cAA4B,OAAO,OAAO,MAAM,qBAAQ,OAAO,iBAAiB,CAAC;AACvF,QAAM,oBAAwC,CAAC;AAC/C,QAAM,OAAO,MAAM,oBAAM,OAAO,IAAI;AACpC,QAAM,SAAS,MAAM,oBAAM,OAAO,MAAM;AACxC,QAAM,WAAuB,CAAC;AAC9B,QAAM,YAAqB,MAAM,qBAAQ,OAAO,SAAS;AAEzD,QAAM,qBAAqB,MAAM,qBAAQ,OAAO,kBAAkB;AAElE,MAAI,uBAAuB,QAAW;AACrC,UAAM,cAAc,mBAAmB,MAAM,oBAAM,OAAO,kBAAkB,CAAC;AAC7E,UAAM,cAAc,MAAM,QAAQ,WAAW,IAAI,YAAY,KAAK,CAAC,IAAa,OAAO,OAAO,WAAW;AACzG,eAAW,WAAW,aAAa;AAClC,cAAI,kBAAG,SAAS,2BAAY,GAAG;AAC9B,gBAAQ,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MAClC,eAAW,kBAAG,SAAS,0BAAY,GAAG;AACrC,eAAO,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACjC,eAAW,kBAAG,SAAS,gDAAuB,GAAG;AAChD,0BAAkB,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MAC5C,eAAW,kBAAG,SAAS,qCAAiB,GAAG;AAC1C,oBAAY,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACtC,eAAW,kBAAG,SAAS,qCAAiB,GAAG;AAC1C,oBAAY,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACtC,eAAW,kBAAG,SAAS,wBAAQ,GAAG;AACjC,iBAAS,KAAK,OAAO;AAAA,MACtB;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;AAEO,SAAS,cAGd,MAAgC;AACjC,SAAO;AAAA,IACN,GAAG,KAAK,iCAAc;AAAA,IACtB,GAAG,KAAK,gCAAY;AAAA,EACrB;AACD;AAEO,SAAS,0BAGd,MAA4C;AAC7C,SAAO;AAAA,IACN,GAAG,KAAK,iCAAc;AAAA,IACtB,GAAG,KAAK,oCAAwB;AAAA,EACjC;AACD;","names":["import_table","import_view_common"]}
|
package/pg-core/utils.d.cts
CHANGED
|
@@ -4,6 +4,7 @@ import { type Check } from "./checks.cjs";
|
|
|
4
4
|
import type { AnyPgColumn } from "./columns/index.cjs";
|
|
5
5
|
import { type ForeignKey } from "./foreign-keys.cjs";
|
|
6
6
|
import type { Index } from "./indexes.cjs";
|
|
7
|
+
import { PgPolicy } from "./policies.cjs";
|
|
7
8
|
import { type PrimaryKey } from "./primary-keys.cjs";
|
|
8
9
|
import { type UniqueConstraint } from "./unique-constraint.cjs";
|
|
9
10
|
import { type PgMaterializedView, type PgView } from "./view.cjs";
|
|
@@ -16,6 +17,8 @@ export declare function getTableConfig<TTable extends PgTable>(table: TTable): {
|
|
|
16
17
|
uniqueConstraints: UniqueConstraint[];
|
|
17
18
|
name: string;
|
|
18
19
|
schema: string | undefined;
|
|
20
|
+
policies: PgPolicy[];
|
|
21
|
+
enableRLS: boolean;
|
|
19
22
|
};
|
|
20
23
|
export declare function getViewConfig<TName extends string = string, TExisting extends boolean = boolean>(view: PgView<TName, TExisting>): {
|
|
21
24
|
with?: import("./view.ts").ViewWithConfig;
|
package/pg-core/utils.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { type Check } from "./checks.js";
|
|
|
4
4
|
import type { AnyPgColumn } from "./columns/index.js";
|
|
5
5
|
import { type ForeignKey } from "./foreign-keys.js";
|
|
6
6
|
import type { Index } from "./indexes.js";
|
|
7
|
+
import { PgPolicy } from "./policies.js";
|
|
7
8
|
import { type PrimaryKey } from "./primary-keys.js";
|
|
8
9
|
import { type UniqueConstraint } from "./unique-constraint.js";
|
|
9
10
|
import { type PgMaterializedView, type PgView } from "./view.js";
|
|
@@ -16,6 +17,8 @@ export declare function getTableConfig<TTable extends PgTable>(table: TTable): {
|
|
|
16
17
|
uniqueConstraints: UniqueConstraint[];
|
|
17
18
|
name: string;
|
|
18
19
|
schema: string | undefined;
|
|
20
|
+
policies: PgPolicy[];
|
|
21
|
+
enableRLS: boolean;
|
|
19
22
|
};
|
|
20
23
|
export declare function getViewConfig<TName extends string = string, TExisting extends boolean = boolean>(view: PgView<TName, TExisting>): {
|
|
21
24
|
with?: import("./view.js").ViewWithConfig;
|
package/pg-core/utils.js
CHANGED
|
@@ -5,6 +5,7 @@ import { ViewBaseConfig } from "../view-common.js";
|
|
|
5
5
|
import { CheckBuilder } from "./checks.js";
|
|
6
6
|
import { ForeignKeyBuilder } from "./foreign-keys.js";
|
|
7
7
|
import { IndexBuilder } from "./indexes.js";
|
|
8
|
+
import { PgPolicy } from "./policies.js";
|
|
8
9
|
import { PrimaryKeyBuilder } from "./primary-keys.js";
|
|
9
10
|
import { UniqueConstraintBuilder } from "./unique-constraint.js";
|
|
10
11
|
import { PgViewConfig } from "./view-common.js";
|
|
@@ -18,10 +19,13 @@ function getTableConfig(table) {
|
|
|
18
19
|
const uniqueConstraints = [];
|
|
19
20
|
const name = table[Table.Symbol.Name];
|
|
20
21
|
const schema = table[Table.Symbol.Schema];
|
|
22
|
+
const policies = [];
|
|
23
|
+
const enableRLS = table[PgTable.Symbol.EnableRLS];
|
|
21
24
|
const extraConfigBuilder = table[PgTable.Symbol.ExtraConfigBuilder];
|
|
22
25
|
if (extraConfigBuilder !== void 0) {
|
|
23
26
|
const extraConfig = extraConfigBuilder(table[Table.Symbol.ExtraConfigColumns]);
|
|
24
|
-
|
|
27
|
+
const extraValues = Array.isArray(extraConfig) ? extraConfig.flat(1) : Object.values(extraConfig);
|
|
28
|
+
for (const builder of extraValues) {
|
|
25
29
|
if (is(builder, IndexBuilder)) {
|
|
26
30
|
indexes.push(builder.build(table));
|
|
27
31
|
} else if (is(builder, CheckBuilder)) {
|
|
@@ -32,6 +36,8 @@ function getTableConfig(table) {
|
|
|
32
36
|
primaryKeys.push(builder.build(table));
|
|
33
37
|
} else if (is(builder, ForeignKeyBuilder)) {
|
|
34
38
|
foreignKeys.push(builder.build(table));
|
|
39
|
+
} else if (is(builder, PgPolicy)) {
|
|
40
|
+
policies.push(builder);
|
|
35
41
|
}
|
|
36
42
|
}
|
|
37
43
|
}
|
|
@@ -43,7 +49,9 @@ function getTableConfig(table) {
|
|
|
43
49
|
primaryKeys,
|
|
44
50
|
uniqueConstraints,
|
|
45
51
|
name,
|
|
46
|
-
schema
|
|
52
|
+
schema,
|
|
53
|
+
policies,
|
|
54
|
+
enableRLS
|
|
47
55
|
};
|
|
48
56
|
}
|
|
49
57
|
function getViewConfig(view) {
|
package/pg-core/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/pg-core/utils.ts"],"sourcesContent":["import { is } from '~/entity.ts';\nimport { PgTable } from '~/pg-core/table.ts';\nimport { Table } from '~/table.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport { type Check, CheckBuilder } from './checks.ts';\nimport type { AnyPgColumn } from './columns/index.ts';\nimport { type ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { Index } from './indexes.ts';\nimport { IndexBuilder } from './indexes.ts';\nimport { type PrimaryKey, PrimaryKeyBuilder } from './primary-keys.ts';\nimport { type UniqueConstraint, UniqueConstraintBuilder } from './unique-constraint.ts';\nimport { PgViewConfig } from './view-common.ts';\nimport { type PgMaterializedView, PgMaterializedViewConfig, type PgView } from './view.ts';\n\nexport function getTableConfig<TTable extends PgTable>(table: TTable) {\n\tconst columns = Object.values(table[Table.Symbol.Columns]);\n\tconst indexes: Index[] = [];\n\tconst checks: Check[] = [];\n\tconst primaryKeys: PrimaryKey[] = [];\n\tconst foreignKeys: ForeignKey[] = Object.values(table[PgTable.Symbol.InlineForeignKeys]);\n\tconst uniqueConstraints: UniqueConstraint[] = [];\n\tconst name = table[Table.Symbol.Name];\n\tconst schema = table[Table.Symbol.Schema];\n\n\tconst extraConfigBuilder = table[PgTable.Symbol.ExtraConfigBuilder];\n\n\tif (extraConfigBuilder !== undefined) {\n\t\tconst extraConfig = extraConfigBuilder(table[Table.Symbol.ExtraConfigColumns]);\n\t\
|
|
1
|
+
{"version":3,"sources":["../../src/pg-core/utils.ts"],"sourcesContent":["import { is } from '~/entity.ts';\nimport { PgTable } from '~/pg-core/table.ts';\nimport { Table } from '~/table.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport { type Check, CheckBuilder } from './checks.ts';\nimport type { AnyPgColumn } from './columns/index.ts';\nimport { type ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { Index } from './indexes.ts';\nimport { IndexBuilder } from './indexes.ts';\nimport { PgPolicy } from './policies.ts';\nimport { type PrimaryKey, PrimaryKeyBuilder } from './primary-keys.ts';\nimport { type UniqueConstraint, UniqueConstraintBuilder } from './unique-constraint.ts';\nimport { PgViewConfig } from './view-common.ts';\nimport { type PgMaterializedView, PgMaterializedViewConfig, type PgView } from './view.ts';\n\nexport function getTableConfig<TTable extends PgTable>(table: TTable) {\n\tconst columns = Object.values(table[Table.Symbol.Columns]);\n\tconst indexes: Index[] = [];\n\tconst checks: Check[] = [];\n\tconst primaryKeys: PrimaryKey[] = [];\n\tconst foreignKeys: ForeignKey[] = Object.values(table[PgTable.Symbol.InlineForeignKeys]);\n\tconst uniqueConstraints: UniqueConstraint[] = [];\n\tconst name = table[Table.Symbol.Name];\n\tconst schema = table[Table.Symbol.Schema];\n\tconst policies: PgPolicy[] = [];\n\tconst enableRLS: boolean = table[PgTable.Symbol.EnableRLS];\n\n\tconst extraConfigBuilder = table[PgTable.Symbol.ExtraConfigBuilder];\n\n\tif (extraConfigBuilder !== undefined) {\n\t\tconst extraConfig = extraConfigBuilder(table[Table.Symbol.ExtraConfigColumns]);\n\t\tconst extraValues = Array.isArray(extraConfig) ? extraConfig.flat(1) as any[] : Object.values(extraConfig);\n\t\tfor (const builder of extraValues) {\n\t\t\tif (is(builder, IndexBuilder)) {\n\t\t\t\tindexes.push(builder.build(table));\n\t\t\t} else if (is(builder, CheckBuilder)) {\n\t\t\t\tchecks.push(builder.build(table));\n\t\t\t} else if (is(builder, UniqueConstraintBuilder)) {\n\t\t\t\tuniqueConstraints.push(builder.build(table));\n\t\t\t} else if (is(builder, PrimaryKeyBuilder)) {\n\t\t\t\tprimaryKeys.push(builder.build(table));\n\t\t\t} else if (is(builder, ForeignKeyBuilder)) {\n\t\t\t\tforeignKeys.push(builder.build(table));\n\t\t\t} else if (is(builder, PgPolicy)) {\n\t\t\t\tpolicies.push(builder);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn {\n\t\tcolumns,\n\t\tindexes,\n\t\tforeignKeys,\n\t\tchecks,\n\t\tprimaryKeys,\n\t\tuniqueConstraints,\n\t\tname,\n\t\tschema,\n\t\tpolicies,\n\t\tenableRLS,\n\t};\n}\n\nexport function getViewConfig<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n>(view: PgView<TName, TExisting>) {\n\treturn {\n\t\t...view[ViewBaseConfig],\n\t\t...view[PgViewConfig],\n\t};\n}\n\nexport function getMaterializedViewConfig<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n>(view: PgMaterializedView<TName, TExisting>) {\n\treturn {\n\t\t...view[ViewBaseConfig],\n\t\t...view[PgMaterializedViewConfig],\n\t};\n}\n\nexport type ColumnsWithTable<\n\tTTableName extends string,\n\tTForeignTableName extends string,\n\tTColumns extends AnyPgColumn<{ tableName: TTableName }>[],\n> = { [Key in keyof TColumns]: AnyPgColumn<{ tableName: TForeignTableName }> };\n"],"mappings":"AAAA,SAAS,UAAU;AACnB,SAAS,eAAe;AACxB,SAAS,aAAa;AACtB,SAAS,sBAAsB;AAC/B,SAAqB,oBAAoB;AAEzC,SAA0B,yBAAyB;AAEnD,SAAS,oBAAoB;AAC7B,SAAS,gBAAgB;AACzB,SAA0B,yBAAyB;AACnD,SAAgC,+BAA+B;AAC/D,SAAS,oBAAoB;AAC7B,SAAkC,gCAA6C;AAExE,SAAS,eAAuC,OAAe;AACrE,QAAM,UAAU,OAAO,OAAO,MAAM,MAAM,OAAO,OAAO,CAAC;AACzD,QAAM,UAAmB,CAAC;AAC1B,QAAM,SAAkB,CAAC;AACzB,QAAM,cAA4B,CAAC;AACnC,QAAM,cAA4B,OAAO,OAAO,MAAM,QAAQ,OAAO,iBAAiB,CAAC;AACvF,QAAM,oBAAwC,CAAC;AAC/C,QAAM,OAAO,MAAM,MAAM,OAAO,IAAI;AACpC,QAAM,SAAS,MAAM,MAAM,OAAO,MAAM;AACxC,QAAM,WAAuB,CAAC;AAC9B,QAAM,YAAqB,MAAM,QAAQ,OAAO,SAAS;AAEzD,QAAM,qBAAqB,MAAM,QAAQ,OAAO,kBAAkB;AAElE,MAAI,uBAAuB,QAAW;AACrC,UAAM,cAAc,mBAAmB,MAAM,MAAM,OAAO,kBAAkB,CAAC;AAC7E,UAAM,cAAc,MAAM,QAAQ,WAAW,IAAI,YAAY,KAAK,CAAC,IAAa,OAAO,OAAO,WAAW;AACzG,eAAW,WAAW,aAAa;AAClC,UAAI,GAAG,SAAS,YAAY,GAAG;AAC9B,gBAAQ,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MAClC,WAAW,GAAG,SAAS,YAAY,GAAG;AACrC,eAAO,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACjC,WAAW,GAAG,SAAS,uBAAuB,GAAG;AAChD,0BAAkB,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MAC5C,WAAW,GAAG,SAAS,iBAAiB,GAAG;AAC1C,oBAAY,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACtC,WAAW,GAAG,SAAS,iBAAiB,GAAG;AAC1C,oBAAY,KAAK,QAAQ,MAAM,KAAK,CAAC;AAAA,MACtC,WAAW,GAAG,SAAS,QAAQ,GAAG;AACjC,iBAAS,KAAK,OAAO;AAAA,MACtB;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACD;AAEO,SAAS,cAGd,MAAgC;AACjC,SAAO;AAAA,IACN,GAAG,KAAK,cAAc;AAAA,IACtB,GAAG,KAAK,YAAY;AAAA,EACrB;AACD;AAEO,SAAS,0BAGd,MAA4C;AAC7C,SAAO;AAAA,IACN,GAAG,KAAK,cAAc;AAAA,IACtB,GAAG,KAAK,wBAAwB;AAAA,EACjC;AACD;","names":[]}
|
|
@@ -35,7 +35,7 @@ class PlanetScaleDatabase extends import_db.MySqlDatabase {
|
|
|
35
35
|
}
|
|
36
36
|
function construct(client, config = {}) {
|
|
37
37
|
if (!(client instanceof import_database.Client)) {
|
|
38
|
-
|
|
38
|
+
throw new Error(`Warning: You need to pass an instance of Client:
|
|
39
39
|
|
|
40
40
|
import { Client } from "@planetscale/database";
|
|
41
41
|
|
|
@@ -46,9 +46,6 @@ const client = new Client({
|
|
|
46
46
|
});
|
|
47
47
|
|
|
48
48
|
const db = drizzle(client);
|
|
49
|
-
|
|
50
|
-
Starting from version 0.30.0, you will encounter an error if you attempt to use anything other than a Client instance.
|
|
51
|
-
Please make the necessary changes now to prevent any runtime errors in the future
|
|
52
49
|
`);
|
|
53
50
|
}
|
|
54
51
|
const dialect = new import_dialect.MySqlDialect({ casing: config.casing });
|