{"version":3,"file":"count.cjs","names":["MySqlCountBuilder","entityKind"],"sources":["../../../src/mysql-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 { MySqlDialect } from '../dialect.ts';\nimport { MySqlCountBuilder } from '../query-builders/count.ts';\nimport type { MySqlTable } from '../table.ts';\nimport type { MySqlViewBase } from '../view-base.ts';\nimport type { MySqlEffectSession } from './session.ts';\n\nexport interface MySqlEffectCountBuilder<TEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase>\n\textends MySqlCountBuilder, Effect.Effect<number, TEffectHKT['error'], TEffectHKT['context']>\n{}\n\nexport class MySqlEffectCountBuilder<TEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase>\n\textends MySqlCountBuilder\n{\n\tstatic override readonly [entityKind]: string = 'MySqlEffectCountBuilder';\n\n\tprotected session: MySqlEffectSession<TEffectHKT, any, any>;\n\n\tconstructor(\n\t\t{ source, dialect, filters, session }: {\n\t\t\tsource: MySqlTable | MySqlViewBase | SQL | SQLWrapper;\n\t\t\tfilters?: SQL<unknown>;\n\t\t\tdialect: MySqlDialect;\n\t\t\tsession: MySqlEffectSession<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\titerator: never;\n\t\t}>(\n\t\t\tthis.build(),\n\t\t\t'arrays',\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(MySqlEffectCountBuilder);\n"],"mappings":";;;;;;;AAcA,IAAa,0BAAb,cACSA,0DACT;CACC,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,aAInB,KAAK,OAAO,EACZ,WACC,SAAS;GACT,MAAM,IAAI,KAAK,KAAK;AACpB,OAAI,OAAO,MAAM,SAAU,QAAO;AAClC,UAAO,IAAI,OAAO,EAAE,GAAG;IAExB,CAAC,QAAQ,kBAAkB;;;sDAIX,wBAAwB"}