| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- import { entityKind } from "../../entity.js";
- import { SQL, sql } from "../../sql/sql.js";
- class GelCountBuilder extends SQL {
- constructor(params) {
- super(GelCountBuilder.buildEmbeddedCount(params.source, params.filters).queryChunks);
- this.params = params;
- this.mapWith(Number);
- this.session = params.session;
- this.sql = GelCountBuilder.buildCount(
- params.source,
- params.filters
- );
- }
- sql;
- static [entityKind] = "GelCountBuilder";
- [Symbol.toStringTag] = "GelCountBuilder";
- 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};`;
- }
- then(onfulfilled, onrejected) {
- return Promise.resolve(this.session.count(this.sql)).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 {
- GelCountBuilder
- };
- //# sourceMappingURL=count.js.map
|