drizzle-orm 0.39.2 → 0.40.0-262a7b0
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/column-builder.cjs.map +1 -1
- package/column-builder.d.cts +6 -5
- package/column-builder.d.ts +6 -5
- package/column-builder.js.map +1 -1
- package/gel/driver.cjs +97 -0
- package/gel/driver.cjs.map +1 -0
- package/gel/driver.d.cts +38 -0
- package/gel/driver.d.ts +38 -0
- package/gel/driver.js +74 -0
- package/gel/driver.js.map +1 -0
- package/gel/index.cjs +25 -0
- package/gel/index.cjs.map +1 -0
- package/gel/index.d.cts +2 -0
- package/gel/index.d.ts +2 -0
- package/gel/index.js +3 -0
- package/gel/index.js.map +1 -0
- package/gel/migrator.cjs +5 -0
- package/gel/migrator.cjs.map +1 -0
- package/gel/migrator.d.cts +1 -0
- package/gel/migrator.d.ts +1 -0
- package/gel/migrator.js +4 -0
- package/gel/migrator.js.map +1 -0
- package/gel/session.cjs +139 -0
- package/gel/session.cjs.map +1 -0
- package/gel/session.d.cts +47 -0
- package/gel/session.d.ts +47 -0
- package/gel/session.js +113 -0
- package/gel/session.js.map +1 -0
- package/gel-core/alias.cjs +32 -0
- package/gel-core/alias.cjs.map +1 -0
- package/gel-core/alias.d.cts +4 -0
- package/gel-core/alias.d.ts +4 -0
- package/gel-core/alias.js +8 -0
- package/gel-core/alias.js.map +1 -0
- package/gel-core/checks.cjs +58 -0
- package/gel-core/checks.cjs.map +1 -0
- package/gel-core/checks.d.cts +18 -0
- package/gel-core/checks.d.ts +18 -0
- package/gel-core/checks.js +32 -0
- package/gel-core/checks.js.map +1 -0
- package/gel-core/columns/all.cjs +72 -0
- package/gel-core/columns/all.cjs.map +1 -0
- package/gel-core/columns/all.d.cts +43 -0
- package/gel-core/columns/all.d.ts +43 -0
- package/gel-core/columns/all.js +48 -0
- package/gel-core/columns/all.js.map +1 -0
- package/gel-core/columns/bigint.cjs +54 -0
- package/gel-core/columns/bigint.cjs.map +1 -0
- package/gel-core/columns/bigint.d.cts +23 -0
- package/gel-core/columns/bigint.d.ts +23 -0
- package/gel-core/columns/bigint.js +28 -0
- package/gel-core/columns/bigint.js.map +1 -0
- package/gel-core/columns/bigintT.cjs +60 -0
- package/gel-core/columns/bigintT.cjs.map +1 -0
- package/gel-core/columns/bigintT.d.cts +24 -0
- package/gel-core/columns/bigintT.d.ts +24 -0
- package/gel-core/columns/bigintT.js +34 -0
- package/gel-core/columns/bigintT.js.map +1 -0
- package/gel-core/columns/boolean.cjs +53 -0
- package/gel-core/columns/boolean.cjs.map +1 -0
- package/gel-core/columns/boolean.d.cts +22 -0
- package/gel-core/columns/boolean.d.ts +22 -0
- package/gel-core/columns/boolean.js +27 -0
- package/gel-core/columns/boolean.js.map +1 -0
- package/gel-core/columns/bytes.cjs +56 -0
- package/gel-core/columns/bytes.cjs.map +1 -0
- package/gel-core/columns/bytes.d.cts +22 -0
- package/gel-core/columns/bytes.d.ts +22 -0
- package/gel-core/columns/bytes.js +30 -0
- package/gel-core/columns/bytes.js.map +1 -0
- package/gel-core/columns/common.cjs +213 -0
- package/gel-core/columns/common.cjs.map +1 -0
- package/gel-core/columns/common.d.cts +147 -0
- package/gel-core/columns/common.d.ts +147 -0
- package/gel-core/columns/common.js +184 -0
- package/gel-core/columns/common.js.map +1 -0
- package/gel-core/columns/custom.cjs +77 -0
- package/gel-core/columns/custom.cjs.map +1 -0
- package/gel-core/columns/custom.d.cts +155 -0
- package/gel-core/columns/custom.d.ts +155 -0
- package/gel-core/columns/custom.js +51 -0
- package/gel-core/columns/custom.js.map +1 -0
- package/gel-core/columns/date-duration.cjs +56 -0
- package/gel-core/columns/date-duration.cjs.map +1 -0
- package/gel-core/columns/date-duration.d.cts +23 -0
- package/gel-core/columns/date-duration.d.ts +23 -0
- package/gel-core/columns/date-duration.js +30 -0
- package/gel-core/columns/date-duration.js.map +1 -0
- package/gel-core/columns/date.common.cjs +37 -0
- package/gel-core/columns/date.common.cjs.map +1 -0
- package/gel-core/columns/date.common.d.cts +7 -0
- package/gel-core/columns/date.common.d.ts +7 -0
- package/gel-core/columns/date.common.js +13 -0
- package/gel-core/columns/date.common.js.map +1 -0
- package/gel-core/columns/decimal.cjs +56 -0
- package/gel-core/columns/decimal.cjs.map +1 -0
- package/gel-core/columns/decimal.d.cts +26 -0
- package/gel-core/columns/decimal.d.ts +26 -0
- package/gel-core/columns/decimal.js +30 -0
- package/gel-core/columns/decimal.js.map +1 -0
- package/gel-core/columns/double-precision.cjs +62 -0
- package/gel-core/columns/double-precision.cjs.map +1 -0
- package/gel-core/columns/double-precision.d.cts +23 -0
- package/gel-core/columns/double-precision.d.ts +23 -0
- package/gel-core/columns/double-precision.js +36 -0
- package/gel-core/columns/double-precision.js.map +1 -0
- package/gel-core/columns/duration.cjs +53 -0
- package/gel-core/columns/duration.cjs.map +1 -0
- package/gel-core/columns/duration.d.cts +23 -0
- package/gel-core/columns/duration.d.ts +23 -0
- package/gel-core/columns/duration.js +27 -0
- package/gel-core/columns/duration.js.map +1 -0
- package/gel-core/columns/index.cjs +65 -0
- package/gel-core/columns/index.cjs.map +1 -0
- package/gel-core/columns/index.d.cts +22 -0
- package/gel-core/columns/index.d.ts +22 -0
- package/gel-core/columns/index.js +23 -0
- package/gel-core/columns/index.js.map +1 -0
- package/gel-core/columns/int.common.cjs +67 -0
- package/gel-core/columns/int.common.cjs.map +1 -0
- package/gel-core/columns/int.common.d.cts +15 -0
- package/gel-core/columns/int.common.d.ts +15 -0
- package/gel-core/columns/int.common.js +43 -0
- package/gel-core/columns/int.common.js.map +1 -0
- package/gel-core/columns/integer.cjs +54 -0
- package/gel-core/columns/integer.cjs.map +1 -0
- package/gel-core/columns/integer.d.cts +23 -0
- package/gel-core/columns/integer.d.ts +23 -0
- package/gel-core/columns/integer.js +28 -0
- package/gel-core/columns/integer.js.map +1 -0
- package/gel-core/columns/json.cjs +56 -0
- package/gel-core/columns/json.cjs.map +1 -0
- package/gel-core/columns/json.d.cts +26 -0
- package/gel-core/columns/json.d.ts +26 -0
- package/gel-core/columns/json.js +30 -0
- package/gel-core/columns/json.js.map +1 -0
- package/gel-core/columns/localdate.cjs +57 -0
- package/gel-core/columns/localdate.cjs.map +1 -0
- package/gel-core/columns/localdate.d.cts +24 -0
- package/gel-core/columns/localdate.d.ts +24 -0
- package/gel-core/columns/localdate.js +31 -0
- package/gel-core/columns/localdate.js.map +1 -0
- package/gel-core/columns/localtime.cjs +57 -0
- package/gel-core/columns/localtime.cjs.map +1 -0
- package/gel-core/columns/localtime.d.cts +24 -0
- package/gel-core/columns/localtime.d.ts +24 -0
- package/gel-core/columns/localtime.js +31 -0
- package/gel-core/columns/localtime.js.map +1 -0
- package/gel-core/columns/real.cjs +57 -0
- package/gel-core/columns/real.cjs.map +1 -0
- package/gel-core/columns/real.d.cts +28 -0
- package/gel-core/columns/real.d.ts +28 -0
- package/gel-core/columns/real.js +31 -0
- package/gel-core/columns/real.js.map +1 -0
- package/gel-core/columns/relative-duration.cjs +56 -0
- package/gel-core/columns/relative-duration.cjs.map +1 -0
- package/gel-core/columns/relative-duration.d.cts +23 -0
- package/gel-core/columns/relative-duration.d.ts +23 -0
- package/gel-core/columns/relative-duration.js +30 -0
- package/gel-core/columns/relative-duration.js.map +1 -0
- package/gel-core/columns/smallint.cjs +54 -0
- package/gel-core/columns/smallint.cjs.map +1 -0
- package/gel-core/columns/smallint.d.cts +23 -0
- package/gel-core/columns/smallint.d.ts +23 -0
- package/gel-core/columns/smallint.js +28 -0
- package/gel-core/columns/smallint.js.map +1 -0
- package/gel-core/columns/text.cjs +54 -0
- package/gel-core/columns/text.cjs.map +1 -0
- package/gel-core/columns/text.d.cts +26 -0
- package/gel-core/columns/text.d.ts +26 -0
- package/gel-core/columns/text.js +28 -0
- package/gel-core/columns/text.js.map +1 -0
- package/gel-core/columns/timestamp.cjs +60 -0
- package/gel-core/columns/timestamp.cjs.map +1 -0
- package/gel-core/columns/timestamp.d.cts +28 -0
- package/gel-core/columns/timestamp.d.ts +28 -0
- package/gel-core/columns/timestamp.js +34 -0
- package/gel-core/columns/timestamp.js.map +1 -0
- package/gel-core/columns/timestamptz.cjs +60 -0
- package/gel-core/columns/timestamptz.cjs.map +1 -0
- package/gel-core/columns/timestamptz.d.cts +27 -0
- package/gel-core/columns/timestamptz.d.ts +27 -0
- package/gel-core/columns/timestamptz.js +34 -0
- package/gel-core/columns/timestamptz.js.map +1 -0
- package/gel-core/columns/uuid.cjs +53 -0
- package/gel-core/columns/uuid.cjs.map +1 -0
- package/gel-core/columns/uuid.d.cts +22 -0
- package/gel-core/columns/uuid.d.ts +22 -0
- package/gel-core/columns/uuid.js +27 -0
- package/gel-core/columns/uuid.js.map +1 -0
- package/gel-core/db.cjs +338 -0
- package/gel-core/db.cjs.map +1 -0
- package/gel-core/db.d.cts +281 -0
- package/gel-core/db.d.ts +281 -0
- package/gel-core/db.js +319 -0
- package/gel-core/db.js.map +1 -0
- package/gel-core/dialect.cjs +1142 -0
- package/gel-core/dialect.cjs.map +1 -0
- package/gel-core/dialect.d.cts +62 -0
- package/gel-core/dialect.d.ts +62 -0
- package/gel-core/dialect.js +1128 -0
- package/gel-core/dialect.js.map +1 -0
- package/gel-core/expressions.cjs +49 -0
- package/gel-core/expressions.cjs.map +1 -0
- package/gel-core/expressions.d.cts +8 -0
- package/gel-core/expressions.d.ts +8 -0
- package/gel-core/expressions.js +22 -0
- package/gel-core/expressions.js.map +1 -0
- package/gel-core/foreign-keys.cjs +100 -0
- package/gel-core/foreign-keys.cjs.map +1 -0
- package/gel-core/foreign-keys.d.cts +48 -0
- package/gel-core/foreign-keys.d.ts +48 -0
- package/gel-core/foreign-keys.js +74 -0
- package/gel-core/foreign-keys.js.map +1 -0
- package/gel-core/index.cjs +61 -0
- package/gel-core/index.cjs.map +1 -0
- package/gel-core/index.d.cts +20 -0
- package/gel-core/index.d.ts +20 -0
- package/gel-core/index.js +21 -0
- package/gel-core/index.js.map +1 -0
- package/gel-core/indexes.cjs +149 -0
- package/gel-core/indexes.cjs.map +1 -0
- package/gel-core/indexes.d.cts +79 -0
- package/gel-core/indexes.d.ts +79 -0
- package/gel-core/indexes.js +121 -0
- package/gel-core/indexes.js.map +1 -0
- package/gel-core/policies.cjs +58 -0
- package/gel-core/policies.cjs.map +1 -0
- package/gel-core/policies.d.cts +24 -0
- package/gel-core/policies.d.ts +24 -0
- package/gel-core/policies.js +33 -0
- package/gel-core/policies.js.map +1 -0
- package/gel-core/primary-keys.cjs +68 -0
- package/gel-core/primary-keys.cjs.map +1 -0
- package/gel-core/primary-keys.d.cts +30 -0
- package/gel-core/primary-keys.d.ts +30 -0
- package/gel-core/primary-keys.js +42 -0
- package/gel-core/primary-keys.js.map +1 -0
- package/gel-core/query-builders/count.cjs +73 -0
- package/gel-core/query-builders/count.cjs.map +1 -0
- package/gel-core/query-builders/count.d.cts +25 -0
- package/gel-core/query-builders/count.d.ts +25 -0
- package/gel-core/query-builders/count.js +49 -0
- package/gel-core/query-builders/count.js.map +1 -0
- package/gel-core/query-builders/delete.cjs +105 -0
- package/gel-core/query-builders/delete.cjs.map +1 -0
- package/gel-core/query-builders/delete.d.cts +99 -0
- package/gel-core/query-builders/delete.d.ts +99 -0
- package/gel-core/query-builders/delete.js +81 -0
- package/gel-core/query-builders/delete.js.map +1 -0
- package/gel-core/query-builders/index.cjs +35 -0
- package/gel-core/query-builders/index.cjs.map +1 -0
- package/gel-core/query-builders/index.d.cts +7 -0
- package/gel-core/query-builders/index.d.ts +7 -0
- package/gel-core/query-builders/index.js +8 -0
- package/gel-core/query-builders/index.js.map +1 -0
- package/gel-core/query-builders/insert.cjs +218 -0
- package/gel-core/query-builders/insert.cjs.map +1 -0
- package/gel-core/query-builders/insert.d.cts +116 -0
- package/gel-core/query-builders/insert.d.ts +116 -0
- package/gel-core/query-builders/insert.js +193 -0
- package/gel-core/query-builders/insert.js.map +1 -0
- package/gel-core/query-builders/query-builder.cjs +114 -0
- package/gel-core/query-builders/query-builder.cjs.map +1 -0
- package/gel-core/query-builders/query-builder.d.cts +40 -0
- package/gel-core/query-builders/query-builder.d.ts +40 -0
- package/gel-core/query-builders/query-builder.js +90 -0
- package/gel-core/query-builders/query-builder.js.map +1 -0
- package/gel-core/query-builders/query.cjs +139 -0
- package/gel-core/query-builders/query.cjs.map +1 -0
- package/gel-core/query-builders/query.d.cts +46 -0
- package/gel-core/query-builders/query.d.ts +46 -0
- package/gel-core/query-builders/query.js +116 -0
- package/gel-core/query-builders/query.js.map +1 -0
- package/gel-core/query-builders/raw.cjs +57 -0
- package/gel-core/query-builders/raw.cjs.map +1 -0
- package/gel-core/query-builders/raw.d.cts +22 -0
- package/gel-core/query-builders/raw.d.ts +22 -0
- package/gel-core/query-builders/raw.js +33 -0
- package/gel-core/query-builders/raw.js.map +1 -0
- package/gel-core/query-builders/refresh-materialized-view.cjs +77 -0
- package/gel-core/query-builders/refresh-materialized-view.cjs.map +1 -0
- package/gel-core/query-builders/refresh-materialized-view.d.cts +27 -0
- package/gel-core/query-builders/refresh-materialized-view.d.ts +27 -0
- package/gel-core/query-builders/refresh-materialized-view.js +53 -0
- package/gel-core/query-builders/refresh-materialized-view.js.map +1 -0
- package/gel-core/query-builders/select.cjs +775 -0
- package/gel-core/query-builders/select.cjs.map +1 -0
- package/gel-core/query-builders/select.d.cts +721 -0
- package/gel-core/query-builders/select.d.ts +721 -0
- package/gel-core/query-builders/select.js +748 -0
- package/gel-core/query-builders/select.js.map +1 -0
- package/gel-core/query-builders/select.types.cjs +17 -0
- package/gel-core/query-builders/select.types.cjs.map +1 -0
- package/gel-core/query-builders/select.types.d.cts +138 -0
- package/gel-core/query-builders/select.types.d.ts +138 -0
- package/gel-core/query-builders/select.types.js +1 -0
- package/gel-core/query-builders/select.types.js.map +1 -0
- package/gel-core/query-builders/update.cjs +226 -0
- package/gel-core/query-builders/update.cjs.map +1 -0
- package/gel-core/query-builders/update.d.cts +166 -0
- package/gel-core/query-builders/update.d.ts +166 -0
- package/gel-core/query-builders/update.js +205 -0
- package/gel-core/query-builders/update.js.map +1 -0
- package/gel-core/roles.cjs +57 -0
- package/gel-core/roles.cjs.map +1 -0
- package/gel-core/roles.d.cts +13 -0
- package/gel-core/roles.d.ts +13 -0
- package/gel-core/roles.js +32 -0
- package/gel-core/roles.js.map +1 -0
- package/gel-core/schema.cjs +74 -0
- package/gel-core/schema.cjs.map +1 -0
- package/gel-core/schema.d.cts +15 -0
- package/gel-core/schema.d.ts +15 -0
- package/gel-core/schema.js +48 -0
- package/gel-core/schema.js.map +1 -0
- package/gel-core/sequence.cjs +52 -0
- package/gel-core/sequence.cjs.map +1 -0
- package/gel-core/sequence.d.cts +18 -0
- package/gel-core/sequence.d.ts +18 -0
- package/gel-core/sequence.js +25 -0
- package/gel-core/sequence.js.map +1 -0
- package/gel-core/session.cjs +94 -0
- package/gel-core/session.cjs.map +1 -0
- package/gel-core/session.d.cts +56 -0
- package/gel-core/session.d.ts +56 -0
- package/gel-core/session.js +68 -0
- package/gel-core/session.js.map +1 -0
- package/gel-core/subquery.cjs +17 -0
- package/gel-core/subquery.cjs.map +1 -0
- package/gel-core/subquery.d.cts +5 -0
- package/gel-core/subquery.d.ts +5 -0
- package/gel-core/subquery.js +1 -0
- package/gel-core/subquery.js.map +1 -0
- package/gel-core/table.cjs +100 -0
- package/gel-core/table.cjs.map +1 -0
- package/gel-core/table.d.cts +95 -0
- package/gel-core/table.d.ts +95 -0
- package/gel-core/table.js +71 -0
- package/gel-core/table.js.map +1 -0
- package/gel-core/unique-constraint.cjs +89 -0
- package/gel-core/unique-constraint.cjs.map +1 -0
- package/gel-core/unique-constraint.d.cts +25 -0
- package/gel-core/unique-constraint.d.ts +25 -0
- package/gel-core/unique-constraint.js +61 -0
- package/gel-core/unique-constraint.js.map +1 -0
- package/gel-core/utils.cjs +100 -0
- package/gel-core/utils.cjs.map +1 -0
- package/gel-core/utils.d.cts +51 -0
- package/gel-core/utils.d.ts +51 -0
- package/gel-core/utils.js +74 -0
- package/gel-core/utils.js.map +1 -0
- package/gel-core/view-base.cjs +33 -0
- package/gel-core/view-base.cjs.map +1 -0
- package/gel-core/view-base.d.cts +8 -0
- package/gel-core/view-base.d.ts +8 -0
- package/gel-core/view-base.js +9 -0
- package/gel-core/view-base.js.map +1 -0
- package/gel-core/view-common.cjs +29 -0
- package/gel-core/view-common.cjs.map +1 -0
- package/gel-core/view-common.d.cts +1 -0
- package/gel-core/view-common.d.ts +1 -0
- package/gel-core/view-common.js +5 -0
- package/gel-core/view-common.js.map +1 -0
- package/gel-core/view.cjs +302 -0
- package/gel-core/view.cjs.map +1 -0
- package/gel-core/view.d.cts +150 -0
- package/gel-core/view.d.ts +150 -0
- package/gel-core/view.js +268 -0
- package/gel-core/view.js.map +1 -0
- package/package.json +1062 -325
- package/pg-core/table.cjs +2 -0
- package/pg-core/table.cjs.map +1 -1
- package/pg-core/table.js +2 -0
- package/pg-core/table.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,74 @@
|
|
|
1
|
+
import { is } from "../entity.js";
|
|
2
|
+
import { Table } from "../table.js";
|
|
3
|
+
import { ViewBaseConfig } from "../view-common.js";
|
|
4
|
+
import { CheckBuilder } from "./checks.js";
|
|
5
|
+
import { ForeignKeyBuilder } from "./foreign-keys.js";
|
|
6
|
+
import { IndexBuilder } from "./indexes.js";
|
|
7
|
+
import { GelPolicy } from "./policies.js";
|
|
8
|
+
import { PrimaryKeyBuilder } from "./primary-keys.js";
|
|
9
|
+
import { GelTable } from "./table.js";
|
|
10
|
+
import { UniqueConstraintBuilder } from "./unique-constraint.js";
|
|
11
|
+
import { GelViewConfig } from "./view-common.js";
|
|
12
|
+
import { GelMaterializedViewConfig } from "./view.js";
|
|
13
|
+
function getTableConfig(table) {
|
|
14
|
+
const columns = Object.values(table[Table.Symbol.Columns]);
|
|
15
|
+
const indexes = [];
|
|
16
|
+
const checks = [];
|
|
17
|
+
const primaryKeys = [];
|
|
18
|
+
const foreignKeys = Object.values(table[GelTable.Symbol.InlineForeignKeys]);
|
|
19
|
+
const uniqueConstraints = [];
|
|
20
|
+
const name = table[Table.Symbol.Name];
|
|
21
|
+
const schema = table[Table.Symbol.Schema];
|
|
22
|
+
const policies = [];
|
|
23
|
+
const enableRLS = table[GelTable.Symbol.EnableRLS];
|
|
24
|
+
const extraConfigBuilder = table[GelTable.Symbol.ExtraConfigBuilder];
|
|
25
|
+
if (extraConfigBuilder !== void 0) {
|
|
26
|
+
const extraConfig = extraConfigBuilder(table[Table.Symbol.ExtraConfigColumns]);
|
|
27
|
+
const extraValues = Array.isArray(extraConfig) ? extraConfig.flat(1) : Object.values(extraConfig);
|
|
28
|
+
for (const builder of extraValues) {
|
|
29
|
+
if (is(builder, IndexBuilder)) {
|
|
30
|
+
indexes.push(builder.build(table));
|
|
31
|
+
} else if (is(builder, CheckBuilder)) {
|
|
32
|
+
checks.push(builder.build(table));
|
|
33
|
+
} else if (is(builder, UniqueConstraintBuilder)) {
|
|
34
|
+
uniqueConstraints.push(builder.build(table));
|
|
35
|
+
} else if (is(builder, PrimaryKeyBuilder)) {
|
|
36
|
+
primaryKeys.push(builder.build(table));
|
|
37
|
+
} else if (is(builder, ForeignKeyBuilder)) {
|
|
38
|
+
foreignKeys.push(builder.build(table));
|
|
39
|
+
} else if (is(builder, GelPolicy)) {
|
|
40
|
+
policies.push(builder);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
columns,
|
|
46
|
+
indexes,
|
|
47
|
+
foreignKeys,
|
|
48
|
+
checks,
|
|
49
|
+
primaryKeys,
|
|
50
|
+
uniqueConstraints,
|
|
51
|
+
name,
|
|
52
|
+
schema,
|
|
53
|
+
policies,
|
|
54
|
+
enableRLS
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
function getViewConfig(view) {
|
|
58
|
+
return {
|
|
59
|
+
...view[ViewBaseConfig],
|
|
60
|
+
...view[GelViewConfig]
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function getMaterializedViewConfig(view) {
|
|
64
|
+
return {
|
|
65
|
+
...view[ViewBaseConfig],
|
|
66
|
+
...view[GelMaterializedViewConfig]
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
export {
|
|
70
|
+
getMaterializedViewConfig,
|
|
71
|
+
getTableConfig,
|
|
72
|
+
getViewConfig
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/gel-core/utils.ts"],"sourcesContent":["import { is } from '~/entity.ts';\nimport { Table } from '~/table.ts';\nimport { ViewBaseConfig } from '~/view-common.ts';\nimport { type Check, CheckBuilder } from './checks.ts';\nimport type { AnyGelColumn } from './columns/index.ts';\nimport { type ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { Index } from './indexes.ts';\nimport { IndexBuilder } from './indexes.ts';\nimport { GelPolicy } from './policies.ts';\nimport { type PrimaryKey, PrimaryKeyBuilder } from './primary-keys.ts';\nimport { GelTable } from './table.ts';\nimport { type UniqueConstraint, UniqueConstraintBuilder } from './unique-constraint.ts';\nimport { GelViewConfig } from './view-common.ts';\nimport { type GelMaterializedView, GelMaterializedViewConfig, type GelView } from './view.ts';\n\nexport function getTableConfig<TTable extends GelTable>(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[GelTable.Symbol.InlineForeignKeys]);\n\tconst uniqueConstraints: UniqueConstraint[] = [];\n\tconst name = table[Table.Symbol.Name];\n\tconst schema = table[Table.Symbol.Schema];\n\tconst policies: GelPolicy[] = [];\n\tconst enableRLS: boolean = table[GelTable.Symbol.EnableRLS];\n\n\tconst extraConfigBuilder = table[GelTable.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, GelPolicy)) {\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: GelView<TName, TExisting>) {\n\treturn {\n\t\t...view[ViewBaseConfig],\n\t\t...view[GelViewConfig],\n\t};\n}\n\nexport function getMaterializedViewConfig<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n>(view: GelMaterializedView<TName, TExisting>) {\n\treturn {\n\t\t...view[ViewBaseConfig],\n\t\t...view[GelMaterializedViewConfig],\n\t};\n}\n\nexport type ColumnsWithTable<\n\tTTableName extends string,\n\tTForeignTableName extends string,\n\tTColumns extends AnyGelColumn<{ tableName: TTableName }>[],\n> = { [Key in keyof TColumns]: AnyGelColumn<{ tableName: TForeignTableName }> };\n"],"mappings":"AAAA,SAAS,UAAU;AACnB,SAAS,aAAa;AACtB,SAAS,sBAAsB;AAC/B,SAAqB,oBAAoB;AAEzC,SAA0B,yBAAyB;AAEnD,SAAS,oBAAoB;AAC7B,SAAS,iBAAiB;AAC1B,SAA0B,yBAAyB;AACnD,SAAS,gBAAgB;AACzB,SAAgC,+BAA+B;AAC/D,SAAS,qBAAqB;AAC9B,SAAmC,iCAA+C;AAE3E,SAAS,eAAwC,OAAe;AACtE,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,SAAS,OAAO,iBAAiB,CAAC;AACxF,QAAM,oBAAwC,CAAC;AAC/C,QAAM,OAAO,MAAM,MAAM,OAAO,IAAI;AACpC,QAAM,SAAS,MAAM,MAAM,OAAO,MAAM;AACxC,QAAM,WAAwB,CAAC;AAC/B,QAAM,YAAqB,MAAM,SAAS,OAAO,SAAS;AAE1D,QAAM,qBAAqB,MAAM,SAAS,OAAO,kBAAkB;AAEnE,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,SAAS,GAAG;AAClC,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,MAAiC;AAClC,SAAO;AAAA,IACN,GAAG,KAAK,cAAc;AAAA,IACtB,GAAG,KAAK,aAAa;AAAA,EACtB;AACD;AAEO,SAAS,0BAGd,MAA6C;AAC9C,SAAO;AAAA,IACN,GAAG,KAAK,cAAc;AAAA,IACtB,GAAG,KAAK,yBAAyB;AAAA,EAClC;AACD;","names":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
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 view_base_exports = {};
|
|
20
|
+
__export(view_base_exports, {
|
|
21
|
+
GelViewBase: () => GelViewBase
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(view_base_exports);
|
|
24
|
+
var import_entity = require("../entity.cjs");
|
|
25
|
+
var import_sql = require("../sql/sql.cjs");
|
|
26
|
+
class GelViewBase extends import_sql.View {
|
|
27
|
+
static [import_entity.entityKind] = "GelViewBase";
|
|
28
|
+
}
|
|
29
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
30
|
+
0 && (module.exports = {
|
|
31
|
+
GelViewBase
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=view-base.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/gel-core/view-base.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { type ColumnsSelection, View } from '~/sql/sql.ts';\n\nexport abstract class GelViewBase<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n\tTSelectedFields extends ColumnsSelection = ColumnsSelection,\n> extends View<TName, TExisting, TSelectedFields> {\n\tstatic override readonly [entityKind]: string = 'GelViewBase';\n\n\tdeclare readonly _: View<TName, TExisting, TSelectedFields>['_'] & {\n\t\treadonly viewBrand: 'GelViewBase';\n\t};\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAC3B,iBAA4C;AAErC,MAAe,oBAIZ,gBAAwC;AAAA,EACjD,QAA0B,wBAAU,IAAY;AAKjD;","names":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { entityKind } from "../entity.cjs";
|
|
2
|
+
import { type ColumnsSelection, View } from "../sql/sql.cjs";
|
|
3
|
+
export declare abstract class GelViewBase<TName extends string = string, TExisting extends boolean = boolean, TSelectedFields extends ColumnsSelection = ColumnsSelection> extends View<TName, TExisting, TSelectedFields> {
|
|
4
|
+
static readonly [entityKind]: string;
|
|
5
|
+
readonly _: View<TName, TExisting, TSelectedFields>['_'] & {
|
|
6
|
+
readonly viewBrand: 'GelViewBase';
|
|
7
|
+
};
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { entityKind } from "../entity.js";
|
|
2
|
+
import { type ColumnsSelection, View } from "../sql/sql.js";
|
|
3
|
+
export declare abstract class GelViewBase<TName extends string = string, TExisting extends boolean = boolean, TSelectedFields extends ColumnsSelection = ColumnsSelection> extends View<TName, TExisting, TSelectedFields> {
|
|
4
|
+
static readonly [entityKind]: string;
|
|
5
|
+
readonly _: View<TName, TExisting, TSelectedFields>['_'] & {
|
|
6
|
+
readonly viewBrand: 'GelViewBase';
|
|
7
|
+
};
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/gel-core/view-base.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { type ColumnsSelection, View } from '~/sql/sql.ts';\n\nexport abstract class GelViewBase<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n\tTSelectedFields extends ColumnsSelection = ColumnsSelection,\n> extends View<TName, TExisting, TSelectedFields> {\n\tstatic override readonly [entityKind]: string = 'GelViewBase';\n\n\tdeclare readonly _: View<TName, TExisting, TSelectedFields>['_'] & {\n\t\treadonly viewBrand: 'GelViewBase';\n\t};\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAC3B,SAAgC,YAAY;AAErC,MAAe,oBAIZ,KAAwC;AAAA,EACjD,QAA0B,UAAU,IAAY;AAKjD;","names":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
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 view_common_exports = {};
|
|
20
|
+
__export(view_common_exports, {
|
|
21
|
+
GelViewConfig: () => GelViewConfig
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(view_common_exports);
|
|
24
|
+
const GelViewConfig = Symbol.for("drizzle:GelViewConfig");
|
|
25
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
26
|
+
0 && (module.exports = {
|
|
27
|
+
GelViewConfig
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=view-common.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/gel-core/view-common.ts"],"sourcesContent":["export const GelViewConfig = Symbol.for('drizzle:GelViewConfig');\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,gBAAgB,OAAO,IAAI,uBAAuB;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const GelViewConfig: unique symbol;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const GelViewConfig: unique symbol;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/gel-core/view-common.ts"],"sourcesContent":["export const GelViewConfig = Symbol.for('drizzle:GelViewConfig');\n"],"mappings":"AAAO,MAAM,gBAAgB,OAAO,IAAI,uBAAuB;","names":[]}
|
|
@@ -0,0 +1,302 @@
|
|
|
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 view_exports = {};
|
|
20
|
+
__export(view_exports, {
|
|
21
|
+
DefaultViewBuilderCore: () => DefaultViewBuilderCore,
|
|
22
|
+
GelMaterializedView: () => GelMaterializedView,
|
|
23
|
+
GelMaterializedViewConfig: () => GelMaterializedViewConfig,
|
|
24
|
+
GelView: () => GelView,
|
|
25
|
+
ManualMaterializedViewBuilder: () => ManualMaterializedViewBuilder,
|
|
26
|
+
ManualViewBuilder: () => ManualViewBuilder,
|
|
27
|
+
MaterializedViewBuilder: () => MaterializedViewBuilder,
|
|
28
|
+
MaterializedViewBuilderCore: () => MaterializedViewBuilderCore,
|
|
29
|
+
ViewBuilder: () => ViewBuilder,
|
|
30
|
+
gelMaterializedViewWithSchema: () => gelMaterializedViewWithSchema,
|
|
31
|
+
gelViewWithSchema: () => gelViewWithSchema
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(view_exports);
|
|
34
|
+
var import_entity = require("../entity.cjs");
|
|
35
|
+
var import_selection_proxy = require("../selection-proxy.cjs");
|
|
36
|
+
var import_utils = require("../utils.cjs");
|
|
37
|
+
var import_query_builder = require("./query-builders/query-builder.cjs");
|
|
38
|
+
var import_table = require("./table.cjs");
|
|
39
|
+
var import_view_base = require("./view-base.cjs");
|
|
40
|
+
var import_view_common = require("./view-common.cjs");
|
|
41
|
+
class DefaultViewBuilderCore {
|
|
42
|
+
constructor(name, schema) {
|
|
43
|
+
this.name = name;
|
|
44
|
+
this.schema = schema;
|
|
45
|
+
}
|
|
46
|
+
static [import_entity.entityKind] = "GelDefaultViewBuilderCore";
|
|
47
|
+
config = {};
|
|
48
|
+
with(config) {
|
|
49
|
+
this.config.with = config;
|
|
50
|
+
return this;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
class ViewBuilder extends DefaultViewBuilderCore {
|
|
54
|
+
static [import_entity.entityKind] = "GelViewBuilder";
|
|
55
|
+
as(qb) {
|
|
56
|
+
if (typeof qb === "function") {
|
|
57
|
+
qb = qb(new import_query_builder.QueryBuilder());
|
|
58
|
+
}
|
|
59
|
+
const selectionProxy = new import_selection_proxy.SelectionProxyHandler({
|
|
60
|
+
alias: this.name,
|
|
61
|
+
sqlBehavior: "error",
|
|
62
|
+
sqlAliasedBehavior: "alias",
|
|
63
|
+
replaceOriginalName: true
|
|
64
|
+
});
|
|
65
|
+
const aliasedSelection = new Proxy(qb.getSelectedFields(), selectionProxy);
|
|
66
|
+
return new Proxy(
|
|
67
|
+
new GelView({
|
|
68
|
+
GelConfig: this.config,
|
|
69
|
+
config: {
|
|
70
|
+
name: this.name,
|
|
71
|
+
schema: this.schema,
|
|
72
|
+
selectedFields: aliasedSelection,
|
|
73
|
+
query: qb.getSQL().inlineParams()
|
|
74
|
+
}
|
|
75
|
+
}),
|
|
76
|
+
selectionProxy
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
class ManualViewBuilder extends DefaultViewBuilderCore {
|
|
81
|
+
static [import_entity.entityKind] = "GelManualViewBuilder";
|
|
82
|
+
columns;
|
|
83
|
+
constructor(name, columns, schema) {
|
|
84
|
+
super(name, schema);
|
|
85
|
+
this.columns = (0, import_utils.getTableColumns)((0, import_table.gelTable)(name, columns));
|
|
86
|
+
}
|
|
87
|
+
existing() {
|
|
88
|
+
return new Proxy(
|
|
89
|
+
new GelView({
|
|
90
|
+
GelConfig: void 0,
|
|
91
|
+
config: {
|
|
92
|
+
name: this.name,
|
|
93
|
+
schema: this.schema,
|
|
94
|
+
selectedFields: this.columns,
|
|
95
|
+
query: void 0
|
|
96
|
+
}
|
|
97
|
+
}),
|
|
98
|
+
new import_selection_proxy.SelectionProxyHandler({
|
|
99
|
+
alias: this.name,
|
|
100
|
+
sqlBehavior: "error",
|
|
101
|
+
sqlAliasedBehavior: "alias",
|
|
102
|
+
replaceOriginalName: true
|
|
103
|
+
})
|
|
104
|
+
);
|
|
105
|
+
}
|
|
106
|
+
as(query) {
|
|
107
|
+
return new Proxy(
|
|
108
|
+
new GelView({
|
|
109
|
+
GelConfig: this.config,
|
|
110
|
+
config: {
|
|
111
|
+
name: this.name,
|
|
112
|
+
schema: this.schema,
|
|
113
|
+
selectedFields: this.columns,
|
|
114
|
+
query: query.inlineParams()
|
|
115
|
+
}
|
|
116
|
+
}),
|
|
117
|
+
new import_selection_proxy.SelectionProxyHandler({
|
|
118
|
+
alias: this.name,
|
|
119
|
+
sqlBehavior: "error",
|
|
120
|
+
sqlAliasedBehavior: "alias",
|
|
121
|
+
replaceOriginalName: true
|
|
122
|
+
})
|
|
123
|
+
);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
class MaterializedViewBuilderCore {
|
|
127
|
+
constructor(name, schema) {
|
|
128
|
+
this.name = name;
|
|
129
|
+
this.schema = schema;
|
|
130
|
+
}
|
|
131
|
+
static [import_entity.entityKind] = "GelMaterializedViewBuilderCore";
|
|
132
|
+
config = {};
|
|
133
|
+
using(using) {
|
|
134
|
+
this.config.using = using;
|
|
135
|
+
return this;
|
|
136
|
+
}
|
|
137
|
+
with(config) {
|
|
138
|
+
this.config.with = config;
|
|
139
|
+
return this;
|
|
140
|
+
}
|
|
141
|
+
tablespace(tablespace) {
|
|
142
|
+
this.config.tablespace = tablespace;
|
|
143
|
+
return this;
|
|
144
|
+
}
|
|
145
|
+
withNoData() {
|
|
146
|
+
this.config.withNoData = true;
|
|
147
|
+
return this;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
class MaterializedViewBuilder extends MaterializedViewBuilderCore {
|
|
151
|
+
static [import_entity.entityKind] = "GelMaterializedViewBuilder";
|
|
152
|
+
as(qb) {
|
|
153
|
+
if (typeof qb === "function") {
|
|
154
|
+
qb = qb(new import_query_builder.QueryBuilder());
|
|
155
|
+
}
|
|
156
|
+
const selectionProxy = new import_selection_proxy.SelectionProxyHandler({
|
|
157
|
+
alias: this.name,
|
|
158
|
+
sqlBehavior: "error",
|
|
159
|
+
sqlAliasedBehavior: "alias",
|
|
160
|
+
replaceOriginalName: true
|
|
161
|
+
});
|
|
162
|
+
const aliasedSelection = new Proxy(qb.getSelectedFields(), selectionProxy);
|
|
163
|
+
return new Proxy(
|
|
164
|
+
new GelMaterializedView({
|
|
165
|
+
GelConfig: {
|
|
166
|
+
with: this.config.with,
|
|
167
|
+
using: this.config.using,
|
|
168
|
+
tablespace: this.config.tablespace,
|
|
169
|
+
withNoData: this.config.withNoData
|
|
170
|
+
},
|
|
171
|
+
config: {
|
|
172
|
+
name: this.name,
|
|
173
|
+
schema: this.schema,
|
|
174
|
+
selectedFields: aliasedSelection,
|
|
175
|
+
query: qb.getSQL().inlineParams()
|
|
176
|
+
}
|
|
177
|
+
}),
|
|
178
|
+
selectionProxy
|
|
179
|
+
);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
class ManualMaterializedViewBuilder extends MaterializedViewBuilderCore {
|
|
183
|
+
static [import_entity.entityKind] = "GelManualMaterializedViewBuilder";
|
|
184
|
+
columns;
|
|
185
|
+
constructor(name, columns, schema) {
|
|
186
|
+
super(name, schema);
|
|
187
|
+
this.columns = (0, import_utils.getTableColumns)((0, import_table.gelTable)(name, columns));
|
|
188
|
+
}
|
|
189
|
+
existing() {
|
|
190
|
+
return new Proxy(
|
|
191
|
+
new GelMaterializedView({
|
|
192
|
+
GelConfig: {
|
|
193
|
+
tablespace: this.config.tablespace,
|
|
194
|
+
using: this.config.using,
|
|
195
|
+
with: this.config.with,
|
|
196
|
+
withNoData: this.config.withNoData
|
|
197
|
+
},
|
|
198
|
+
config: {
|
|
199
|
+
name: this.name,
|
|
200
|
+
schema: this.schema,
|
|
201
|
+
selectedFields: this.columns,
|
|
202
|
+
query: void 0
|
|
203
|
+
}
|
|
204
|
+
}),
|
|
205
|
+
new import_selection_proxy.SelectionProxyHandler({
|
|
206
|
+
alias: this.name,
|
|
207
|
+
sqlBehavior: "error",
|
|
208
|
+
sqlAliasedBehavior: "alias",
|
|
209
|
+
replaceOriginalName: true
|
|
210
|
+
})
|
|
211
|
+
);
|
|
212
|
+
}
|
|
213
|
+
as(query) {
|
|
214
|
+
return new Proxy(
|
|
215
|
+
new GelMaterializedView({
|
|
216
|
+
GelConfig: {
|
|
217
|
+
tablespace: this.config.tablespace,
|
|
218
|
+
using: this.config.using,
|
|
219
|
+
with: this.config.with,
|
|
220
|
+
withNoData: this.config.withNoData
|
|
221
|
+
},
|
|
222
|
+
config: {
|
|
223
|
+
name: this.name,
|
|
224
|
+
schema: this.schema,
|
|
225
|
+
selectedFields: this.columns,
|
|
226
|
+
query: query.inlineParams()
|
|
227
|
+
}
|
|
228
|
+
}),
|
|
229
|
+
new import_selection_proxy.SelectionProxyHandler({
|
|
230
|
+
alias: this.name,
|
|
231
|
+
sqlBehavior: "error",
|
|
232
|
+
sqlAliasedBehavior: "alias",
|
|
233
|
+
replaceOriginalName: true
|
|
234
|
+
})
|
|
235
|
+
);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
class GelView extends import_view_base.GelViewBase {
|
|
239
|
+
static [import_entity.entityKind] = "GelView";
|
|
240
|
+
[import_view_common.GelViewConfig];
|
|
241
|
+
constructor({ GelConfig, config }) {
|
|
242
|
+
super(config);
|
|
243
|
+
if (GelConfig) {
|
|
244
|
+
this[import_view_common.GelViewConfig] = {
|
|
245
|
+
with: GelConfig.with
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
const GelMaterializedViewConfig = Symbol.for("drizzle:GelMaterializedViewConfig");
|
|
251
|
+
class GelMaterializedView extends import_view_base.GelViewBase {
|
|
252
|
+
static [import_entity.entityKind] = "GelMaterializedView";
|
|
253
|
+
[GelMaterializedViewConfig];
|
|
254
|
+
constructor({ GelConfig, config }) {
|
|
255
|
+
super(config);
|
|
256
|
+
this[GelMaterializedViewConfig] = {
|
|
257
|
+
with: GelConfig?.with,
|
|
258
|
+
using: GelConfig?.using,
|
|
259
|
+
tablespace: GelConfig?.tablespace,
|
|
260
|
+
withNoData: GelConfig?.withNoData
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
function gelViewWithSchema(name, selection, schema) {
|
|
265
|
+
if (selection) {
|
|
266
|
+
return new ManualViewBuilder(name, selection, schema);
|
|
267
|
+
}
|
|
268
|
+
return new ViewBuilder(name, schema);
|
|
269
|
+
}
|
|
270
|
+
function gelMaterializedViewWithSchema(name, selection, schema) {
|
|
271
|
+
if (selection) {
|
|
272
|
+
return new ManualMaterializedViewBuilder(name, selection, schema);
|
|
273
|
+
}
|
|
274
|
+
return new MaterializedViewBuilder(name, schema);
|
|
275
|
+
}
|
|
276
|
+
function gelView(name, columns) {
|
|
277
|
+
return gelViewWithSchema(name, columns, void 0);
|
|
278
|
+
}
|
|
279
|
+
function gelMaterializedView(name, columns) {
|
|
280
|
+
return gelMaterializedViewWithSchema(name, columns, void 0);
|
|
281
|
+
}
|
|
282
|
+
function isGelView(obj) {
|
|
283
|
+
return (0, import_entity.is)(obj, GelView);
|
|
284
|
+
}
|
|
285
|
+
function isGelMaterializedView(obj) {
|
|
286
|
+
return (0, import_entity.is)(obj, GelMaterializedView);
|
|
287
|
+
}
|
|
288
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
289
|
+
0 && (module.exports = {
|
|
290
|
+
DefaultViewBuilderCore,
|
|
291
|
+
GelMaterializedView,
|
|
292
|
+
GelMaterializedViewConfig,
|
|
293
|
+
GelView,
|
|
294
|
+
ManualMaterializedViewBuilder,
|
|
295
|
+
ManualViewBuilder,
|
|
296
|
+
MaterializedViewBuilder,
|
|
297
|
+
MaterializedViewBuilderCore,
|
|
298
|
+
ViewBuilder,
|
|
299
|
+
gelMaterializedViewWithSchema,
|
|
300
|
+
gelViewWithSchema
|
|
301
|
+
});
|
|
302
|
+
//# sourceMappingURL=view.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/gel-core/view.ts"],"sourcesContent":["import type { BuildColumns } from '~/column-builder.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { TypedQueryBuilder } from '~/query-builders/query-builder.ts';\nimport type { AddAliasToSelection } from '~/query-builders/select.types.ts';\nimport { SelectionProxyHandler } from '~/selection-proxy.ts';\nimport type { ColumnsSelection, SQL } from '~/sql/sql.ts';\nimport { getTableColumns } from '~/utils.ts';\nimport type { RequireAtLeastOne } from '~/utils.ts';\nimport type { GelColumn, GelColumnBuilderBase } from './columns/common.ts';\nimport { QueryBuilder } from './query-builders/query-builder.ts';\nimport { gelTable } from './table.ts';\nimport { GelViewBase } from './view-base.ts';\nimport { GelViewConfig } from './view-common.ts';\n\nexport type ViewWithConfig = RequireAtLeastOne<{\n\tcheckOption: 'local' | 'cascaded';\n\tsecurityBarrier: boolean;\n\tsecurityInvoker: boolean;\n}>;\n\nexport class DefaultViewBuilderCore<TConfig extends { name: string; columns?: unknown }> {\n\tstatic readonly [entityKind]: string = 'GelDefaultViewBuilderCore';\n\n\tdeclare readonly _: {\n\t\treadonly name: TConfig['name'];\n\t\treadonly columns: TConfig['columns'];\n\t};\n\n\tconstructor(\n\t\tprotected name: TConfig['name'],\n\t\tprotected schema: string | undefined,\n\t) {}\n\n\tprotected config: {\n\t\twith?: ViewWithConfig;\n\t} = {};\n\n\twith(config: ViewWithConfig): this {\n\t\tthis.config.with = config;\n\t\treturn this;\n\t}\n}\n\nexport class ViewBuilder<TName extends string = string> extends DefaultViewBuilderCore<{ name: TName }> {\n\tstatic override readonly [entityKind]: string = 'GelViewBuilder';\n\n\tas<TSelectedFields extends ColumnsSelection>(\n\t\tqb: TypedQueryBuilder<TSelectedFields> | ((qb: QueryBuilder) => TypedQueryBuilder<TSelectedFields>),\n\t): GelViewWithSelection<TName, false, AddAliasToSelection<TSelectedFields, TName, 'gel'>> {\n\t\tif (typeof qb === 'function') {\n\t\t\tqb = qb(new QueryBuilder());\n\t\t}\n\t\tconst selectionProxy = new SelectionProxyHandler<TSelectedFields>({\n\t\t\talias: this.name,\n\t\t\tsqlBehavior: 'error',\n\t\t\tsqlAliasedBehavior: 'alias',\n\t\t\treplaceOriginalName: true,\n\t\t});\n\t\tconst aliasedSelection = new Proxy(qb.getSelectedFields(), selectionProxy);\n\t\treturn new Proxy(\n\t\t\tnew GelView({\n\t\t\t\tGelConfig: this.config,\n\t\t\t\tconfig: {\n\t\t\t\t\tname: this.name,\n\t\t\t\t\tschema: this.schema,\n\t\t\t\t\tselectedFields: aliasedSelection,\n\t\t\t\t\tquery: qb.getSQL().inlineParams(),\n\t\t\t\t},\n\t\t\t}),\n\t\t\tselectionProxy as any,\n\t\t) as GelViewWithSelection<TName, false, AddAliasToSelection<TSelectedFields, TName, 'gel'>>;\n\t}\n}\n\nexport class ManualViewBuilder<\n\tTName extends string = string,\n\tTColumns extends Record<string, GelColumnBuilderBase> = Record<string, GelColumnBuilderBase>,\n> extends DefaultViewBuilderCore<{ name: TName; columns: TColumns }> {\n\tstatic override readonly [entityKind]: string = 'GelManualViewBuilder';\n\n\tprivate columns: Record<string, GelColumn>;\n\n\tconstructor(\n\t\tname: TName,\n\t\tcolumns: TColumns,\n\t\tschema: string | undefined,\n\t) {\n\t\tsuper(name, schema);\n\t\tthis.columns = getTableColumns(gelTable(name, columns));\n\t}\n\n\texisting(): GelViewWithSelection<TName, true, BuildColumns<TName, TColumns, 'gel'>> {\n\t\treturn new Proxy(\n\t\t\tnew GelView({\n\t\t\t\tGelConfig: undefined,\n\t\t\t\tconfig: {\n\t\t\t\t\tname: this.name,\n\t\t\t\t\tschema: this.schema,\n\t\t\t\t\tselectedFields: this.columns,\n\t\t\t\t\tquery: undefined,\n\t\t\t\t},\n\t\t\t}),\n\t\t\tnew SelectionProxyHandler({\n\t\t\t\talias: this.name,\n\t\t\t\tsqlBehavior: 'error',\n\t\t\t\tsqlAliasedBehavior: 'alias',\n\t\t\t\treplaceOriginalName: true,\n\t\t\t}),\n\t\t) as GelViewWithSelection<TName, true, BuildColumns<TName, TColumns, 'gel'>>;\n\t}\n\n\tas(query: SQL): GelViewWithSelection<TName, false, BuildColumns<TName, TColumns, 'gel'>> {\n\t\treturn new Proxy(\n\t\t\tnew GelView({\n\t\t\t\tGelConfig: this.config,\n\t\t\t\tconfig: {\n\t\t\t\t\tname: this.name,\n\t\t\t\t\tschema: this.schema,\n\t\t\t\t\tselectedFields: this.columns,\n\t\t\t\t\tquery: query.inlineParams(),\n\t\t\t\t},\n\t\t\t}),\n\t\t\tnew SelectionProxyHandler({\n\t\t\t\talias: this.name,\n\t\t\t\tsqlBehavior: 'error',\n\t\t\t\tsqlAliasedBehavior: 'alias',\n\t\t\t\treplaceOriginalName: true,\n\t\t\t}),\n\t\t) as GelViewWithSelection<TName, false, BuildColumns<TName, TColumns, 'gel'>>;\n\t}\n}\n\nexport type GelMaterializedViewWithConfig = RequireAtLeastOne<{\n\tfillfactor: number;\n\ttoastTupleTarget: number;\n\tparallelWorkers: number;\n\tautovacuumEnabled: boolean;\n\tvacuumIndexCleanup: 'auto' | 'off' | 'on';\n\tvacuumTruncate: boolean;\n\tautovacuumVacuumThreshold: number;\n\tautovacuumVacuumScaleFactor: number;\n\tautovacuumVacuumCostDelay: number;\n\tautovacuumVacuumCostLimit: number;\n\tautovacuumFreezeMinAge: number;\n\tautovacuumFreezeMaxAge: number;\n\tautovacuumFreezeTableAge: number;\n\tautovacuumMultixactFreezeMinAge: number;\n\tautovacuumMultixactFreezeMaxAge: number;\n\tautovacuumMultixactFreezeTableAge: number;\n\tlogAutovacuumMinDuration: number;\n\tuserCatalogTable: boolean;\n}>;\n\nexport class MaterializedViewBuilderCore<TConfig extends { name: string; columns?: unknown }> {\n\tstatic readonly [entityKind]: string = 'GelMaterializedViewBuilderCore';\n\n\tdeclare _: {\n\t\treadonly name: TConfig['name'];\n\t\treadonly columns: TConfig['columns'];\n\t};\n\n\tconstructor(\n\t\tprotected name: TConfig['name'],\n\t\tprotected schema: string | undefined,\n\t) {}\n\n\tprotected config: {\n\t\twith?: GelMaterializedViewWithConfig;\n\t\tusing?: string;\n\t\ttablespace?: string;\n\t\twithNoData?: boolean;\n\t} = {};\n\n\tusing(using: string): this {\n\t\tthis.config.using = using;\n\t\treturn this;\n\t}\n\n\twith(config: GelMaterializedViewWithConfig): this {\n\t\tthis.config.with = config;\n\t\treturn this;\n\t}\n\n\ttablespace(tablespace: string): this {\n\t\tthis.config.tablespace = tablespace;\n\t\treturn this;\n\t}\n\n\twithNoData(): this {\n\t\tthis.config.withNoData = true;\n\t\treturn this;\n\t}\n}\n\nexport class MaterializedViewBuilder<TName extends string = string>\n\textends MaterializedViewBuilderCore<{ name: TName }>\n{\n\tstatic override readonly [entityKind]: string = 'GelMaterializedViewBuilder';\n\n\tas<TSelectedFields extends ColumnsSelection>(\n\t\tqb: TypedQueryBuilder<TSelectedFields> | ((qb: QueryBuilder) => TypedQueryBuilder<TSelectedFields>),\n\t): GelMaterializedViewWithSelection<TName, false, AddAliasToSelection<TSelectedFields, TName, 'gel'>> {\n\t\tif (typeof qb === 'function') {\n\t\t\tqb = qb(new QueryBuilder());\n\t\t}\n\t\tconst selectionProxy = new SelectionProxyHandler<TSelectedFields>({\n\t\t\talias: this.name,\n\t\t\tsqlBehavior: 'error',\n\t\t\tsqlAliasedBehavior: 'alias',\n\t\t\treplaceOriginalName: true,\n\t\t});\n\t\tconst aliasedSelection = new Proxy(qb.getSelectedFields(), selectionProxy);\n\t\treturn new Proxy(\n\t\t\tnew GelMaterializedView({\n\t\t\t\tGelConfig: {\n\t\t\t\t\twith: this.config.with,\n\t\t\t\t\tusing: this.config.using,\n\t\t\t\t\ttablespace: this.config.tablespace,\n\t\t\t\t\twithNoData: this.config.withNoData,\n\t\t\t\t},\n\t\t\t\tconfig: {\n\t\t\t\t\tname: this.name,\n\t\t\t\t\tschema: this.schema,\n\t\t\t\t\tselectedFields: aliasedSelection,\n\t\t\t\t\tquery: qb.getSQL().inlineParams(),\n\t\t\t\t},\n\t\t\t}),\n\t\t\tselectionProxy as any,\n\t\t) as GelMaterializedViewWithSelection<TName, false, AddAliasToSelection<TSelectedFields, TName, 'gel'>>;\n\t}\n}\n\nexport class ManualMaterializedViewBuilder<\n\tTName extends string = string,\n\tTColumns extends Record<string, GelColumnBuilderBase> = Record<string, GelColumnBuilderBase>,\n> extends MaterializedViewBuilderCore<{ name: TName; columns: TColumns }> {\n\tstatic override readonly [entityKind]: string = 'GelManualMaterializedViewBuilder';\n\n\tprivate columns: Record<string, GelColumn>;\n\n\tconstructor(\n\t\tname: TName,\n\t\tcolumns: TColumns,\n\t\tschema: string | undefined,\n\t) {\n\t\tsuper(name, schema);\n\t\tthis.columns = getTableColumns(gelTable(name, columns));\n\t}\n\n\texisting(): GelMaterializedViewWithSelection<TName, true, BuildColumns<TName, TColumns, 'gel'>> {\n\t\treturn new Proxy(\n\t\t\tnew GelMaterializedView({\n\t\t\t\tGelConfig: {\n\t\t\t\t\ttablespace: this.config.tablespace,\n\t\t\t\t\tusing: this.config.using,\n\t\t\t\t\twith: this.config.with,\n\t\t\t\t\twithNoData: this.config.withNoData,\n\t\t\t\t},\n\t\t\t\tconfig: {\n\t\t\t\t\tname: this.name,\n\t\t\t\t\tschema: this.schema,\n\t\t\t\t\tselectedFields: this.columns,\n\t\t\t\t\tquery: undefined,\n\t\t\t\t},\n\t\t\t}),\n\t\t\tnew SelectionProxyHandler({\n\t\t\t\talias: this.name,\n\t\t\t\tsqlBehavior: 'error',\n\t\t\t\tsqlAliasedBehavior: 'alias',\n\t\t\t\treplaceOriginalName: true,\n\t\t\t}),\n\t\t) as GelMaterializedViewWithSelection<TName, true, BuildColumns<TName, TColumns, 'gel'>>;\n\t}\n\n\tas(query: SQL): GelMaterializedViewWithSelection<TName, false, BuildColumns<TName, TColumns, 'gel'>> {\n\t\treturn new Proxy(\n\t\t\tnew GelMaterializedView({\n\t\t\t\tGelConfig: {\n\t\t\t\t\ttablespace: this.config.tablespace,\n\t\t\t\t\tusing: this.config.using,\n\t\t\t\t\twith: this.config.with,\n\t\t\t\t\twithNoData: this.config.withNoData,\n\t\t\t\t},\n\t\t\t\tconfig: {\n\t\t\t\t\tname: this.name,\n\t\t\t\t\tschema: this.schema,\n\t\t\t\t\tselectedFields: this.columns,\n\t\t\t\t\tquery: query.inlineParams(),\n\t\t\t\t},\n\t\t\t}),\n\t\t\tnew SelectionProxyHandler({\n\t\t\t\talias: this.name,\n\t\t\t\tsqlBehavior: 'error',\n\t\t\t\tsqlAliasedBehavior: 'alias',\n\t\t\t\treplaceOriginalName: true,\n\t\t\t}),\n\t\t) as GelMaterializedViewWithSelection<TName, false, BuildColumns<TName, TColumns, 'gel'>>;\n\t}\n}\n\nexport class GelView<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n\tTSelectedFields extends ColumnsSelection = ColumnsSelection,\n> extends GelViewBase<TName, TExisting, TSelectedFields> {\n\tstatic override readonly [entityKind]: string = 'GelView';\n\n\t[GelViewConfig]: {\n\t\twith?: ViewWithConfig;\n\t} | undefined;\n\n\tconstructor({ GelConfig, config }: {\n\t\tGelConfig: {\n\t\t\twith?: ViewWithConfig;\n\t\t} | undefined;\n\t\tconfig: {\n\t\t\tname: TName;\n\t\t\tschema: string | undefined;\n\t\t\tselectedFields: ColumnsSelection;\n\t\t\tquery: SQL | undefined;\n\t\t};\n\t}) {\n\t\tsuper(config);\n\t\tif (GelConfig) {\n\t\t\tthis[GelViewConfig] = {\n\t\t\t\twith: GelConfig.with,\n\t\t\t};\n\t\t}\n\t}\n}\n\nexport type GelViewWithSelection<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n\tTSelectedFields extends ColumnsSelection = ColumnsSelection,\n> = GelView<TName, TExisting, TSelectedFields> & TSelectedFields;\n\nexport const GelMaterializedViewConfig = Symbol.for('drizzle:GelMaterializedViewConfig');\n\nexport class GelMaterializedView<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n\tTSelectedFields extends ColumnsSelection = ColumnsSelection,\n> extends GelViewBase<TName, TExisting, TSelectedFields> {\n\tstatic override readonly [entityKind]: string = 'GelMaterializedView';\n\n\treadonly [GelMaterializedViewConfig]: {\n\t\treadonly with?: GelMaterializedViewWithConfig;\n\t\treadonly using?: string;\n\t\treadonly tablespace?: string;\n\t\treadonly withNoData?: boolean;\n\t} | undefined;\n\n\tconstructor({ GelConfig, config }: {\n\t\tGelConfig: {\n\t\t\twith: GelMaterializedViewWithConfig | undefined;\n\t\t\tusing: string | undefined;\n\t\t\ttablespace: string | undefined;\n\t\t\twithNoData: boolean | undefined;\n\t\t} | undefined;\n\t\tconfig: {\n\t\t\tname: TName;\n\t\t\tschema: string | undefined;\n\t\t\tselectedFields: ColumnsSelection;\n\t\t\tquery: SQL | undefined;\n\t\t};\n\t}) {\n\t\tsuper(config);\n\t\tthis[GelMaterializedViewConfig] = {\n\t\t\twith: GelConfig?.with,\n\t\t\tusing: GelConfig?.using,\n\t\t\ttablespace: GelConfig?.tablespace,\n\t\t\twithNoData: GelConfig?.withNoData,\n\t\t};\n\t}\n}\n\nexport type GelMaterializedViewWithSelection<\n\tTName extends string = string,\n\tTExisting extends boolean = boolean,\n\tTSelectedFields extends ColumnsSelection = ColumnsSelection,\n> = GelMaterializedView<TName, TExisting, TSelectedFields> & TSelectedFields;\n\n/** @internal */\nexport function gelViewWithSchema(\n\tname: string,\n\tselection: Record<string, GelColumnBuilderBase> | undefined,\n\tschema: string | undefined,\n): ViewBuilder | ManualViewBuilder {\n\tif (selection) {\n\t\treturn new ManualViewBuilder(name, selection, schema);\n\t}\n\treturn new ViewBuilder(name, schema);\n}\n\n/** @internal */\nexport function gelMaterializedViewWithSchema(\n\tname: string,\n\tselection: Record<string, GelColumnBuilderBase> | undefined,\n\tschema: string | undefined,\n): MaterializedViewBuilder | ManualMaterializedViewBuilder {\n\tif (selection) {\n\t\treturn new ManualMaterializedViewBuilder(name, selection, schema);\n\t}\n\treturn new MaterializedViewBuilder(name, schema);\n}\n\n// TODO not implemented\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction gelView<TName extends string>(name: TName): ViewBuilder<TName>;\nfunction gelView<TName extends string, TColumns extends Record<string, GelColumnBuilderBase>>(\n\tname: TName,\n\tcolumns: TColumns,\n): ManualViewBuilder<TName, TColumns>;\nfunction gelView(name: string, columns?: Record<string, GelColumnBuilderBase>): ViewBuilder | ManualViewBuilder {\n\treturn gelViewWithSchema(name, columns, undefined);\n}\n\n// TODO not implemented\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction gelMaterializedView<TName extends string>(name: TName): MaterializedViewBuilder<TName>;\nfunction gelMaterializedView<TName extends string, TColumns extends Record<string, GelColumnBuilderBase>>(\n\tname: TName,\n\tcolumns: TColumns,\n): ManualMaterializedViewBuilder<TName, TColumns>;\nfunction gelMaterializedView(\n\tname: string,\n\tcolumns?: Record<string, GelColumnBuilderBase>,\n): MaterializedViewBuilder | ManualMaterializedViewBuilder {\n\treturn gelMaterializedViewWithSchema(name, columns, undefined);\n}\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction isGelView(obj: unknown): obj is GelView {\n\treturn is(obj, GelView);\n}\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction isGelMaterializedView(obj: unknown): obj is GelMaterializedView {\n\treturn is(obj, GelMaterializedView);\n}\n"],"mappings":"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","names":[]}
|