{"version":3,"file":"neon-ws.cjs","names":["construct"],"sources":["../../src/postgres/neon-ws.ts"],"sourcesContent":["import { createPool, type NeonPoolConfig, type Pool } from '@drizzle-team/minipg/neon-ws';\nimport type { DrizzlePgConfig } from '~/pg-core/utils.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { construct, type PostgresDatabase } from './driver-core.ts';\nimport type { PostgresClient } from './session.ts';\n\nexport function drizzle<\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends PostgresClient = Pool,\n>(\n\t...params:\n\t\t| [\n\t\t\tstring,\n\t\t]\n\t\t| [\n\t\t\tstring,\n\t\t\tDrizzlePgConfig<TRelations>,\n\t\t]\n\t\t| [\n\t\t\t& DrizzlePgConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tclient: TClient;\n\t\t\t} | {\n\t\t\t\tconnection: string | NeonPoolConfig;\n\t\t\t}),\n\t\t]\n): PostgresDatabase<TRelations> & {\n\t$client: PostgresClient extends TClient ? Pool : TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = createPool({\n\t\t\turl: params[0],\n\t\t\ttemporal: 'string',\n\t\t});\n\n\t\treturn construct(\n\t\t\tinstance,\n\t\t\tparams[1] as DrizzlePgConfig<TRelations> | undefined,\n\t\t) as any;\n\t}\n\n\tconst { connection, client, ...config } = params[0] as (\n\t\t& ({ connection?: NeonPoolConfig | string; client?: TClient })\n\t\t& DrizzlePgConfig<TRelations>\n\t);\n\n\tif (client) return construct(client, config);\n\n\tconst instance = typeof connection === 'string'\n\t\t? createPool({ url: connection })\n\t\t: createPool({ ...connection! });\n\n\treturn construct(instance, config) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzlePgConfig<TRelations>,\n\t): PostgresDatabase<TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;AAMA,SAAgB,QAIf,GAAG,QAkBF;AACD,KAAI,OAAO,OAAO,OAAO,SAMxB,QAAOA,oFALqB;EAC3B,KAAK,OAAO;EACZ,UAAU;EACV,CAAC,EAID,OAAO,GACP;CAGF,MAAM,EAAE,YAAY,QAAQ,GAAG,WAAW,OAAO;AAKjD,KAAI,OAAQ,QAAOA,uCAAU,QAAQ,OAAO;AAM5C,QAAOA,uCAJU,OAAO,eAAe,wDACzB,EAAE,KAAK,YAAY,CAAC,gDACpB,EAAE,GAAG,YAAa,CAAC,EAEN,OAAO;;;CAI3B,SAAS,KAGf,QAGC;AACD,SAAOA,uCAAU,EAAE,EAAS,OAAO"}