SQLiteCountBuilder Class — drizzle-orm Architecture
Architecture documentation for the SQLiteCountBuilder class in count.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 6104c01b_fd7b_41f5_c553_d6a3e28ac9e9["SQLiteCountBuilder"] 586c8fc7_bdd1_953c_6b2a_30ada9e0b861["count.ts"] 6104c01b_fd7b_41f5_c553_d6a3e28ac9e9 -->|defined in| 586c8fc7_bdd1_953c_6b2a_30ada9e0b861 23edab35_525f_0cca_6b70_b4d844274e0b["buildEmbeddedCount()"] 6104c01b_fd7b_41f5_c553_d6a3e28ac9e9 -->|method| 23edab35_525f_0cca_6b70_b4d844274e0b 451462b8_aceb_43a7_02c0_c27028bdcca9["buildCount()"] 6104c01b_fd7b_41f5_c553_d6a3e28ac9e9 -->|method| 451462b8_aceb_43a7_02c0_c27028bdcca9 c1133f7e_e524_6cb2_fd24_cb4fad3dc8c7["constructor()"] 6104c01b_fd7b_41f5_c553_d6a3e28ac9e9 -->|method| c1133f7e_e524_6cb2_fd24_cb4fad3dc8c7 10537309_cd60_089d_04fb_12d05ca51f9f["then()"] 6104c01b_fd7b_41f5_c553_d6a3e28ac9e9 -->|method| 10537309_cd60_089d_04fb_12d05ca51f9f 4bb6e565_34ed_5600_e918_2e3bfaa3818e["catch()"] 6104c01b_fd7b_41f5_c553_d6a3e28ac9e9 -->|method| 4bb6e565_34ed_5600_e918_2e3bfaa3818e 57cb49da_65b3_fb21_b5d4_45e1c86b41f8["finally()"] 6104c01b_fd7b_41f5_c553_d6a3e28ac9e9 -->|method| 57cb49da_65b3_fb21_b5d4_45e1c86b41f8
Relationship Graph
Source Code
drizzle-orm/src/sqlite-core/query-builders/count.ts lines 7–76
export class SQLiteCountBuilder<
TSession extends SQLiteSession<any, any, any, any>,
> extends SQL<number> implements Promise<number>, SQLWrapper {
private sql: SQL<number>;
static override readonly [entityKind] = 'SQLiteCountBuilderAsync';
[Symbol.toStringTag] = 'SQLiteCountBuilderAsync';
private session: TSession;
private static buildEmbeddedCount(
source: SQLiteTable | SQLiteView | SQL | SQLWrapper,
filters?: SQL<unknown>,
): SQL<number> {
return sql<number>`(select count(*) from ${source}${sql.raw(' where ').if(filters)}${filters})`;
}
private static buildCount(
source: SQLiteTable | SQLiteView | SQL | SQLWrapper,
filters?: SQL<unknown>,
): SQL<number> {
return sql<number>`select count(*) from ${source}${sql.raw(' where ').if(filters)}${filters}`;
}
constructor(
readonly params: {
source: SQLiteTable | SQLiteView | SQL | SQLWrapper;
filters?: SQL<unknown>;
session: TSession;
},
) {
super(SQLiteCountBuilder.buildEmbeddedCount(params.source, params.filters).queryChunks);
this.session = params.session;
this.sql = SQLiteCountBuilder.buildCount(
params.source,
params.filters,
);
}
then<TResult1 = number, TResult2 = never>(
onfulfilled?: ((value: number) => TResult1 | PromiseLike<TResult1>) | null | undefined,
onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined,
): Promise<TResult1 | TResult2> {
return Promise.resolve(this.session.count(this.sql)).then(
onfulfilled,
onrejected,
);
}
catch(
onRejected?: ((reason: any) => never | PromiseLike<never>) | null | undefined,
): Promise<number> {
return this.then(undefined, onRejected);
}
finally(onFinally?: (() => void) | null | undefined): Promise<number> {
return this.then(
(value) => {
onFinally?.();
return value;
},
(reason) => {
onFinally?.();
throw reason;
},
);
}
}
Domain
Source
Frequently Asked Questions
What is the SQLiteCountBuilder class?
SQLiteCountBuilder is a class in the drizzle-orm codebase, defined in drizzle-orm/src/sqlite-core/query-builders/count.ts.
Where is SQLiteCountBuilder defined?
SQLiteCountBuilder is defined in drizzle-orm/src/sqlite-core/query-builders/count.ts at line 7.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free