{"version":3,"file":"refresh-materialized-view.cjs","names":["PgRefreshMaterializedView","entityKind"],"sources":["../../../src/pg-core/effect/refresh-materialized-view.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 { PgQueryResultHKT, PgQueryResultKind, PreparedQueryConfig } from '~/pg-core/session.ts';\nimport type { RunnableQuery } from '~/runnable-query.ts';\nimport { PgRefreshMaterializedView } from '../query-builders/refresh-materialized-view.ts';\nimport type { PgEffectPreparedQuery, PgEffectSession } from './session.ts';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface PgEffectRefreshMaterializedView<\n\tTQueryResult extends PgQueryResultHKT = PgQueryResultHKT,\n\tTEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase,\n> extends Effect.Effect<PgQueryResultKind<TQueryResult, never>, TEffectHKT['error'], TEffectHKT['context']> {}\n\nexport class PgEffectRefreshMaterializedView<\n\tTQueryResult extends PgQueryResultHKT = PgQueryResultHKT,\n\tTEffectHKT extends QueryEffectHKTBase = QueryEffectHKTBase,\n> extends PgRefreshMaterializedView<TQueryResult>\n\timplements RunnableQuery<PgQueryResultKind<TQueryResult, never>, 'pg'>\n{\n\tstatic override readonly [entityKind]: string = 'PgEffectRefreshMaterializedView';\n\n\tdeclare protected session: PgEffectSession<TEffectHKT, any, any>;\n\n\t/** @internal */\n\t_prepare(name?: string, generateName = false): PgEffectPreparedQuery<\n\t\tPreparedQueryConfig & {\n\t\t\texecute: PgQueryResultKind<TQueryResult, never>;\n\t\t},\n\t\tTEffectHKT\n\t> {\n\t\tconst query = this.dialect.sqlToQuery(this.getSQL());\n\t\treturn this.session.prepareQuery(\n\t\t\tquery,\n\t\t\t'raw',\n\t\t\tname ?? generateName,\n\t\t);\n\t}\n\n\tprepare(name?: string): PgEffectPreparedQuery<\n\t\tPreparedQueryConfig & {\n\t\t\texecute: PgQueryResultKind<TQueryResult, never>;\n\t\t},\n\t\tTEffectHKT\n\t> {\n\t\treturn this._prepare(name, true);\n\t}\n\n\texecute: ReturnType<this['prepare']>['execute'] = (placeholderValues) => {\n\t\treturn this._prepare().execute(placeholderValues);\n\t};\n}\n\napplyEffectWrapper(PgEffectRefreshMaterializedView);\n"],"mappings":";;;;;;;AAcA,IAAa,kCAAb,cAGUA,mFAEV;CACC,QAA0BC,0BAAsB;;CAKhD,SAAS,MAAe,eAAe,OAKrC;EACD,MAAM,QAAQ,KAAK,QAAQ,WAAW,KAAK,QAAQ,CAAC;AACpD,SAAO,KAAK,QAAQ,aACnB,OACA,OACA,QAAQ,aACR;;CAGF,QAAQ,MAKN;AACD,SAAO,KAAK,SAAS,MAAM,KAAK;;CAGjC,WAAmD,sBAAsB;AACxE,SAAO,KAAK,UAAU,CAAC,QAAQ,kBAAkB;;;sDAIhC,gCAAgC"}