{"version":3,"file":"count.cjs","names":["PgCountBuilder","entityKind"],"sources":["../../../src/pg-core/effect/count.ts"],"sourcesContent":["import type * as Effect from 'effect/Effect';\nimport { applyEffectWrapper, type QueryEffectHKTBase } from '~/effect-core/query-effect.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { SQL, SQLWrapper } from '~/sql/sql.ts';\nimport type { PgDialect } from '../dialect.ts';\nimport { PgCountBuilder } from '../query-builders/count.ts';\nimport type { PgTable } from '../table.ts';\nimport type { PgViewBase } from '../view-base.ts';\nimport type { PgEffectSession } from './session.ts';\n\nexport interface PgEffectCountBuilder<TEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase>\n\textends PgCountBuilder, Effect.Effect<number, TEffectHKT['error'], TEffectHKT['context']>\n{}\n\nexport class PgEffectCountBuilder<TEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase> extends PgCountBuilder {\n\tstatic override readonly [entityKind]: string = 'PgEffectCountBuilder';\n\n\tprotected session: PgEffectSession<TEffectHKT, any, any>;\n\n\tconstructor(\n\t\t{ source, dialect, filters, session }: {\n\t\t\tsource: PgTable | PgViewBase | SQL | SQLWrapper;\n\t\t\tfilters?: SQL<unknown>;\n\t\t\tdialect: PgDialect;\n\t\t\tsession: PgEffectSession<TEffectHKT, any, any>;\n\t\t},\n\t) {\n\t\tsuper({ source, dialect, filters });\n\t\tthis.session = session;\n\t}\n\n\texecute(placeholderValues?: Record<string, unknown>) {\n\t\treturn this.session.prepareQuery<{\n\t\t\texecute: number;\n\t\t\tobjects: unknown;\n\t\t\tarrays: unknown;\n\t\t\traw: unknown;\n\t\t}>(\n\t\t\tthis.build(),\n\t\t\t'arrays',\n\t\t\tfalse,\n\t\t\t(rows) => {\n\t\t\t\tconst v = rows[0]?.[0];\n\t\t\t\tif (typeof v === 'number') return v;\n\t\t\t\treturn v ? Number(v) : 0;\n\t\t\t},\n\t\t).execute(placeholderValues);\n\t}\n}\n\napplyEffectWrapper(PgEffectCountBuilder);\n"],"mappings":";;;;;;;AAcA,IAAa,uBAAb,cAAsGA,oDAAe;CACpH,QAA0BC,0BAAsB;CAEhD,AAAU;CAEV,YACC,EAAE,QAAQ,SAAS,SAAS,WAM3B;AACD,QAAM;GAAE;GAAQ;GAAS;GAAS,CAAC;AACnC,OAAK,UAAU;;CAGhB,QAAQ,mBAA6C;AACpD,SAAO,KAAK,QAAQ,aAMnB,KAAK,OAAO,EACZ,UACA,QACC,SAAS;GACT,MAAM,IAAI,KAAK,KAAK;AACpB,OAAI,OAAO,MAAM,SAAU,QAAO;AAClC,UAAO,IAAI,OAAO,EAAE,GAAG;IAExB,CAAC,QAAQ,kBAAkB;;;sDAIX,qBAAqB"}