drizzle-orm 1.0.0-beta.1-813549e → 1.0.0-beta.1-02522e1
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/cockroach-core/query-builders/count.cjs.map +1 -1
- package/cockroach-core/query-builders/count.d.cts +3 -2
- package/cockroach-core/query-builders/count.d.ts +3 -2
- package/cockroach-core/query-builders/count.js.map +1 -1
- package/cockroach-core/schema.cjs +8 -1
- package/cockroach-core/schema.cjs.map +1 -1
- package/cockroach-core/schema.js +9 -2
- package/cockroach-core/schema.js.map +1 -1
- package/cockroach-core/table.cjs +23 -2
- package/cockroach-core/table.cjs.map +1 -1
- package/cockroach-core/table.d.cts +4 -1
- package/cockroach-core/table.d.ts +4 -1
- package/cockroach-core/table.js +23 -2
- package/cockroach-core/table.js.map +1 -1
- package/gel-core/query-builders/count.cjs.map +1 -1
- package/gel-core/query-builders/count.d.cts +3 -2
- package/gel-core/query-builders/count.d.ts +3 -2
- package/gel-core/query-builders/count.js.map +1 -1
- package/package.json +97 -97
- package/pg-core/query-builders/count.cjs.map +1 -1
- package/pg-core/query-builders/count.d.cts +3 -2
- package/pg-core/query-builders/count.d.ts +3 -2
- package/pg-core/query-builders/count.js.map +1 -1
- package/pg-core/schema.cjs +7 -0
- package/pg-core/schema.cjs.map +1 -1
- package/pg-core/schema.js +8 -1
- package/pg-core/schema.js.map +1 -1
- package/pg-core/table.cjs +16 -8
- package/pg-core/table.cjs.map +1 -1
- package/pg-core/table.d.cts +5 -4
- package/pg-core/table.d.ts +5 -4
- package/pg-core/table.js +16 -8
- package/pg-core/table.js.map +1 -1
- package/relations.cjs +2 -0
- package/relations.cjs.map +1 -1
- package/relations.d.cts +3 -3
- package/relations.d.ts +3 -3
- package/relations.js +3 -1
- package/relations.js.map +1 -1
- package/sql/sql.cjs +0 -6
- package/sql/sql.cjs.map +1 -1
- package/sql/sql.d.cts +2 -2
- package/sql/sql.d.ts +2 -2
- package/sql/sql.js +0 -6
- package/sql/sql.js.map +1 -1
- package/table.cjs +0 -1
- package/table.cjs.map +1 -1
- package/table.d.cts +2 -3
- package/table.d.ts +2 -3
- package/table.js +0 -1
- package/table.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cockroach-core/query-builders/count.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { SQL, sql, type SQLWrapper } from '~/sql/sql.ts';\nimport type { NeonAuthToken } from '~/utils.ts';\nimport type { CockroachSession } from '../session.ts';\nimport type { CockroachTable } from '../table.ts';\n\nexport class CockroachCountBuilder<\n\tTSession extends CockroachSession<any, any, any>,\n> extends SQL<number> implements Promise<number>, SQLWrapper {\n\tprivate sql: SQL<number>;\n\tprivate token?: NeonAuthToken;\n\n\tstatic override readonly [entityKind]: string = 'CockroachCountBuilder';\n\t[Symbol.toStringTag] = 'CockroachCountBuilder';\n\n\tprivate session: TSession;\n\n\tprivate static buildEmbeddedCount(\n\t\tsource: CockroachTable | SQL | SQLWrapper,\n\t\tfilters?: SQL<unknown>,\n\t): SQL<number> {\n\t\treturn sql<number>`(select count(*) from ${source}${sql.raw(' where ').if(filters)}${filters})`;\n\t}\n\n\tprivate static buildCount(\n\t\tsource: CockroachTable | SQL | SQLWrapper,\n\t\tfilters?: SQL<unknown>,\n\t): SQL<number> {\n\t\treturn sql<number>`select count(*) as count from ${source}${sql.raw(' where ').if(filters)}${filters};`;\n\t}\n\n\tconstructor(\n\t\treadonly params: {\n\t\t\tsource: CockroachTable | SQL | SQLWrapper;\n\t\t\tfilters?: SQL<unknown>;\n\t\t\tsession: TSession;\n\t\t},\n\t) {\n\t\tsuper(CockroachCountBuilder.buildEmbeddedCount(params.source, params.filters).queryChunks);\n\n\t\tthis.mapWith(Number);\n\n\t\tthis.session = params.session;\n\n\t\tthis.sql = CockroachCountBuilder.buildCount(\n\t\t\tparams.source,\n\t\t\tparams.filters,\n\t\t);\n\t}\n\n\t/** @intrnal */\n\tsetToken(token?: NeonAuthToken) {\n\t\tthis.token = token;\n\t\treturn this;\n\t}\n\n\tthen<TResult1 = number, TResult2 = never>(\n\t\tonfulfilled?: ((value: number) => TResult1 | PromiseLike<TResult1>) | null | undefined,\n\t\tonrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined,\n\t): Promise<TResult1 | TResult2> {\n\t\treturn Promise.resolve(this.session.count(this.sql, this.token))\n\t\t\t.then(\n\t\t\t\tonfulfilled,\n\t\t\t\tonrejected,\n\t\t\t);\n\t}\n\n\tcatch(\n\t\tonRejected?: ((reason: any) => any) | null | undefined,\n\t): Promise<number> {\n\t\treturn this.then(undefined, onRejected);\n\t}\n\n\tfinally(onFinally?: (() => void) | null | undefined): Promise<number> {\n\t\treturn this.then(\n\t\t\t(value) => {\n\t\t\t\tonFinally?.();\n\t\t\t\treturn value;\n\t\t\t},\n\t\t\t(reason) => {\n\t\t\t\tonFinally?.();\n\t\t\t\tthrow reason;\n\t\t\t},\n\t\t);\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAC3B,iBAA0C;
|
|
1
|
+
{"version":3,"sources":["../../../src/cockroach-core/query-builders/count.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { SQL, sql, type SQLWrapper } from '~/sql/sql.ts';\nimport type { NeonAuthToken } from '~/utils.ts';\nimport type { CockroachSession } from '../session.ts';\nimport type { CockroachTable } from '../table.ts';\nimport type { CockroachViewBase } from '../view-base.ts';\n\nexport class CockroachCountBuilder<\n\tTSession extends CockroachSession<any, any, any>,\n> extends SQL<number> implements Promise<number>, SQLWrapper {\n\tprivate sql: SQL<number>;\n\tprivate token?: NeonAuthToken;\n\n\tstatic override readonly [entityKind]: string = 'CockroachCountBuilder';\n\t[Symbol.toStringTag] = 'CockroachCountBuilder';\n\n\tprivate session: TSession;\n\n\tprivate static buildEmbeddedCount(\n\t\tsource: CockroachTable | CockroachViewBase | SQL | SQLWrapper,\n\t\tfilters?: SQL<unknown>,\n\t): SQL<number> {\n\t\treturn sql<number>`(select count(*) from ${source}${sql.raw(' where ').if(filters)}${filters})`;\n\t}\n\n\tprivate static buildCount(\n\t\tsource: CockroachTable | CockroachViewBase | SQL | SQLWrapper,\n\t\tfilters?: SQL<unknown>,\n\t): SQL<number> {\n\t\treturn sql<number>`select count(*) as count from ${source}${sql.raw(' where ').if(filters)}${filters};`;\n\t}\n\n\tconstructor(\n\t\treadonly params: {\n\t\t\tsource: CockroachTable | CockroachViewBase | SQL | SQLWrapper;\n\t\t\tfilters?: SQL<unknown>;\n\t\t\tsession: TSession;\n\t\t},\n\t) {\n\t\tsuper(CockroachCountBuilder.buildEmbeddedCount(params.source, params.filters).queryChunks);\n\n\t\tthis.mapWith(Number);\n\n\t\tthis.session = params.session;\n\n\t\tthis.sql = CockroachCountBuilder.buildCount(\n\t\t\tparams.source,\n\t\t\tparams.filters,\n\t\t);\n\t}\n\n\t/** @intrnal */\n\tsetToken(token?: NeonAuthToken) {\n\t\tthis.token = token;\n\t\treturn this;\n\t}\n\n\tthen<TResult1 = number, TResult2 = never>(\n\t\tonfulfilled?: ((value: number) => TResult1 | PromiseLike<TResult1>) | null | undefined,\n\t\tonrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined,\n\t): Promise<TResult1 | TResult2> {\n\t\treturn Promise.resolve(this.session.count(this.sql, this.token))\n\t\t\t.then(\n\t\t\t\tonfulfilled,\n\t\t\t\tonrejected,\n\t\t\t);\n\t}\n\n\tcatch(\n\t\tonRejected?: ((reason: any) => any) | null | undefined,\n\t): Promise<number> {\n\t\treturn this.then(undefined, onRejected);\n\t}\n\n\tfinally(onFinally?: (() => void) | null | undefined): Promise<number> {\n\t\treturn this.then(\n\t\t\t(value) => {\n\t\t\t\tonFinally?.();\n\t\t\t\treturn value;\n\t\t\t},\n\t\t\t(reason) => {\n\t\t\t\tonFinally?.();\n\t\t\t\tthrow reason;\n\t\t\t},\n\t\t);\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAC3B,iBAA0C;AAMnC,MAAM,8BAEH,eAAmD;AAAA,EAuB5D,YACU,QAKR;AACD,UAAM,sBAAsB,mBAAmB,OAAO,QAAQ,OAAO,OAAO,EAAE,WAAW;AANhF;AAQT,SAAK,QAAQ,MAAM;AAEnB,SAAK,UAAU,OAAO;AAEtB,SAAK,MAAM,sBAAsB;AAAA,MAChC,OAAO;AAAA,MACP,OAAO;AAAA,IACR;AAAA,EACD;AAAA,EAvCQ;AAAA,EACA;AAAA,EAER,QAA0B,wBAAU,IAAY;AAAA,EAChD,CAAC,OAAO,WAAW,IAAI;AAAA,EAEf;AAAA,EAER,OAAe,mBACd,QACA,SACc;AACd,WAAO,uCAAoC,MAAM,GAAG,eAAI,IAAI,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,OAAO;AAAA,EAC7F;AAAA,EAEA,OAAe,WACd,QACA,SACc;AACd,WAAO,+CAA4C,MAAM,GAAG,eAAI,IAAI,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,OAAO;AAAA,EACrG;AAAA;AAAA,EAsBA,SAAS,OAAuB;AAC/B,SAAK,QAAQ;AACb,WAAO;AAAA,EACR;AAAA,EAEA,KACC,aACA,YAC+B;AAC/B,WAAO,QAAQ,QAAQ,KAAK,QAAQ,MAAM,KAAK,KAAK,KAAK,KAAK,CAAC,EAC7D;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACF;AAAA,EAEA,MACC,YACkB;AAClB,WAAO,KAAK,KAAK,QAAW,UAAU;AAAA,EACvC;AAAA,EAEA,QAAQ,WAA8D;AACrE,WAAO,KAAK;AAAA,MACX,CAAC,UAAU;AACV,oBAAY;AACZ,eAAO;AAAA,MACR;AAAA,MACA,CAAC,WAAW;AACX,oBAAY;AACZ,cAAM;AAAA,MACP;AAAA,IACD;AAAA,EACD;AACD;","names":[]}
|
|
@@ -3,9 +3,10 @@ import { SQL, type SQLWrapper } from "../../sql/sql.cjs";
|
|
|
3
3
|
import type { NeonAuthToken } from "../../utils.cjs";
|
|
4
4
|
import type { CockroachSession } from "../session.cjs";
|
|
5
5
|
import type { CockroachTable } from "../table.cjs";
|
|
6
|
+
import type { CockroachViewBase } from "../view-base.cjs";
|
|
6
7
|
export declare class CockroachCountBuilder<TSession extends CockroachSession<any, any, any>> extends SQL<number> implements Promise<number>, SQLWrapper {
|
|
7
8
|
readonly params: {
|
|
8
|
-
source: CockroachTable | SQL | SQLWrapper;
|
|
9
|
+
source: CockroachTable | CockroachViewBase | SQL | SQLWrapper;
|
|
9
10
|
filters?: SQL<unknown>;
|
|
10
11
|
session: TSession;
|
|
11
12
|
};
|
|
@@ -17,7 +18,7 @@ export declare class CockroachCountBuilder<TSession extends CockroachSession<any
|
|
|
17
18
|
private static buildEmbeddedCount;
|
|
18
19
|
private static buildCount;
|
|
19
20
|
constructor(params: {
|
|
20
|
-
source: CockroachTable | SQL | SQLWrapper;
|
|
21
|
+
source: CockroachTable | CockroachViewBase | SQL | SQLWrapper;
|
|
21
22
|
filters?: SQL<unknown>;
|
|
22
23
|
session: TSession;
|
|
23
24
|
});
|
|
@@ -3,9 +3,10 @@ import { SQL, type SQLWrapper } from "../../sql/sql.js";
|
|
|
3
3
|
import type { NeonAuthToken } from "../../utils.js";
|
|
4
4
|
import type { CockroachSession } from "../session.js";
|
|
5
5
|
import type { CockroachTable } from "../table.js";
|
|
6
|
+
import type { CockroachViewBase } from "../view-base.js";
|
|
6
7
|
export declare class CockroachCountBuilder<TSession extends CockroachSession<any, any, any>> extends SQL<number> implements Promise<number>, SQLWrapper {
|
|
7
8
|
readonly params: {
|
|
8
|
-
source: CockroachTable | SQL | SQLWrapper;
|
|
9
|
+
source: CockroachTable | CockroachViewBase | SQL | SQLWrapper;
|
|
9
10
|
filters?: SQL<unknown>;
|
|
10
11
|
session: TSession;
|
|
11
12
|
};
|
|
@@ -17,7 +18,7 @@ export declare class CockroachCountBuilder<TSession extends CockroachSession<any
|
|
|
17
18
|
private static buildEmbeddedCount;
|
|
18
19
|
private static buildCount;
|
|
19
20
|
constructor(params: {
|
|
20
|
-
source: CockroachTable | SQL | SQLWrapper;
|
|
21
|
+
source: CockroachTable | CockroachViewBase | SQL | SQLWrapper;
|
|
21
22
|
filters?: SQL<unknown>;
|
|
22
23
|
session: TSession;
|
|
23
24
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/cockroach-core/query-builders/count.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { SQL, sql, type SQLWrapper } from '~/sql/sql.ts';\nimport type { NeonAuthToken } from '~/utils.ts';\nimport type { CockroachSession } from '../session.ts';\nimport type { CockroachTable } from '../table.ts';\n\nexport class CockroachCountBuilder<\n\tTSession extends CockroachSession<any, any, any>,\n> extends SQL<number> implements Promise<number>, SQLWrapper {\n\tprivate sql: SQL<number>;\n\tprivate token?: NeonAuthToken;\n\n\tstatic override readonly [entityKind]: string = 'CockroachCountBuilder';\n\t[Symbol.toStringTag] = 'CockroachCountBuilder';\n\n\tprivate session: TSession;\n\n\tprivate static buildEmbeddedCount(\n\t\tsource: CockroachTable | SQL | SQLWrapper,\n\t\tfilters?: SQL<unknown>,\n\t): SQL<number> {\n\t\treturn sql<number>`(select count(*) from ${source}${sql.raw(' where ').if(filters)}${filters})`;\n\t}\n\n\tprivate static buildCount(\n\t\tsource: CockroachTable | SQL | SQLWrapper,\n\t\tfilters?: SQL<unknown>,\n\t): SQL<number> {\n\t\treturn sql<number>`select count(*) as count from ${source}${sql.raw(' where ').if(filters)}${filters};`;\n\t}\n\n\tconstructor(\n\t\treadonly params: {\n\t\t\tsource: CockroachTable | SQL | SQLWrapper;\n\t\t\tfilters?: SQL<unknown>;\n\t\t\tsession: TSession;\n\t\t},\n\t) {\n\t\tsuper(CockroachCountBuilder.buildEmbeddedCount(params.source, params.filters).queryChunks);\n\n\t\tthis.mapWith(Number);\n\n\t\tthis.session = params.session;\n\n\t\tthis.sql = CockroachCountBuilder.buildCount(\n\t\t\tparams.source,\n\t\t\tparams.filters,\n\t\t);\n\t}\n\n\t/** @intrnal */\n\tsetToken(token?: NeonAuthToken) {\n\t\tthis.token = token;\n\t\treturn this;\n\t}\n\n\tthen<TResult1 = number, TResult2 = never>(\n\t\tonfulfilled?: ((value: number) => TResult1 | PromiseLike<TResult1>) | null | undefined,\n\t\tonrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined,\n\t): Promise<TResult1 | TResult2> {\n\t\treturn Promise.resolve(this.session.count(this.sql, this.token))\n\t\t\t.then(\n\t\t\t\tonfulfilled,\n\t\t\t\tonrejected,\n\t\t\t);\n\t}\n\n\tcatch(\n\t\tonRejected?: ((reason: any) => any) | null | undefined,\n\t): Promise<number> {\n\t\treturn this.then(undefined, onRejected);\n\t}\n\n\tfinally(onFinally?: (() => void) | null | undefined): Promise<number> {\n\t\treturn this.then(\n\t\t\t(value) => {\n\t\t\t\tonFinally?.();\n\t\t\t\treturn value;\n\t\t\t},\n\t\t\t(reason) => {\n\t\t\t\tonFinally?.();\n\t\t\t\tthrow reason;\n\t\t\t},\n\t\t);\n\t}\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAC3B,SAAS,KAAK,WAA4B;
|
|
1
|
+
{"version":3,"sources":["../../../src/cockroach-core/query-builders/count.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { SQL, sql, type SQLWrapper } from '~/sql/sql.ts';\nimport type { NeonAuthToken } from '~/utils.ts';\nimport type { CockroachSession } from '../session.ts';\nimport type { CockroachTable } from '../table.ts';\nimport type { CockroachViewBase } from '../view-base.ts';\n\nexport class CockroachCountBuilder<\n\tTSession extends CockroachSession<any, any, any>,\n> extends SQL<number> implements Promise<number>, SQLWrapper {\n\tprivate sql: SQL<number>;\n\tprivate token?: NeonAuthToken;\n\n\tstatic override readonly [entityKind]: string = 'CockroachCountBuilder';\n\t[Symbol.toStringTag] = 'CockroachCountBuilder';\n\n\tprivate session: TSession;\n\n\tprivate static buildEmbeddedCount(\n\t\tsource: CockroachTable | CockroachViewBase | SQL | SQLWrapper,\n\t\tfilters?: SQL<unknown>,\n\t): SQL<number> {\n\t\treturn sql<number>`(select count(*) from ${source}${sql.raw(' where ').if(filters)}${filters})`;\n\t}\n\n\tprivate static buildCount(\n\t\tsource: CockroachTable | CockroachViewBase | SQL | SQLWrapper,\n\t\tfilters?: SQL<unknown>,\n\t): SQL<number> {\n\t\treturn sql<number>`select count(*) as count from ${source}${sql.raw(' where ').if(filters)}${filters};`;\n\t}\n\n\tconstructor(\n\t\treadonly params: {\n\t\t\tsource: CockroachTable | CockroachViewBase | SQL | SQLWrapper;\n\t\t\tfilters?: SQL<unknown>;\n\t\t\tsession: TSession;\n\t\t},\n\t) {\n\t\tsuper(CockroachCountBuilder.buildEmbeddedCount(params.source, params.filters).queryChunks);\n\n\t\tthis.mapWith(Number);\n\n\t\tthis.session = params.session;\n\n\t\tthis.sql = CockroachCountBuilder.buildCount(\n\t\t\tparams.source,\n\t\t\tparams.filters,\n\t\t);\n\t}\n\n\t/** @intrnal */\n\tsetToken(token?: NeonAuthToken) {\n\t\tthis.token = token;\n\t\treturn this;\n\t}\n\n\tthen<TResult1 = number, TResult2 = never>(\n\t\tonfulfilled?: ((value: number) => TResult1 | PromiseLike<TResult1>) | null | undefined,\n\t\tonrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined,\n\t): Promise<TResult1 | TResult2> {\n\t\treturn Promise.resolve(this.session.count(this.sql, this.token))\n\t\t\t.then(\n\t\t\t\tonfulfilled,\n\t\t\t\tonrejected,\n\t\t\t);\n\t}\n\n\tcatch(\n\t\tonRejected?: ((reason: any) => any) | null | undefined,\n\t): Promise<number> {\n\t\treturn this.then(undefined, onRejected);\n\t}\n\n\tfinally(onFinally?: (() => void) | null | undefined): Promise<number> {\n\t\treturn this.then(\n\t\t\t(value) => {\n\t\t\t\tonFinally?.();\n\t\t\t\treturn value;\n\t\t\t},\n\t\t\t(reason) => {\n\t\t\t\tonFinally?.();\n\t\t\t\tthrow reason;\n\t\t\t},\n\t\t);\n\t}\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAC3B,SAAS,KAAK,WAA4B;AAMnC,MAAM,8BAEH,IAAmD;AAAA,EAuB5D,YACU,QAKR;AACD,UAAM,sBAAsB,mBAAmB,OAAO,QAAQ,OAAO,OAAO,EAAE,WAAW;AANhF;AAQT,SAAK,QAAQ,MAAM;AAEnB,SAAK,UAAU,OAAO;AAEtB,SAAK,MAAM,sBAAsB;AAAA,MAChC,OAAO;AAAA,MACP,OAAO;AAAA,IACR;AAAA,EACD;AAAA,EAvCQ;AAAA,EACA;AAAA,EAER,QAA0B,UAAU,IAAY;AAAA,EAChD,CAAC,OAAO,WAAW,IAAI;AAAA,EAEf;AAAA,EAER,OAAe,mBACd,QACA,SACc;AACd,WAAO,4BAAoC,MAAM,GAAG,IAAI,IAAI,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,OAAO;AAAA,EAC7F;AAAA,EAEA,OAAe,WACd,QACA,SACc;AACd,WAAO,oCAA4C,MAAM,GAAG,IAAI,IAAI,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,OAAO;AAAA,EACrG;AAAA;AAAA,EAsBA,SAAS,OAAuB;AAC/B,SAAK,QAAQ;AACb,WAAO;AAAA,EACR;AAAA,EAEA,KACC,aACA,YAC+B;AAC/B,WAAO,QAAQ,QAAQ,KAAK,QAAQ,MAAM,KAAK,KAAK,KAAK,KAAK,CAAC,EAC7D;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACF;AAAA,EAEA,MACC,YACkB;AAClB,WAAO,KAAK,KAAK,QAAW,UAAU;AAAA,EACvC;AAAA,EAEA,QAAQ,WAA8D;AACrE,WAAO,KAAK;AAAA,MACX,CAAC,UAAU;AACV,oBAAY;AACZ,eAAO;AAAA,MACR;AAAA,MACA,CAAC,WAAW;AACX,oBAAY;AACZ,cAAM;AAAA,MACP;AAAA,IACD;AAAA,EACD;AACD;","names":[]}
|
|
@@ -32,6 +32,13 @@ var import_view = require("./view.cjs");
|
|
|
32
32
|
class CockroachSchema {
|
|
33
33
|
constructor(schemaName) {
|
|
34
34
|
this.schemaName = schemaName;
|
|
35
|
+
this.table = Object.assign(this.table, {
|
|
36
|
+
withRLS: ((name, columns, extraConfig) => {
|
|
37
|
+
const table = (0, import_table.cockroachTableWithSchema)(name, columns, extraConfig, this.schemaName);
|
|
38
|
+
table[import_table.EnableRLS] = true;
|
|
39
|
+
return table;
|
|
40
|
+
})
|
|
41
|
+
});
|
|
35
42
|
}
|
|
36
43
|
static [import_entity.entityKind] = "CockroachSchema";
|
|
37
44
|
isExisting = false;
|
|
@@ -71,7 +78,7 @@ function isCockroachSchema(obj) {
|
|
|
71
78
|
function cockroachSchema(name) {
|
|
72
79
|
if (name === "public") {
|
|
73
80
|
throw new Error(
|
|
74
|
-
`You can't specify 'public' as schema name. Postgres is using public schema by default. If you want to use 'public' schema, just use
|
|
81
|
+
`You can't specify 'public' as schema name. Postgres is using public schema by default. If you want to use 'public' schema, just use cockroachTable() instead of creating a schema`
|
|
75
82
|
);
|
|
76
83
|
}
|
|
77
84
|
return new CockroachSchema(name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/cockroach-core/schema.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\nimport { SQL, sql, type SQLWrapper } from '~/sql/sql.ts';\nimport type { NonArray, Writable } from '~/utils.ts';\nimport {\n\ttype CockroachEnum,\n\ttype CockroachEnumObject,\n\tcockroachEnumObjectWithSchema,\n\tcockroachEnumWithSchema,\n} from './columns/enum.ts';\nimport { type cockroachSequence, cockroachSequenceWithSchema } from './sequence.ts';\nimport { type CockroachTableFn, cockroachTableWithSchema } from './table.ts';\nimport {\n\ttype cockroachMaterializedView,\n\tcockroachMaterializedViewWithSchema,\n\ttype cockroachView,\n\tcockroachViewWithSchema,\n} from './view.ts';\n\nexport class CockroachSchema<TName extends string = string> implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'CockroachSchema';\n\n\tisExisting: boolean = false;\n\tconstructor(\n\t\tpublic readonly schemaName: TName,\n\t) {}\n\n\ttable: CockroachTableFn<TName> = ((name, columns, extraConfig) => {\n\t\treturn cockroachTableWithSchema(name, columns, extraConfig, this.schemaName);\n\t})
|
|
1
|
+
{"version":3,"sources":["../../src/cockroach-core/schema.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\nimport { SQL, sql, type SQLWrapper } from '~/sql/sql.ts';\nimport type { NonArray, Writable } from '~/utils.ts';\nimport {\n\ttype CockroachEnum,\n\ttype CockroachEnumObject,\n\tcockroachEnumObjectWithSchema,\n\tcockroachEnumWithSchema,\n} from './columns/enum.ts';\nimport { type cockroachSequence, cockroachSequenceWithSchema } from './sequence.ts';\nimport { type CockroachTableFn, type CockroachTableFnInternal, cockroachTableWithSchema, EnableRLS } from './table.ts';\nimport {\n\ttype cockroachMaterializedView,\n\tcockroachMaterializedViewWithSchema,\n\ttype cockroachView,\n\tcockroachViewWithSchema,\n} from './view.ts';\n\nexport class CockroachSchema<TName extends string = string> implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'CockroachSchema';\n\n\tisExisting: boolean = false;\n\tconstructor(\n\t\tpublic readonly schemaName: TName,\n\t) {\n\t\tthis.table = Object.assign(this.table, {\n\t\t\twithRLS: ((name, columns, extraConfig) => {\n\t\t\t\tconst table = cockroachTableWithSchema(name, columns, extraConfig, this.schemaName);\n\t\t\t\ttable[EnableRLS] = true;\n\n\t\t\t\treturn table;\n\t\t\t}) as CockroachTableFnInternal<TName>,\n\t\t});\n\t}\n\n\ttable: CockroachTableFn<TName> = ((name, columns, extraConfig) => {\n\t\treturn cockroachTableWithSchema(name, columns, extraConfig, this.schemaName);\n\t}) as CockroachTableFn<TName>;\n\n\tview = ((name, columns) => {\n\t\treturn cockroachViewWithSchema(name, columns, this.schemaName);\n\t}) as typeof cockroachView;\n\n\tmaterializedView = ((name, columns) => {\n\t\treturn cockroachMaterializedViewWithSchema(name, columns, this.schemaName);\n\t}) as typeof cockroachMaterializedView;\n\n\tpublic enum<U extends string, T extends Readonly<[U, ...U[]]>>(\n\t\tenumName: string,\n\t\tvalues: T | Writable<T>,\n\t): CockroachEnum<Writable<T>>;\n\n\tpublic enum<E extends Record<string, string>>(\n\t\tenumName: string,\n\t\tenumObj: NonArray<E>,\n\t): CockroachEnumObject<E>;\n\n\tpublic enum(enumName: any, input: any): any {\n\t\treturn Array.isArray(input)\n\t\t\t? cockroachEnumWithSchema(\n\t\t\t\tenumName,\n\t\t\t\t[...input] as [string, ...string[]],\n\t\t\t\tthis.schemaName,\n\t\t\t)\n\t\t\t: cockroachEnumObjectWithSchema(enumName, input, this.schemaName);\n\t}\n\n\tsequence: typeof cockroachSequence = ((name, options) => {\n\t\treturn cockroachSequenceWithSchema(name, options, this.schemaName);\n\t});\n\n\tgetSQL(): SQL {\n\t\treturn new SQL([sql.identifier(this.schemaName)]);\n\t}\n\n\tshouldOmitSQLParens(): boolean {\n\t\treturn true;\n\t}\n\n\texisting(): this {\n\t\tthis.isExisting = true;\n\t\treturn this;\n\t}\n}\n\nexport function isCockroachSchema(obj: unknown): obj is CockroachSchema {\n\treturn is(obj, CockroachSchema);\n}\n\nexport function cockroachSchema<T extends string>(name: T) {\n\tif (name === 'public') {\n\t\tthrow new Error(\n\t\t\t`You can't specify 'public' as schema name. Postgres is using public schema by default. If you want to use 'public' schema, just use cockroachTable() instead of creating a schema`,\n\t\t);\n\t}\n\n\treturn new CockroachSchema(name);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA+B;AAC/B,iBAA0C;AAE1C,kBAKO;AACP,sBAAoE;AACpE,mBAA0G;AAC1G,kBAKO;AAEA,MAAM,gBAAqE;AAAA,EAIjF,YACiB,YACf;AADe;AAEhB,SAAK,QAAQ,OAAO,OAAO,KAAK,OAAO;AAAA,MACtC,UAAU,CAAC,MAAM,SAAS,gBAAgB;AACzC,cAAM,YAAQ,uCAAyB,MAAM,SAAS,aAAa,KAAK,UAAU;AAClF,cAAM,sBAAS,IAAI;AAEnB,eAAO;AAAA,MACR;AAAA,IACD,CAAC;AAAA,EACF;AAAA,EAdA,QAAiB,wBAAU,IAAY;AAAA,EAEvC,aAAsB;AAAA,EActB,SAAkC,CAAC,MAAM,SAAS,gBAAgB;AACjE,eAAO,uCAAyB,MAAM,SAAS,aAAa,KAAK,UAAU;AAAA,EAC5E;AAAA,EAEA,QAAQ,CAAC,MAAM,YAAY;AAC1B,eAAO,qCAAwB,MAAM,SAAS,KAAK,UAAU;AAAA,EAC9D;AAAA,EAEA,oBAAoB,CAAC,MAAM,YAAY;AACtC,eAAO,iDAAoC,MAAM,SAAS,KAAK,UAAU;AAAA,EAC1E;AAAA,EAYO,KAAK,UAAe,OAAiB;AAC3C,WAAO,MAAM,QAAQ,KAAK,QACvB;AAAA,MACD;AAAA,MACA,CAAC,GAAG,KAAK;AAAA,MACT,KAAK;AAAA,IACN,QACE,2CAA8B,UAAU,OAAO,KAAK,UAAU;AAAA,EAClE;AAAA,EAEA,YAAsC,CAAC,MAAM,YAAY;AACxD,eAAO,6CAA4B,MAAM,SAAS,KAAK,UAAU;AAAA,EAClE;AAAA,EAEA,SAAc;AACb,WAAO,IAAI,eAAI,CAAC,eAAI,WAAW,KAAK,UAAU,CAAC,CAAC;AAAA,EACjD;AAAA,EAEA,sBAA+B;AAC9B,WAAO;AAAA,EACR;AAAA,EAEA,WAAiB;AAChB,SAAK,aAAa;AAClB,WAAO;AAAA,EACR;AACD;AAEO,SAAS,kBAAkB,KAAsC;AACvE,aAAO,kBAAG,KAAK,eAAe;AAC/B;AAEO,SAAS,gBAAkC,MAAS;AAC1D,MAAI,SAAS,UAAU;AACtB,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAEA,SAAO,IAAI,gBAAgB,IAAI;AAChC;","names":[]}
|
package/cockroach-core/schema.js
CHANGED
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
cockroachEnumWithSchema
|
|
6
6
|
} from "./columns/enum.js";
|
|
7
7
|
import { cockroachSequenceWithSchema } from "./sequence.js";
|
|
8
|
-
import { cockroachTableWithSchema } from "./table.js";
|
|
8
|
+
import { cockroachTableWithSchema, EnableRLS } from "./table.js";
|
|
9
9
|
import {
|
|
10
10
|
cockroachMaterializedViewWithSchema,
|
|
11
11
|
cockroachViewWithSchema
|
|
@@ -13,6 +13,13 @@ import {
|
|
|
13
13
|
class CockroachSchema {
|
|
14
14
|
constructor(schemaName) {
|
|
15
15
|
this.schemaName = schemaName;
|
|
16
|
+
this.table = Object.assign(this.table, {
|
|
17
|
+
withRLS: ((name, columns, extraConfig) => {
|
|
18
|
+
const table = cockroachTableWithSchema(name, columns, extraConfig, this.schemaName);
|
|
19
|
+
table[EnableRLS] = true;
|
|
20
|
+
return table;
|
|
21
|
+
})
|
|
22
|
+
});
|
|
16
23
|
}
|
|
17
24
|
static [entityKind] = "CockroachSchema";
|
|
18
25
|
isExisting = false;
|
|
@@ -52,7 +59,7 @@ function isCockroachSchema(obj) {
|
|
|
52
59
|
function cockroachSchema(name) {
|
|
53
60
|
if (name === "public") {
|
|
54
61
|
throw new Error(
|
|
55
|
-
`You can't specify 'public' as schema name. Postgres is using public schema by default. If you want to use 'public' schema, just use
|
|
62
|
+
`You can't specify 'public' as schema name. Postgres is using public schema by default. If you want to use 'public' schema, just use cockroachTable() instead of creating a schema`
|
|
56
63
|
);
|
|
57
64
|
}
|
|
58
65
|
return new CockroachSchema(name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/cockroach-core/schema.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\nimport { SQL, sql, type SQLWrapper } from '~/sql/sql.ts';\nimport type { NonArray, Writable } from '~/utils.ts';\nimport {\n\ttype CockroachEnum,\n\ttype CockroachEnumObject,\n\tcockroachEnumObjectWithSchema,\n\tcockroachEnumWithSchema,\n} from './columns/enum.ts';\nimport { type cockroachSequence, cockroachSequenceWithSchema } from './sequence.ts';\nimport { type CockroachTableFn, cockroachTableWithSchema } from './table.ts';\nimport {\n\ttype cockroachMaterializedView,\n\tcockroachMaterializedViewWithSchema,\n\ttype cockroachView,\n\tcockroachViewWithSchema,\n} from './view.ts';\n\nexport class CockroachSchema<TName extends string = string> implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'CockroachSchema';\n\n\tisExisting: boolean = false;\n\tconstructor(\n\t\tpublic readonly schemaName: TName,\n\t) {}\n\n\ttable: CockroachTableFn<TName> = ((name, columns, extraConfig) => {\n\t\treturn cockroachTableWithSchema(name, columns, extraConfig, this.schemaName);\n\t})
|
|
1
|
+
{"version":3,"sources":["../../src/cockroach-core/schema.ts"],"sourcesContent":["import { entityKind, is } from '~/entity.ts';\nimport { SQL, sql, type SQLWrapper } from '~/sql/sql.ts';\nimport type { NonArray, Writable } from '~/utils.ts';\nimport {\n\ttype CockroachEnum,\n\ttype CockroachEnumObject,\n\tcockroachEnumObjectWithSchema,\n\tcockroachEnumWithSchema,\n} from './columns/enum.ts';\nimport { type cockroachSequence, cockroachSequenceWithSchema } from './sequence.ts';\nimport { type CockroachTableFn, type CockroachTableFnInternal, cockroachTableWithSchema, EnableRLS } from './table.ts';\nimport {\n\ttype cockroachMaterializedView,\n\tcockroachMaterializedViewWithSchema,\n\ttype cockroachView,\n\tcockroachViewWithSchema,\n} from './view.ts';\n\nexport class CockroachSchema<TName extends string = string> implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'CockroachSchema';\n\n\tisExisting: boolean = false;\n\tconstructor(\n\t\tpublic readonly schemaName: TName,\n\t) {\n\t\tthis.table = Object.assign(this.table, {\n\t\t\twithRLS: ((name, columns, extraConfig) => {\n\t\t\t\tconst table = cockroachTableWithSchema(name, columns, extraConfig, this.schemaName);\n\t\t\t\ttable[EnableRLS] = true;\n\n\t\t\t\treturn table;\n\t\t\t}) as CockroachTableFnInternal<TName>,\n\t\t});\n\t}\n\n\ttable: CockroachTableFn<TName> = ((name, columns, extraConfig) => {\n\t\treturn cockroachTableWithSchema(name, columns, extraConfig, this.schemaName);\n\t}) as CockroachTableFn<TName>;\n\n\tview = ((name, columns) => {\n\t\treturn cockroachViewWithSchema(name, columns, this.schemaName);\n\t}) as typeof cockroachView;\n\n\tmaterializedView = ((name, columns) => {\n\t\treturn cockroachMaterializedViewWithSchema(name, columns, this.schemaName);\n\t}) as typeof cockroachMaterializedView;\n\n\tpublic enum<U extends string, T extends Readonly<[U, ...U[]]>>(\n\t\tenumName: string,\n\t\tvalues: T | Writable<T>,\n\t): CockroachEnum<Writable<T>>;\n\n\tpublic enum<E extends Record<string, string>>(\n\t\tenumName: string,\n\t\tenumObj: NonArray<E>,\n\t): CockroachEnumObject<E>;\n\n\tpublic enum(enumName: any, input: any): any {\n\t\treturn Array.isArray(input)\n\t\t\t? cockroachEnumWithSchema(\n\t\t\t\tenumName,\n\t\t\t\t[...input] as [string, ...string[]],\n\t\t\t\tthis.schemaName,\n\t\t\t)\n\t\t\t: cockroachEnumObjectWithSchema(enumName, input, this.schemaName);\n\t}\n\n\tsequence: typeof cockroachSequence = ((name, options) => {\n\t\treturn cockroachSequenceWithSchema(name, options, this.schemaName);\n\t});\n\n\tgetSQL(): SQL {\n\t\treturn new SQL([sql.identifier(this.schemaName)]);\n\t}\n\n\tshouldOmitSQLParens(): boolean {\n\t\treturn true;\n\t}\n\n\texisting(): this {\n\t\tthis.isExisting = true;\n\t\treturn this;\n\t}\n}\n\nexport function isCockroachSchema(obj: unknown): obj is CockroachSchema {\n\treturn is(obj, CockroachSchema);\n}\n\nexport function cockroachSchema<T extends string>(name: T) {\n\tif (name === 'public') {\n\t\tthrow new Error(\n\t\t\t`You can't specify 'public' as schema name. Postgres is using public schema by default. If you want to use 'public' schema, just use cockroachTable() instead of creating a schema`,\n\t\t);\n\t}\n\n\treturn new CockroachSchema(name);\n}\n"],"mappings":"AAAA,SAAS,YAAY,UAAU;AAC/B,SAAS,KAAK,WAA4B;AAE1C;AAAA,EAGC;AAAA,EACA;AAAA,OACM;AACP,SAAiC,mCAAmC;AACpE,SAA+D,0BAA0B,iBAAiB;AAC1G;AAAA,EAEC;AAAA,EAEA;AAAA,OACM;AAEA,MAAM,gBAAqE;AAAA,EAIjF,YACiB,YACf;AADe;AAEhB,SAAK,QAAQ,OAAO,OAAO,KAAK,OAAO;AAAA,MACtC,UAAU,CAAC,MAAM,SAAS,gBAAgB;AACzC,cAAM,QAAQ,yBAAyB,MAAM,SAAS,aAAa,KAAK,UAAU;AAClF,cAAM,SAAS,IAAI;AAEnB,eAAO;AAAA,MACR;AAAA,IACD,CAAC;AAAA,EACF;AAAA,EAdA,QAAiB,UAAU,IAAY;AAAA,EAEvC,aAAsB;AAAA,EActB,SAAkC,CAAC,MAAM,SAAS,gBAAgB;AACjE,WAAO,yBAAyB,MAAM,SAAS,aAAa,KAAK,UAAU;AAAA,EAC5E;AAAA,EAEA,QAAQ,CAAC,MAAM,YAAY;AAC1B,WAAO,wBAAwB,MAAM,SAAS,KAAK,UAAU;AAAA,EAC9D;AAAA,EAEA,oBAAoB,CAAC,MAAM,YAAY;AACtC,WAAO,oCAAoC,MAAM,SAAS,KAAK,UAAU;AAAA,EAC1E;AAAA,EAYO,KAAK,UAAe,OAAiB;AAC3C,WAAO,MAAM,QAAQ,KAAK,IACvB;AAAA,MACD;AAAA,MACA,CAAC,GAAG,KAAK;AAAA,MACT,KAAK;AAAA,IACN,IACE,8BAA8B,UAAU,OAAO,KAAK,UAAU;AAAA,EAClE;AAAA,EAEA,YAAsC,CAAC,MAAM,YAAY;AACxD,WAAO,4BAA4B,MAAM,SAAS,KAAK,UAAU;AAAA,EAClE;AAAA,EAEA,SAAc;AACb,WAAO,IAAI,IAAI,CAAC,IAAI,WAAW,KAAK,UAAU,CAAC,CAAC;AAAA,EACjD;AAAA,EAEA,sBAA+B;AAC9B,WAAO;AAAA,EACR;AAAA,EAEA,WAAiB;AAChB,SAAK,aAAa;AAClB,WAAO;AAAA,EACR;AACD;AAEO,SAAS,kBAAkB,KAAsC;AACvE,SAAO,GAAG,KAAK,eAAe;AAC/B;AAEO,SAAS,gBAAkC,MAAS;AAC1D,MAAI,SAAS,UAAU;AACtB,UAAM,IAAI;AAAA,MACT;AAAA,IACD;AAAA,EACD;AAEA,SAAO,IAAI,gBAAgB,IAAI;AAChC;","names":[]}
|
package/cockroach-core/table.cjs
CHANGED
|
@@ -80,13 +80,34 @@ function cockroachTableWithSchema(name, columns, extraConfig, schema, baseName =
|
|
|
80
80
|
}
|
|
81
81
|
});
|
|
82
82
|
}
|
|
83
|
-
const
|
|
83
|
+
const cockroachTableInternal = (name, columns, extraConfig) => {
|
|
84
84
|
return cockroachTableWithSchema(name, columns, extraConfig, void 0);
|
|
85
85
|
};
|
|
86
|
+
const cockroachTableWithRLS = (name, columns, extraConfig) => {
|
|
87
|
+
const table = cockroachTableWithSchema(name, columns, extraConfig, void 0);
|
|
88
|
+
table[EnableRLS] = true;
|
|
89
|
+
return table;
|
|
90
|
+
};
|
|
91
|
+
const cockroachTable = Object.assign(cockroachTableInternal, {
|
|
92
|
+
withRLS: cockroachTableWithRLS
|
|
93
|
+
});
|
|
86
94
|
function cockroachTableCreator(customizeTableName) {
|
|
87
|
-
|
|
95
|
+
const fn = (name, columns, extraConfig) => {
|
|
88
96
|
return cockroachTableWithSchema(customizeTableName(name), columns, extraConfig, void 0, name);
|
|
89
97
|
};
|
|
98
|
+
return Object.assign(fn, {
|
|
99
|
+
withRLS: ((name, columns, extraConfig) => {
|
|
100
|
+
const table = cockroachTableWithSchema(
|
|
101
|
+
customizeTableName(name),
|
|
102
|
+
columns,
|
|
103
|
+
extraConfig,
|
|
104
|
+
void 0,
|
|
105
|
+
name
|
|
106
|
+
);
|
|
107
|
+
table[EnableRLS] = true;
|
|
108
|
+
return table;
|
|
109
|
+
})
|
|
110
|
+
});
|
|
90
111
|
}
|
|
91
112
|
// Annotate the CommonJS export names for ESM import in node:
|
|
92
113
|
0 && (module.exports = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/cockroach-core/table.ts"],"sourcesContent":["import type { BuildColumns, BuildExtraConfigColumns, ColumnBuilderBase } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport {\n\ttype InferTableColumnsModels,\n\tTable,\n\ttype TableConfig as TableConfigBase,\n\ttype UpdateTableConfig,\n} from '~/table.ts';\nimport type { CheckBuilder } from './checks.ts';\nimport { type CockroachColumnsBuilders, getCockroachColumnBuilders } from './columns/all.ts';\nimport type {\n\tCockroachColumn,\n\tCockroachColumns,\n\tCockroachColumnWithArrayBuilder,\n\tExtraConfigColumn,\n} from './columns/common.ts';\nimport type { ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { AnyIndexBuilder } from './indexes.ts';\nimport type { CockroachPolicy } from './policies.ts';\nimport type { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { UniqueConstraintBuilder } from './unique-constraint.ts';\n\nexport type CockroachTableExtraConfigValue =\n\t| AnyIndexBuilder\n\t| CheckBuilder\n\t| ForeignKeyBuilder\n\t| PrimaryKeyBuilder\n\t| UniqueConstraintBuilder\n\t| CockroachPolicy;\n\nexport type CockroachTableExtraConfig = Record<\n\tstring,\n\tCockroachTableExtraConfigValue\n>;\n\nexport type TableConfig = TableConfigBase<CockroachColumns>;\n\n/** @internal */\nexport const InlineForeignKeys = Symbol.for('drizzle:CockroachInlineForeignKeys');\n/** @internal */\nexport const EnableRLS = Symbol.for('drizzle:EnableRLS');\n\nexport class CockroachTable<T extends TableConfig = TableConfig> extends Table<T> {\n\tstatic override readonly [entityKind]: string = 'CockroachTable';\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]:\n\t\t| ((self: Record<string, CockroachColumn>) => CockroachTableExtraConfig)\n\t\t| undefined = undefined;\n\n\t/** @internal */\n\toverride [Table.Symbol.ExtraConfigColumns]: Record<string, ExtraConfigColumn> = {};\n}\n\nexport type AnyCockroachTable<TPartial extends Partial<TableConfig> = {}> = CockroachTable<\n\tUpdateTableConfig<TableConfig, TPartial>\n>;\n\nexport type CockroachTableWithColumns<T extends TableConfig> =\n\t& CockroachTable<T>\n\t& T['columns']\n\t& InferTableColumnsModels<T['columns']>\n\t& {\n\t\tenableRLS: () => Omit<\n\t\t\tCockroachTableWithColumns<T>,\n\t\t\t'enableRLS'\n\t\t>;\n\t};\n\n/** @internal */\nexport function cockroachTableWithSchema<\n\tTTableName extends string,\n\tTSchemaName extends string | undefined,\n\tTColumnsMap extends Record<string, ColumnBuilderBase>,\n>(\n\tname: TTableName,\n\tcolumns: TColumnsMap | ((columnTypes: CockroachColumnsBuilders) => TColumnsMap),\n\textraConfig:\n\t\t| ((\n\t\t\tself: BuildExtraConfigColumns<TTableName, TColumnsMap, 'cockroach'>,\n\t\t) => CockroachTableExtraConfig | CockroachTableExtraConfigValue[])\n\t\t| undefined,\n\tschema: TSchemaName,\n\tbaseName = name,\n): CockroachTableWithColumns<{\n\tname: TTableName;\n\tschema: TSchemaName;\n\tcolumns: BuildColumns<TTableName, TColumnsMap, 'cockroach'>;\n\tdialect: 'cockroach';\n}> {\n\tconst rawTable = new CockroachTable<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'cockroach'>;\n\t\tdialect: 'cockroach';\n\t}>(name, schema, baseName);\n\n\tconst parsedColumns: TColumnsMap = typeof columns === 'function' ? columns(getCockroachColumnBuilders()) : columns;\n\n\tconst builtColumns = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as CockroachColumnWithArrayBuilder;\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, 'cockroach'>;\n\n\tconst builtColumnsForExtraConfig = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as CockroachColumnWithArrayBuilder;\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, 'cockroach'>;\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[CockroachTable.Symbol.ExtraConfigBuilder] = extraConfig as any;\n\t}\n\n\treturn Object.assign(table, {\n\t\tenableRLS: () => {\n\t\t\ttable[CockroachTable.Symbol.EnableRLS] = true;\n\t\t\treturn table as CockroachTableWithColumns<{\n\t\t\t\tname: TTableName;\n\t\t\t\tschema: TSchemaName;\n\t\t\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'cockroach'>;\n\t\t\t\tdialect: 'cockroach';\n\t\t\t}>;\n\t\t},\n\t}) as any;\n}\n\nexport interface
|
|
1
|
+
{"version":3,"sources":["../../src/cockroach-core/table.ts"],"sourcesContent":["import type { BuildColumns, BuildExtraConfigColumns, ColumnBuilderBase } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport {\n\ttype InferTableColumnsModels,\n\tTable,\n\ttype TableConfig as TableConfigBase,\n\ttype UpdateTableConfig,\n} from '~/table.ts';\nimport type { CheckBuilder } from './checks.ts';\nimport { type CockroachColumnsBuilders, getCockroachColumnBuilders } from './columns/all.ts';\nimport type {\n\tCockroachColumn,\n\tCockroachColumns,\n\tCockroachColumnWithArrayBuilder,\n\tExtraConfigColumn,\n} from './columns/common.ts';\nimport type { ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { AnyIndexBuilder } from './indexes.ts';\nimport type { CockroachPolicy } from './policies.ts';\nimport type { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { UniqueConstraintBuilder } from './unique-constraint.ts';\n\nexport type CockroachTableExtraConfigValue =\n\t| AnyIndexBuilder\n\t| CheckBuilder\n\t| ForeignKeyBuilder\n\t| PrimaryKeyBuilder\n\t| UniqueConstraintBuilder\n\t| CockroachPolicy;\n\nexport type CockroachTableExtraConfig = Record<\n\tstring,\n\tCockroachTableExtraConfigValue\n>;\n\nexport type TableConfig = TableConfigBase<CockroachColumns>;\n\n/** @internal */\nexport const InlineForeignKeys = Symbol.for('drizzle:CockroachInlineForeignKeys');\n/** @internal */\nexport const EnableRLS = Symbol.for('drizzle:EnableRLS');\n\nexport class CockroachTable<T extends TableConfig = TableConfig> extends Table<T> {\n\tstatic override readonly [entityKind]: string = 'CockroachTable';\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]:\n\t\t| ((self: Record<string, CockroachColumn>) => CockroachTableExtraConfig)\n\t\t| undefined = undefined;\n\n\t/** @internal */\n\toverride [Table.Symbol.ExtraConfigColumns]: Record<string, ExtraConfigColumn> = {};\n}\n\nexport type AnyCockroachTable<TPartial extends Partial<TableConfig> = {}> = CockroachTable<\n\tUpdateTableConfig<TableConfig, TPartial>\n>;\n\nexport type CockroachTableWithColumns<T extends TableConfig> =\n\t& CockroachTable<T>\n\t& T['columns']\n\t& InferTableColumnsModels<T['columns']>\n\t& {\n\t\tenableRLS: () => Omit<\n\t\t\tCockroachTableWithColumns<T>,\n\t\t\t'enableRLS'\n\t\t>;\n\t};\n\n/** @internal */\nexport function cockroachTableWithSchema<\n\tTTableName extends string,\n\tTSchemaName extends string | undefined,\n\tTColumnsMap extends Record<string, ColumnBuilderBase>,\n>(\n\tname: TTableName,\n\tcolumns: TColumnsMap | ((columnTypes: CockroachColumnsBuilders) => TColumnsMap),\n\textraConfig:\n\t\t| ((\n\t\t\tself: BuildExtraConfigColumns<TTableName, TColumnsMap, 'cockroach'>,\n\t\t) => CockroachTableExtraConfig | CockroachTableExtraConfigValue[])\n\t\t| undefined,\n\tschema: TSchemaName,\n\tbaseName = name,\n): CockroachTableWithColumns<{\n\tname: TTableName;\n\tschema: TSchemaName;\n\tcolumns: BuildColumns<TTableName, TColumnsMap, 'cockroach'>;\n\tdialect: 'cockroach';\n}> {\n\tconst rawTable = new CockroachTable<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'cockroach'>;\n\t\tdialect: 'cockroach';\n\t}>(name, schema, baseName);\n\n\tconst parsedColumns: TColumnsMap = typeof columns === 'function' ? columns(getCockroachColumnBuilders()) : columns;\n\n\tconst builtColumns = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as CockroachColumnWithArrayBuilder;\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, 'cockroach'>;\n\n\tconst builtColumnsForExtraConfig = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as CockroachColumnWithArrayBuilder;\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, 'cockroach'>;\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[CockroachTable.Symbol.ExtraConfigBuilder] = extraConfig as any;\n\t}\n\n\treturn Object.assign(table, {\n\t\tenableRLS: () => {\n\t\t\ttable[CockroachTable.Symbol.EnableRLS] = true;\n\t\t\treturn table as CockroachTableWithColumns<{\n\t\t\t\tname: TTableName;\n\t\t\t\tschema: TSchemaName;\n\t\t\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'cockroach'>;\n\t\t\t\tdialect: 'cockroach';\n\t\t\t}>;\n\t\t},\n\t}) as any;\n}\n\nexport interface CockroachTableFnInternal<TSchema extends string | undefined = undefined> {\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, ColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (\n\t\t\tself: BuildExtraConfigColumns<TTableName, TColumnsMap, 'cockroach'>,\n\t\t) => CockroachTableExtraConfigValue[],\n\t): CockroachTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'cockroach'>;\n\t\tdialect: 'cockroach';\n\t}>;\n\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, ColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: CockroachColumnsBuilders) => TColumnsMap,\n\t\textraConfig?: (\n\t\t\tself: BuildExtraConfigColumns<TTableName, TColumnsMap, 'cockroach'>,\n\t\t) => CockroachTableExtraConfigValue[],\n\t): CockroachTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'cockroach'>;\n\t\tdialect: 'cockroach';\n\t}>;\n}\n\nexport interface CockroachTableFn<TSchema extends string | undefined = undefined>\n\textends CockroachTableFnInternal<TSchema>\n{\n\twithRLS: CockroachTableFnInternal<TSchema>;\n}\n\nconst cockroachTableInternal: CockroachTableFnInternal = (name, columns, extraConfig) => {\n\treturn cockroachTableWithSchema(name, columns, extraConfig, undefined);\n};\n\nconst cockroachTableWithRLS: CockroachTableFn['withRLS'] = (name, columns, extraConfig) => {\n\tconst table = cockroachTableWithSchema(name, columns, extraConfig, undefined);\n\ttable[EnableRLS] = true;\n\n\treturn table;\n};\n\nexport const cockroachTable: CockroachTableFn = Object.assign(cockroachTableInternal, {\n\twithRLS: cockroachTableWithRLS,\n});\n\nexport function cockroachTableCreator(customizeTableName: (name: string) => string): CockroachTableFn {\n\tconst fn: CockroachTableFnInternal = (name, columns, extraConfig) => {\n\t\treturn cockroachTableWithSchema(customizeTableName(name) as typeof name, columns, extraConfig, undefined, name);\n\t};\n\n\treturn Object.assign(fn, {\n\t\twithRLS: ((name, columns, extraConfig) => {\n\t\t\tconst table = cockroachTableWithSchema(\n\t\t\t\tcustomizeTableName(name) as typeof name,\n\t\t\t\tcolumns,\n\t\t\t\textraConfig,\n\t\t\t\tundefined,\n\t\t\t\tname,\n\t\t\t);\n\t\t\ttable[EnableRLS] = true;\n\n\t\t\treturn table;\n\t\t}) as CockroachTableFnInternal,\n\t});\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oBAA2B;AAC3B,mBAKO;AAEP,iBAA0E;AA6BnE,MAAM,oBAAoB,OAAO,IAAI,oCAAoC;AAEzE,MAAM,YAAY,OAAO,IAAI,mBAAmB;AAEhD,MAAM,uBAA4D,mBAAS;AAAA,EACjF,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,IAE1B;AAAA;AAAA,EAGf,CAAU,mBAAM,OAAO,kBAAkB,IAAuC,CAAC;AAClF;AAkBO,SAAS,yBAKf,MACA,SACA,aAKA,QACA,WAAW,MAMT;AACF,QAAM,WAAW,IAAI,eAKlB,MAAM,QAAQ,QAAQ;AAEzB,QAAM,gBAA6B,OAAO,YAAY,aAAa,YAAQ,uCAA2B,CAAC,IAAI;AAE3G,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,eAAe,OAAO,kBAAkB,IAAI;AAAA,EACnD;AAEA,SAAO,OAAO,OAAO,OAAO;AAAA,IAC3B,WAAW,MAAM;AAChB,YAAM,eAAe,OAAO,SAAS,IAAI;AACzC,aAAO;AAAA,IAMR;AAAA,EACD,CAAC;AACF;AA0CA,MAAM,yBAAmD,CAAC,MAAM,SAAS,gBAAgB;AACxF,SAAO,yBAAyB,MAAM,SAAS,aAAa,MAAS;AACtE;AAEA,MAAM,wBAAqD,CAAC,MAAM,SAAS,gBAAgB;AAC1F,QAAM,QAAQ,yBAAyB,MAAM,SAAS,aAAa,MAAS;AAC5E,QAAM,SAAS,IAAI;AAEnB,SAAO;AACR;AAEO,MAAM,iBAAmC,OAAO,OAAO,wBAAwB;AAAA,EACrF,SAAS;AACV,CAAC;AAEM,SAAS,sBAAsB,oBAAgE;AACrG,QAAM,KAA+B,CAAC,MAAM,SAAS,gBAAgB;AACpE,WAAO,yBAAyB,mBAAmB,IAAI,GAAkB,SAAS,aAAa,QAAW,IAAI;AAAA,EAC/G;AAEA,SAAO,OAAO,OAAO,IAAI;AAAA,IACxB,UAAU,CAAC,MAAM,SAAS,gBAAgB;AACzC,YAAM,QAAQ;AAAA,QACb,mBAAmB,IAAI;AAAA,QACvB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AACA,YAAM,SAAS,IAAI;AAEnB,aAAO;AAAA,IACR;AAAA,EACD,CAAC;AACF;","names":["name"]}
|
|
@@ -19,7 +19,7 @@ export type AnyCockroachTable<TPartial extends Partial<TableConfig> = {}> = Cock
|
|
|
19
19
|
export type CockroachTableWithColumns<T extends TableConfig> = CockroachTable<T> & T['columns'] & InferTableColumnsModels<T['columns']> & {
|
|
20
20
|
enableRLS: () => Omit<CockroachTableWithColumns<T>, 'enableRLS'>;
|
|
21
21
|
};
|
|
22
|
-
export interface
|
|
22
|
+
export interface CockroachTableFnInternal<TSchema extends string | undefined = undefined> {
|
|
23
23
|
<TTableName extends string, TColumnsMap extends Record<string, ColumnBuilderBase>>(name: TTableName, columns: TColumnsMap, extraConfig?: (self: BuildExtraConfigColumns<TTableName, TColumnsMap, 'cockroach'>) => CockroachTableExtraConfigValue[]): CockroachTableWithColumns<{
|
|
24
24
|
name: TTableName;
|
|
25
25
|
schema: TSchema;
|
|
@@ -33,5 +33,8 @@ export interface CockroachTableFn<TSchema extends string | undefined = undefined
|
|
|
33
33
|
dialect: 'cockroach';
|
|
34
34
|
}>;
|
|
35
35
|
}
|
|
36
|
+
export interface CockroachTableFn<TSchema extends string | undefined = undefined> extends CockroachTableFnInternal<TSchema> {
|
|
37
|
+
withRLS: CockroachTableFnInternal<TSchema>;
|
|
38
|
+
}
|
|
36
39
|
export declare const cockroachTable: CockroachTableFn;
|
|
37
40
|
export declare function cockroachTableCreator(customizeTableName: (name: string) => string): CockroachTableFn;
|
|
@@ -19,7 +19,7 @@ export type AnyCockroachTable<TPartial extends Partial<TableConfig> = {}> = Cock
|
|
|
19
19
|
export type CockroachTableWithColumns<T extends TableConfig> = CockroachTable<T> & T['columns'] & InferTableColumnsModels<T['columns']> & {
|
|
20
20
|
enableRLS: () => Omit<CockroachTableWithColumns<T>, 'enableRLS'>;
|
|
21
21
|
};
|
|
22
|
-
export interface
|
|
22
|
+
export interface CockroachTableFnInternal<TSchema extends string | undefined = undefined> {
|
|
23
23
|
<TTableName extends string, TColumnsMap extends Record<string, ColumnBuilderBase>>(name: TTableName, columns: TColumnsMap, extraConfig?: (self: BuildExtraConfigColumns<TTableName, TColumnsMap, 'cockroach'>) => CockroachTableExtraConfigValue[]): CockroachTableWithColumns<{
|
|
24
24
|
name: TTableName;
|
|
25
25
|
schema: TSchema;
|
|
@@ -33,5 +33,8 @@ export interface CockroachTableFn<TSchema extends string | undefined = undefined
|
|
|
33
33
|
dialect: 'cockroach';
|
|
34
34
|
}>;
|
|
35
35
|
}
|
|
36
|
+
export interface CockroachTableFn<TSchema extends string | undefined = undefined> extends CockroachTableFnInternal<TSchema> {
|
|
37
|
+
withRLS: CockroachTableFnInternal<TSchema>;
|
|
38
|
+
}
|
|
36
39
|
export declare const cockroachTable: CockroachTableFn;
|
|
37
40
|
export declare function cockroachTableCreator(customizeTableName: (name: string) => string): CockroachTableFn;
|
package/cockroach-core/table.js
CHANGED
|
@@ -54,13 +54,34 @@ function cockroachTableWithSchema(name, columns, extraConfig, schema, baseName =
|
|
|
54
54
|
}
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
|
-
const
|
|
57
|
+
const cockroachTableInternal = (name, columns, extraConfig) => {
|
|
58
58
|
return cockroachTableWithSchema(name, columns, extraConfig, void 0);
|
|
59
59
|
};
|
|
60
|
+
const cockroachTableWithRLS = (name, columns, extraConfig) => {
|
|
61
|
+
const table = cockroachTableWithSchema(name, columns, extraConfig, void 0);
|
|
62
|
+
table[EnableRLS] = true;
|
|
63
|
+
return table;
|
|
64
|
+
};
|
|
65
|
+
const cockroachTable = Object.assign(cockroachTableInternal, {
|
|
66
|
+
withRLS: cockroachTableWithRLS
|
|
67
|
+
});
|
|
60
68
|
function cockroachTableCreator(customizeTableName) {
|
|
61
|
-
|
|
69
|
+
const fn = (name, columns, extraConfig) => {
|
|
62
70
|
return cockroachTableWithSchema(customizeTableName(name), columns, extraConfig, void 0, name);
|
|
63
71
|
};
|
|
72
|
+
return Object.assign(fn, {
|
|
73
|
+
withRLS: ((name, columns, extraConfig) => {
|
|
74
|
+
const table = cockroachTableWithSchema(
|
|
75
|
+
customizeTableName(name),
|
|
76
|
+
columns,
|
|
77
|
+
extraConfig,
|
|
78
|
+
void 0,
|
|
79
|
+
name
|
|
80
|
+
);
|
|
81
|
+
table[EnableRLS] = true;
|
|
82
|
+
return table;
|
|
83
|
+
})
|
|
84
|
+
});
|
|
64
85
|
}
|
|
65
86
|
export {
|
|
66
87
|
CockroachTable,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/cockroach-core/table.ts"],"sourcesContent":["import type { BuildColumns, BuildExtraConfigColumns, ColumnBuilderBase } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport {\n\ttype InferTableColumnsModels,\n\tTable,\n\ttype TableConfig as TableConfigBase,\n\ttype UpdateTableConfig,\n} from '~/table.ts';\nimport type { CheckBuilder } from './checks.ts';\nimport { type CockroachColumnsBuilders, getCockroachColumnBuilders } from './columns/all.ts';\nimport type {\n\tCockroachColumn,\n\tCockroachColumns,\n\tCockroachColumnWithArrayBuilder,\n\tExtraConfigColumn,\n} from './columns/common.ts';\nimport type { ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { AnyIndexBuilder } from './indexes.ts';\nimport type { CockroachPolicy } from './policies.ts';\nimport type { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { UniqueConstraintBuilder } from './unique-constraint.ts';\n\nexport type CockroachTableExtraConfigValue =\n\t| AnyIndexBuilder\n\t| CheckBuilder\n\t| ForeignKeyBuilder\n\t| PrimaryKeyBuilder\n\t| UniqueConstraintBuilder\n\t| CockroachPolicy;\n\nexport type CockroachTableExtraConfig = Record<\n\tstring,\n\tCockroachTableExtraConfigValue\n>;\n\nexport type TableConfig = TableConfigBase<CockroachColumns>;\n\n/** @internal */\nexport const InlineForeignKeys = Symbol.for('drizzle:CockroachInlineForeignKeys');\n/** @internal */\nexport const EnableRLS = Symbol.for('drizzle:EnableRLS');\n\nexport class CockroachTable<T extends TableConfig = TableConfig> extends Table<T> {\n\tstatic override readonly [entityKind]: string = 'CockroachTable';\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]:\n\t\t| ((self: Record<string, CockroachColumn>) => CockroachTableExtraConfig)\n\t\t| undefined = undefined;\n\n\t/** @internal */\n\toverride [Table.Symbol.ExtraConfigColumns]: Record<string, ExtraConfigColumn> = {};\n}\n\nexport type AnyCockroachTable<TPartial extends Partial<TableConfig> = {}> = CockroachTable<\n\tUpdateTableConfig<TableConfig, TPartial>\n>;\n\nexport type CockroachTableWithColumns<T extends TableConfig> =\n\t& CockroachTable<T>\n\t& T['columns']\n\t& InferTableColumnsModels<T['columns']>\n\t& {\n\t\tenableRLS: () => Omit<\n\t\t\tCockroachTableWithColumns<T>,\n\t\t\t'enableRLS'\n\t\t>;\n\t};\n\n/** @internal */\nexport function cockroachTableWithSchema<\n\tTTableName extends string,\n\tTSchemaName extends string | undefined,\n\tTColumnsMap extends Record<string, ColumnBuilderBase>,\n>(\n\tname: TTableName,\n\tcolumns: TColumnsMap | ((columnTypes: CockroachColumnsBuilders) => TColumnsMap),\n\textraConfig:\n\t\t| ((\n\t\t\tself: BuildExtraConfigColumns<TTableName, TColumnsMap, 'cockroach'>,\n\t\t) => CockroachTableExtraConfig | CockroachTableExtraConfigValue[])\n\t\t| undefined,\n\tschema: TSchemaName,\n\tbaseName = name,\n): CockroachTableWithColumns<{\n\tname: TTableName;\n\tschema: TSchemaName;\n\tcolumns: BuildColumns<TTableName, TColumnsMap, 'cockroach'>;\n\tdialect: 'cockroach';\n}> {\n\tconst rawTable = new CockroachTable<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'cockroach'>;\n\t\tdialect: 'cockroach';\n\t}>(name, schema, baseName);\n\n\tconst parsedColumns: TColumnsMap = typeof columns === 'function' ? columns(getCockroachColumnBuilders()) : columns;\n\n\tconst builtColumns = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as CockroachColumnWithArrayBuilder;\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, 'cockroach'>;\n\n\tconst builtColumnsForExtraConfig = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as CockroachColumnWithArrayBuilder;\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, 'cockroach'>;\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[CockroachTable.Symbol.ExtraConfigBuilder] = extraConfig as any;\n\t}\n\n\treturn Object.assign(table, {\n\t\tenableRLS: () => {\n\t\t\ttable[CockroachTable.Symbol.EnableRLS] = true;\n\t\t\treturn table as CockroachTableWithColumns<{\n\t\t\t\tname: TTableName;\n\t\t\t\tschema: TSchemaName;\n\t\t\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'cockroach'>;\n\t\t\t\tdialect: 'cockroach';\n\t\t\t}>;\n\t\t},\n\t}) as any;\n}\n\nexport interface
|
|
1
|
+
{"version":3,"sources":["../../src/cockroach-core/table.ts"],"sourcesContent":["import type { BuildColumns, BuildExtraConfigColumns, ColumnBuilderBase } from '~/column-builder.ts';\nimport { entityKind } from '~/entity.ts';\nimport {\n\ttype InferTableColumnsModels,\n\tTable,\n\ttype TableConfig as TableConfigBase,\n\ttype UpdateTableConfig,\n} from '~/table.ts';\nimport type { CheckBuilder } from './checks.ts';\nimport { type CockroachColumnsBuilders, getCockroachColumnBuilders } from './columns/all.ts';\nimport type {\n\tCockroachColumn,\n\tCockroachColumns,\n\tCockroachColumnWithArrayBuilder,\n\tExtraConfigColumn,\n} from './columns/common.ts';\nimport type { ForeignKey, ForeignKeyBuilder } from './foreign-keys.ts';\nimport type { AnyIndexBuilder } from './indexes.ts';\nimport type { CockroachPolicy } from './policies.ts';\nimport type { PrimaryKeyBuilder } from './primary-keys.ts';\nimport type { UniqueConstraintBuilder } from './unique-constraint.ts';\n\nexport type CockroachTableExtraConfigValue =\n\t| AnyIndexBuilder\n\t| CheckBuilder\n\t| ForeignKeyBuilder\n\t| PrimaryKeyBuilder\n\t| UniqueConstraintBuilder\n\t| CockroachPolicy;\n\nexport type CockroachTableExtraConfig = Record<\n\tstring,\n\tCockroachTableExtraConfigValue\n>;\n\nexport type TableConfig = TableConfigBase<CockroachColumns>;\n\n/** @internal */\nexport const InlineForeignKeys = Symbol.for('drizzle:CockroachInlineForeignKeys');\n/** @internal */\nexport const EnableRLS = Symbol.for('drizzle:EnableRLS');\n\nexport class CockroachTable<T extends TableConfig = TableConfig> extends Table<T> {\n\tstatic override readonly [entityKind]: string = 'CockroachTable';\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]:\n\t\t| ((self: Record<string, CockroachColumn>) => CockroachTableExtraConfig)\n\t\t| undefined = undefined;\n\n\t/** @internal */\n\toverride [Table.Symbol.ExtraConfigColumns]: Record<string, ExtraConfigColumn> = {};\n}\n\nexport type AnyCockroachTable<TPartial extends Partial<TableConfig> = {}> = CockroachTable<\n\tUpdateTableConfig<TableConfig, TPartial>\n>;\n\nexport type CockroachTableWithColumns<T extends TableConfig> =\n\t& CockroachTable<T>\n\t& T['columns']\n\t& InferTableColumnsModels<T['columns']>\n\t& {\n\t\tenableRLS: () => Omit<\n\t\t\tCockroachTableWithColumns<T>,\n\t\t\t'enableRLS'\n\t\t>;\n\t};\n\n/** @internal */\nexport function cockroachTableWithSchema<\n\tTTableName extends string,\n\tTSchemaName extends string | undefined,\n\tTColumnsMap extends Record<string, ColumnBuilderBase>,\n>(\n\tname: TTableName,\n\tcolumns: TColumnsMap | ((columnTypes: CockroachColumnsBuilders) => TColumnsMap),\n\textraConfig:\n\t\t| ((\n\t\t\tself: BuildExtraConfigColumns<TTableName, TColumnsMap, 'cockroach'>,\n\t\t) => CockroachTableExtraConfig | CockroachTableExtraConfigValue[])\n\t\t| undefined,\n\tschema: TSchemaName,\n\tbaseName = name,\n): CockroachTableWithColumns<{\n\tname: TTableName;\n\tschema: TSchemaName;\n\tcolumns: BuildColumns<TTableName, TColumnsMap, 'cockroach'>;\n\tdialect: 'cockroach';\n}> {\n\tconst rawTable = new CockroachTable<{\n\t\tname: TTableName;\n\t\tschema: TSchemaName;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'cockroach'>;\n\t\tdialect: 'cockroach';\n\t}>(name, schema, baseName);\n\n\tconst parsedColumns: TColumnsMap = typeof columns === 'function' ? columns(getCockroachColumnBuilders()) : columns;\n\n\tconst builtColumns = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as CockroachColumnWithArrayBuilder;\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, 'cockroach'>;\n\n\tconst builtColumnsForExtraConfig = Object.fromEntries(\n\t\tObject.entries(parsedColumns).map(([name, colBuilderBase]) => {\n\t\t\tconst colBuilder = colBuilderBase as CockroachColumnWithArrayBuilder;\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, 'cockroach'>;\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[CockroachTable.Symbol.ExtraConfigBuilder] = extraConfig as any;\n\t}\n\n\treturn Object.assign(table, {\n\t\tenableRLS: () => {\n\t\t\ttable[CockroachTable.Symbol.EnableRLS] = true;\n\t\t\treturn table as CockroachTableWithColumns<{\n\t\t\t\tname: TTableName;\n\t\t\t\tschema: TSchemaName;\n\t\t\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'cockroach'>;\n\t\t\t\tdialect: 'cockroach';\n\t\t\t}>;\n\t\t},\n\t}) as any;\n}\n\nexport interface CockroachTableFnInternal<TSchema extends string | undefined = undefined> {\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, ColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: TColumnsMap,\n\t\textraConfig?: (\n\t\t\tself: BuildExtraConfigColumns<TTableName, TColumnsMap, 'cockroach'>,\n\t\t) => CockroachTableExtraConfigValue[],\n\t): CockroachTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'cockroach'>;\n\t\tdialect: 'cockroach';\n\t}>;\n\n\t<\n\t\tTTableName extends string,\n\t\tTColumnsMap extends Record<string, ColumnBuilderBase>,\n\t>(\n\t\tname: TTableName,\n\t\tcolumns: (columnTypes: CockroachColumnsBuilders) => TColumnsMap,\n\t\textraConfig?: (\n\t\t\tself: BuildExtraConfigColumns<TTableName, TColumnsMap, 'cockroach'>,\n\t\t) => CockroachTableExtraConfigValue[],\n\t): CockroachTableWithColumns<{\n\t\tname: TTableName;\n\t\tschema: TSchema;\n\t\tcolumns: BuildColumns<TTableName, TColumnsMap, 'cockroach'>;\n\t\tdialect: 'cockroach';\n\t}>;\n}\n\nexport interface CockroachTableFn<TSchema extends string | undefined = undefined>\n\textends CockroachTableFnInternal<TSchema>\n{\n\twithRLS: CockroachTableFnInternal<TSchema>;\n}\n\nconst cockroachTableInternal: CockroachTableFnInternal = (name, columns, extraConfig) => {\n\treturn cockroachTableWithSchema(name, columns, extraConfig, undefined);\n};\n\nconst cockroachTableWithRLS: CockroachTableFn['withRLS'] = (name, columns, extraConfig) => {\n\tconst table = cockroachTableWithSchema(name, columns, extraConfig, undefined);\n\ttable[EnableRLS] = true;\n\n\treturn table;\n};\n\nexport const cockroachTable: CockroachTableFn = Object.assign(cockroachTableInternal, {\n\twithRLS: cockroachTableWithRLS,\n});\n\nexport function cockroachTableCreator(customizeTableName: (name: string) => string): CockroachTableFn {\n\tconst fn: CockroachTableFnInternal = (name, columns, extraConfig) => {\n\t\treturn cockroachTableWithSchema(customizeTableName(name) as typeof name, columns, extraConfig, undefined, name);\n\t};\n\n\treturn Object.assign(fn, {\n\t\twithRLS: ((name, columns, extraConfig) => {\n\t\t\tconst table = cockroachTableWithSchema(\n\t\t\t\tcustomizeTableName(name) as typeof name,\n\t\t\t\tcolumns,\n\t\t\t\textraConfig,\n\t\t\t\tundefined,\n\t\t\t\tname,\n\t\t\t);\n\t\t\ttable[EnableRLS] = true;\n\n\t\t\treturn table;\n\t\t}) as CockroachTableFnInternal,\n\t});\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAC3B;AAAA,EAEC;AAAA,OAGM;AAEP,SAAwC,kCAAkC;AA6BnE,MAAM,oBAAoB,OAAO,IAAI,oCAAoC;AAEzE,MAAM,YAAY,OAAO,IAAI,mBAAmB;AAEhD,MAAM,uBAA4D,MAAS;AAAA,EACjF,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,IAE1B;AAAA;AAAA,EAGf,CAAU,MAAM,OAAO,kBAAkB,IAAuC,CAAC;AAClF;AAkBO,SAAS,yBAKf,MACA,SACA,aAKA,QACA,WAAW,MAMT;AACF,QAAM,WAAW,IAAI,eAKlB,MAAM,QAAQ,QAAQ;AAEzB,QAAM,gBAA6B,OAAO,YAAY,aAAa,QAAQ,2BAA2B,CAAC,IAAI;AAE3G,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,eAAe,OAAO,kBAAkB,IAAI;AAAA,EACnD;AAEA,SAAO,OAAO,OAAO,OAAO;AAAA,IAC3B,WAAW,MAAM;AAChB,YAAM,eAAe,OAAO,SAAS,IAAI;AACzC,aAAO;AAAA,IAMR;AAAA,EACD,CAAC;AACF;AA0CA,MAAM,yBAAmD,CAAC,MAAM,SAAS,gBAAgB;AACxF,SAAO,yBAAyB,MAAM,SAAS,aAAa,MAAS;AACtE;AAEA,MAAM,wBAAqD,CAAC,MAAM,SAAS,gBAAgB;AAC1F,QAAM,QAAQ,yBAAyB,MAAM,SAAS,aAAa,MAAS;AAC5E,QAAM,SAAS,IAAI;AAEnB,SAAO;AACR;AAEO,MAAM,iBAAmC,OAAO,OAAO,wBAAwB;AAAA,EACrF,SAAS;AACV,CAAC;AAEM,SAAS,sBAAsB,oBAAgE;AACrG,QAAM,KAA+B,CAAC,MAAM,SAAS,gBAAgB;AACpE,WAAO,yBAAyB,mBAAmB,IAAI,GAAkB,SAAS,aAAa,QAAW,IAAI;AAAA,EAC/G;AAEA,SAAO,OAAO,OAAO,IAAI;AAAA,IACxB,UAAU,CAAC,MAAM,SAAS,gBAAgB;AACzC,YAAM,QAAQ;AAAA,QACb,mBAAmB,IAAI;AAAA,QACvB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD;AACA,YAAM,SAAS,IAAI;AAEnB,aAAO;AAAA,IACR;AAAA,EACD,CAAC;AACF;","names":["name"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/gel-core/query-builders/count.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { SQL, sql, type SQLWrapper } from '~/sql/sql.ts';\nimport type { GelSession } from '../session.ts';\nimport type { GelTable } from '../table.ts';\n\nexport class GelCountBuilder<\n\tTSession extends GelSession<any, any, any>,\n> extends SQL<number> implements Promise<number>, SQLWrapper {\n\tprivate sql: SQL<number>;\n\n\tstatic override readonly [entityKind]: string = 'GelCountBuilder';\n\t[Symbol.toStringTag] = 'GelCountBuilder';\n\n\tprivate session: TSession;\n\n\tprivate static buildEmbeddedCount(\n\t\tsource: GelTable | SQL | SQLWrapper,\n\t\tfilters?: SQL<unknown>,\n\t): SQL<number> {\n\t\treturn sql<number>`(select count(*) from ${source}${sql.raw(' where ').if(filters)}${filters})`;\n\t}\n\n\tprivate static buildCount(\n\t\tsource: GelTable | SQL | SQLWrapper,\n\t\tfilters?: SQL<unknown>,\n\t): SQL<number> {\n\t\treturn sql<number>`select count(*) as count from ${source}${sql.raw(' where ').if(filters)}${filters};`;\n\t}\n\n\tconstructor(\n\t\treadonly params: {\n\t\t\tsource: GelTable | SQL | SQLWrapper;\n\t\t\tfilters?: SQL<unknown>;\n\t\t\tsession: TSession;\n\t\t},\n\t) {\n\t\tsuper(GelCountBuilder.buildEmbeddedCount(params.source, params.filters).queryChunks);\n\n\t\tthis.mapWith(Number);\n\n\t\tthis.session = params.session;\n\n\t\tthis.sql = GelCountBuilder.buildCount(\n\t\t\tparams.source,\n\t\t\tparams.filters,\n\t\t);\n\t}\n\n\tthen<TResult1 = number, TResult2 = never>(\n\t\tonfulfilled?: ((value: number) => TResult1 | PromiseLike<TResult1>) | null | undefined,\n\t\tonrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined,\n\t): Promise<TResult1 | TResult2> {\n\t\treturn Promise.resolve(this.session.count(this.sql))\n\t\t\t.then(\n\t\t\t\tonfulfilled,\n\t\t\t\tonrejected,\n\t\t\t);\n\t}\n\n\tcatch(\n\t\tonRejected?: ((reason: any) => any) | null | undefined,\n\t): Promise<number> {\n\t\treturn this.then(undefined, onRejected);\n\t}\n\n\tfinally(onFinally?: (() => void) | null | undefined): Promise<number> {\n\t\treturn this.then(\n\t\t\t(value) => {\n\t\t\t\tonFinally?.();\n\t\t\t\treturn value;\n\t\t\t},\n\t\t\t(reason) => {\n\t\t\t\tonFinally?.();\n\t\t\t\tthrow reason;\n\t\t\t},\n\t\t);\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAC3B,iBAA0C;
|
|
1
|
+
{"version":3,"sources":["../../../src/gel-core/query-builders/count.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { SQL, sql, type SQLWrapper } from '~/sql/sql.ts';\nimport type { GelSession } from '../session.ts';\nimport type { GelTable } from '../table.ts';\nimport type { GelViewBase } from '../view-base.ts';\n\nexport class GelCountBuilder<\n\tTSession extends GelSession<any, any, any>,\n> extends SQL<number> implements Promise<number>, SQLWrapper {\n\tprivate sql: SQL<number>;\n\n\tstatic override readonly [entityKind]: string = 'GelCountBuilder';\n\t[Symbol.toStringTag] = 'GelCountBuilder';\n\n\tprivate session: TSession;\n\n\tprivate static buildEmbeddedCount(\n\t\tsource: GelTable | GelViewBase | SQL | SQLWrapper,\n\t\tfilters?: SQL<unknown>,\n\t): SQL<number> {\n\t\treturn sql<number>`(select count(*) from ${source}${sql.raw(' where ').if(filters)}${filters})`;\n\t}\n\n\tprivate static buildCount(\n\t\tsource: GelTable | GelViewBase | SQL | SQLWrapper,\n\t\tfilters?: SQL<unknown>,\n\t): SQL<number> {\n\t\treturn sql<number>`select count(*) as count from ${source}${sql.raw(' where ').if(filters)}${filters};`;\n\t}\n\n\tconstructor(\n\t\treadonly params: {\n\t\t\tsource: GelTable | GelViewBase | SQL | SQLWrapper;\n\t\t\tfilters?: SQL<unknown>;\n\t\t\tsession: TSession;\n\t\t},\n\t) {\n\t\tsuper(GelCountBuilder.buildEmbeddedCount(params.source, params.filters).queryChunks);\n\n\t\tthis.mapWith(Number);\n\n\t\tthis.session = params.session;\n\n\t\tthis.sql = GelCountBuilder.buildCount(\n\t\t\tparams.source,\n\t\t\tparams.filters,\n\t\t);\n\t}\n\n\tthen<TResult1 = number, TResult2 = never>(\n\t\tonfulfilled?: ((value: number) => TResult1 | PromiseLike<TResult1>) | null | undefined,\n\t\tonrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined,\n\t): Promise<TResult1 | TResult2> {\n\t\treturn Promise.resolve(this.session.count(this.sql))\n\t\t\t.then(\n\t\t\t\tonfulfilled,\n\t\t\t\tonrejected,\n\t\t\t);\n\t}\n\n\tcatch(\n\t\tonRejected?: ((reason: any) => any) | null | undefined,\n\t): Promise<number> {\n\t\treturn this.then(undefined, onRejected);\n\t}\n\n\tfinally(onFinally?: (() => void) | null | undefined): Promise<number> {\n\t\treturn this.then(\n\t\t\t(value) => {\n\t\t\t\tonFinally?.();\n\t\t\t\treturn value;\n\t\t\t},\n\t\t\t(reason) => {\n\t\t\t\tonFinally?.();\n\t\t\t\tthrow reason;\n\t\t\t},\n\t\t);\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA2B;AAC3B,iBAA0C;AAKnC,MAAM,wBAEH,eAAmD;AAAA,EAsB5D,YACU,QAKR;AACD,UAAM,gBAAgB,mBAAmB,OAAO,QAAQ,OAAO,OAAO,EAAE,WAAW;AAN1E;AAQT,SAAK,QAAQ,MAAM;AAEnB,SAAK,UAAU,OAAO;AAEtB,SAAK,MAAM,gBAAgB;AAAA,MAC1B,OAAO;AAAA,MACP,OAAO;AAAA,IACR;AAAA,EACD;AAAA,EAtCQ;AAAA,EAER,QAA0B,wBAAU,IAAY;AAAA,EAChD,CAAC,OAAO,WAAW,IAAI;AAAA,EAEf;AAAA,EAER,OAAe,mBACd,QACA,SACc;AACd,WAAO,uCAAoC,MAAM,GAAG,eAAI,IAAI,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,OAAO;AAAA,EAC7F;AAAA,EAEA,OAAe,WACd,QACA,SACc;AACd,WAAO,+CAA4C,MAAM,GAAG,eAAI,IAAI,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,OAAO;AAAA,EACrG;AAAA,EAqBA,KACC,aACA,YAC+B;AAC/B,WAAO,QAAQ,QAAQ,KAAK,QAAQ,MAAM,KAAK,GAAG,CAAC,EACjD;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACF;AAAA,EAEA,MACC,YACkB;AAClB,WAAO,KAAK,KAAK,QAAW,UAAU;AAAA,EACvC;AAAA,EAEA,QAAQ,WAA8D;AACrE,WAAO,KAAK;AAAA,MACX,CAAC,UAAU;AACV,oBAAY;AACZ,eAAO;AAAA,MACR;AAAA,MACA,CAAC,WAAW;AACX,oBAAY;AACZ,cAAM;AAAA,MACP;AAAA,IACD;AAAA,EACD;AACD;","names":[]}
|
|
@@ -2,9 +2,10 @@ import { entityKind } from "../../entity.cjs";
|
|
|
2
2
|
import { SQL, type SQLWrapper } from "../../sql/sql.cjs";
|
|
3
3
|
import type { GelSession } from "../session.cjs";
|
|
4
4
|
import type { GelTable } from "../table.cjs";
|
|
5
|
+
import type { GelViewBase } from "../view-base.cjs";
|
|
5
6
|
export declare class GelCountBuilder<TSession extends GelSession<any, any, any>> extends SQL<number> implements Promise<number>, SQLWrapper {
|
|
6
7
|
readonly params: {
|
|
7
|
-
source: GelTable | SQL | SQLWrapper;
|
|
8
|
+
source: GelTable | GelViewBase | SQL | SQLWrapper;
|
|
8
9
|
filters?: SQL<unknown>;
|
|
9
10
|
session: TSession;
|
|
10
11
|
};
|
|
@@ -15,7 +16,7 @@ export declare class GelCountBuilder<TSession extends GelSession<any, any, any>>
|
|
|
15
16
|
private static buildEmbeddedCount;
|
|
16
17
|
private static buildCount;
|
|
17
18
|
constructor(params: {
|
|
18
|
-
source: GelTable | SQL | SQLWrapper;
|
|
19
|
+
source: GelTable | GelViewBase | SQL | SQLWrapper;
|
|
19
20
|
filters?: SQL<unknown>;
|
|
20
21
|
session: TSession;
|
|
21
22
|
});
|
|
@@ -2,9 +2,10 @@ import { entityKind } from "../../entity.js";
|
|
|
2
2
|
import { SQL, type SQLWrapper } from "../../sql/sql.js";
|
|
3
3
|
import type { GelSession } from "../session.js";
|
|
4
4
|
import type { GelTable } from "../table.js";
|
|
5
|
+
import type { GelViewBase } from "../view-base.js";
|
|
5
6
|
export declare class GelCountBuilder<TSession extends GelSession<any, any, any>> extends SQL<number> implements Promise<number>, SQLWrapper {
|
|
6
7
|
readonly params: {
|
|
7
|
-
source: GelTable | SQL | SQLWrapper;
|
|
8
|
+
source: GelTable | GelViewBase | SQL | SQLWrapper;
|
|
8
9
|
filters?: SQL<unknown>;
|
|
9
10
|
session: TSession;
|
|
10
11
|
};
|
|
@@ -15,7 +16,7 @@ export declare class GelCountBuilder<TSession extends GelSession<any, any, any>>
|
|
|
15
16
|
private static buildEmbeddedCount;
|
|
16
17
|
private static buildCount;
|
|
17
18
|
constructor(params: {
|
|
18
|
-
source: GelTable | SQL | SQLWrapper;
|
|
19
|
+
source: GelTable | GelViewBase | SQL | SQLWrapper;
|
|
19
20
|
filters?: SQL<unknown>;
|
|
20
21
|
session: TSession;
|
|
21
22
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/gel-core/query-builders/count.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { SQL, sql, type SQLWrapper } from '~/sql/sql.ts';\nimport type { GelSession } from '../session.ts';\nimport type { GelTable } from '../table.ts';\n\nexport class GelCountBuilder<\n\tTSession extends GelSession<any, any, any>,\n> extends SQL<number> implements Promise<number>, SQLWrapper {\n\tprivate sql: SQL<number>;\n\n\tstatic override readonly [entityKind]: string = 'GelCountBuilder';\n\t[Symbol.toStringTag] = 'GelCountBuilder';\n\n\tprivate session: TSession;\n\n\tprivate static buildEmbeddedCount(\n\t\tsource: GelTable | SQL | SQLWrapper,\n\t\tfilters?: SQL<unknown>,\n\t): SQL<number> {\n\t\treturn sql<number>`(select count(*) from ${source}${sql.raw(' where ').if(filters)}${filters})`;\n\t}\n\n\tprivate static buildCount(\n\t\tsource: GelTable | SQL | SQLWrapper,\n\t\tfilters?: SQL<unknown>,\n\t): SQL<number> {\n\t\treturn sql<number>`select count(*) as count from ${source}${sql.raw(' where ').if(filters)}${filters};`;\n\t}\n\n\tconstructor(\n\t\treadonly params: {\n\t\t\tsource: GelTable | SQL | SQLWrapper;\n\t\t\tfilters?: SQL<unknown>;\n\t\t\tsession: TSession;\n\t\t},\n\t) {\n\t\tsuper(GelCountBuilder.buildEmbeddedCount(params.source, params.filters).queryChunks);\n\n\t\tthis.mapWith(Number);\n\n\t\tthis.session = params.session;\n\n\t\tthis.sql = GelCountBuilder.buildCount(\n\t\t\tparams.source,\n\t\t\tparams.filters,\n\t\t);\n\t}\n\n\tthen<TResult1 = number, TResult2 = never>(\n\t\tonfulfilled?: ((value: number) => TResult1 | PromiseLike<TResult1>) | null | undefined,\n\t\tonrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined,\n\t): Promise<TResult1 | TResult2> {\n\t\treturn Promise.resolve(this.session.count(this.sql))\n\t\t\t.then(\n\t\t\t\tonfulfilled,\n\t\t\t\tonrejected,\n\t\t\t);\n\t}\n\n\tcatch(\n\t\tonRejected?: ((reason: any) => any) | null | undefined,\n\t): Promise<number> {\n\t\treturn this.then(undefined, onRejected);\n\t}\n\n\tfinally(onFinally?: (() => void) | null | undefined): Promise<number> {\n\t\treturn this.then(\n\t\t\t(value) => {\n\t\t\t\tonFinally?.();\n\t\t\t\treturn value;\n\t\t\t},\n\t\t\t(reason) => {\n\t\t\t\tonFinally?.();\n\t\t\t\tthrow reason;\n\t\t\t},\n\t\t);\n\t}\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAC3B,SAAS,KAAK,WAA4B;
|
|
1
|
+
{"version":3,"sources":["../../../src/gel-core/query-builders/count.ts"],"sourcesContent":["import { entityKind } from '~/entity.ts';\nimport { SQL, sql, type SQLWrapper } from '~/sql/sql.ts';\nimport type { GelSession } from '../session.ts';\nimport type { GelTable } from '../table.ts';\nimport type { GelViewBase } from '../view-base.ts';\n\nexport class GelCountBuilder<\n\tTSession extends GelSession<any, any, any>,\n> extends SQL<number> implements Promise<number>, SQLWrapper {\n\tprivate sql: SQL<number>;\n\n\tstatic override readonly [entityKind]: string = 'GelCountBuilder';\n\t[Symbol.toStringTag] = 'GelCountBuilder';\n\n\tprivate session: TSession;\n\n\tprivate static buildEmbeddedCount(\n\t\tsource: GelTable | GelViewBase | SQL | SQLWrapper,\n\t\tfilters?: SQL<unknown>,\n\t): SQL<number> {\n\t\treturn sql<number>`(select count(*) from ${source}${sql.raw(' where ').if(filters)}${filters})`;\n\t}\n\n\tprivate static buildCount(\n\t\tsource: GelTable | GelViewBase | SQL | SQLWrapper,\n\t\tfilters?: SQL<unknown>,\n\t): SQL<number> {\n\t\treturn sql<number>`select count(*) as count from ${source}${sql.raw(' where ').if(filters)}${filters};`;\n\t}\n\n\tconstructor(\n\t\treadonly params: {\n\t\t\tsource: GelTable | GelViewBase | SQL | SQLWrapper;\n\t\t\tfilters?: SQL<unknown>;\n\t\t\tsession: TSession;\n\t\t},\n\t) {\n\t\tsuper(GelCountBuilder.buildEmbeddedCount(params.source, params.filters).queryChunks);\n\n\t\tthis.mapWith(Number);\n\n\t\tthis.session = params.session;\n\n\t\tthis.sql = GelCountBuilder.buildCount(\n\t\t\tparams.source,\n\t\t\tparams.filters,\n\t\t);\n\t}\n\n\tthen<TResult1 = number, TResult2 = never>(\n\t\tonfulfilled?: ((value: number) => TResult1 | PromiseLike<TResult1>) | null | undefined,\n\t\tonrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined,\n\t): Promise<TResult1 | TResult2> {\n\t\treturn Promise.resolve(this.session.count(this.sql))\n\t\t\t.then(\n\t\t\t\tonfulfilled,\n\t\t\t\tonrejected,\n\t\t\t);\n\t}\n\n\tcatch(\n\t\tonRejected?: ((reason: any) => any) | null | undefined,\n\t): Promise<number> {\n\t\treturn this.then(undefined, onRejected);\n\t}\n\n\tfinally(onFinally?: (() => void) | null | undefined): Promise<number> {\n\t\treturn this.then(\n\t\t\t(value) => {\n\t\t\t\tonFinally?.();\n\t\t\t\treturn value;\n\t\t\t},\n\t\t\t(reason) => {\n\t\t\t\tonFinally?.();\n\t\t\t\tthrow reason;\n\t\t\t},\n\t\t);\n\t}\n}\n"],"mappings":"AAAA,SAAS,kBAAkB;AAC3B,SAAS,KAAK,WAA4B;AAKnC,MAAM,wBAEH,IAAmD;AAAA,EAsB5D,YACU,QAKR;AACD,UAAM,gBAAgB,mBAAmB,OAAO,QAAQ,OAAO,OAAO,EAAE,WAAW;AAN1E;AAQT,SAAK,QAAQ,MAAM;AAEnB,SAAK,UAAU,OAAO;AAEtB,SAAK,MAAM,gBAAgB;AAAA,MAC1B,OAAO;AAAA,MACP,OAAO;AAAA,IACR;AAAA,EACD;AAAA,EAtCQ;AAAA,EAER,QAA0B,UAAU,IAAY;AAAA,EAChD,CAAC,OAAO,WAAW,IAAI;AAAA,EAEf;AAAA,EAER,OAAe,mBACd,QACA,SACc;AACd,WAAO,4BAAoC,MAAM,GAAG,IAAI,IAAI,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,OAAO;AAAA,EAC7F;AAAA,EAEA,OAAe,WACd,QACA,SACc;AACd,WAAO,oCAA4C,MAAM,GAAG,IAAI,IAAI,SAAS,EAAE,GAAG,OAAO,CAAC,GAAG,OAAO;AAAA,EACrG;AAAA,EAqBA,KACC,aACA,YAC+B;AAC/B,WAAO,QAAQ,QAAQ,KAAK,QAAQ,MAAM,KAAK,GAAG,CAAC,EACjD;AAAA,MACA;AAAA,MACA;AAAA,IACD;AAAA,EACF;AAAA,EAEA,MACC,YACkB;AAClB,WAAO,KAAK,KAAK,QAAW,UAAU;AAAA,EACvC;AAAA,EAEA,QAAQ,WAA8D;AACrE,WAAO,KAAK;AAAA,MACX,CAAC,UAAU;AACV,oBAAY;AACZ,eAAO;AAAA,MACR;AAAA,MACA,CAAC,WAAW;AACX,oBAAY;AACZ,cAAM;AAAA,MACP;AAAA,IACD;AAAA,EACD;AACD;","names":[]}
|