UNPKG

drizzle-orm

Version:

Drizzle ORM package for SQL databases

48 lines 1.29 kB
import { entityKind } from "../../entity.js"; import { SQL, sql } from "../../sql/sql.js"; class SQLiteCountBuilder extends SQL { constructor(params) { super(SQLiteCountBuilder.buildEmbeddedCount(params.source, params.filters).queryChunks); this.params = params; this.session = params.session; this.sql = SQLiteCountBuilder.buildCount( params.source, params.filters ); } sql; static [entityKind] = "SQLiteCountBuilderAsync"; [Symbol.toStringTag] = "SQLiteCountBuilderAsync"; 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(*) 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 { SQLiteCountBuilder }; //# sourceMappingURL=count.js.map