| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- import { entityKind } from "../../entity.js";
- import { SQL, sql } from "../../sql/sql.js";
- class PgCountBuilder extends SQL {
- constructor(params) {
- super(PgCountBuilder.buildEmbeddedCount(params.source, params.filters).queryChunks);
- this.params = params;
- this.mapWith(Number);
- this.session = params.session;
- this.sql = PgCountBuilder.buildCount(
- params.source,
- params.filters
- );
- }
- sql;
- token;
- static [entityKind] = "PgCountBuilder";
- [Symbol.toStringTag] = "PgCountBuilder";
- session;
- static buildEmbeddedCount(source, filters) {
- return sql`(select count(*) from ${source}${sql.raw(" where ").if(filters)}${filters})`;
- }
- static buildCount(source, filters) {
- return sql`select count(*) as count from ${source}${sql.raw(" where ").if(filters)}${filters};`;
- }
- /** @intrnal */
- setToken(token) {
- this.token = token;
- return this;
- }
- then(onfulfilled, onrejected) {
- return Promise.resolve(this.session.count(this.sql, this.token)).then(
- onfulfilled,
- onrejected
- );
- }
- catch(onRejected) {
- return this.then(void 0, onRejected);
- }
- finally(onFinally) {
- return this.then(
- (value) => {
- onFinally?.();
- return value;
- },
- (reason) => {
- onFinally?.();
- throw reason;
- }
- );
- }
- }
- export {
- PgCountBuilder
- };
- //# sourceMappingURL=count.js.map
|