{"version":3,"file":"driver.cjs","names":["construct"],"sources":["../../src/libsql/driver.ts"],"sourcesContent":["import { type Client, type Config, createClient } from '@libsql/client';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport type { DrizzleSQLiteConfig } from '~/sqlite-core/utils.ts';\nimport { construct, type LibSQLDatabase } from './driver-core.ts';\n\nexport { LibSQLDatabase } from './driver-core.ts';\n\nexport function drizzle<TRelations extends AnyRelations = EmptyRelations, TClient extends Client = Client>(\n\t...params: [\n\t\tstring,\n\t] | [\n\t\tstring,\n\t\tDrizzleSQLiteConfig<TRelations>,\n\t] | [\n\t\t(\n\t\t\t& DrizzleSQLiteConfig<TRelations>\n\t\t\t& ({\n\t\t\t\tconnection: string | Config;\n\t\t\t} | {\n\t\t\t\tclient: TClient;\n\t\t\t})\n\t\t),\n\t]\n): LibSQLDatabase<TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = createClient({\n\t\t\turl: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tconst { connection, client, ...DrizzleSQLiteConfig } = params[0] as\n\t\t& { connection?: Config; client?: TClient }\n\t\t& DrizzleSQLiteConfig<TRelations>;\n\n\tif (client) return construct(client, DrizzleSQLiteConfig) as any;\n\n\tconst instance = typeof connection === 'string' ? createClient({ url: connection }) : createClient(connection!);\n\n\treturn construct(instance, DrizzleSQLiteConfig) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<TRelations extends AnyRelations = EmptyRelations>(\n\t\tconfig?: DrizzleSQLiteConfig<TRelations>,\n\t): LibSQLDatabase<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":";;;;;;AAOA,SAAgB,QACf,GAAG,QAiBF;AACD,KAAI,OAAO,OAAO,OAAO,SAKxB,QAAOA,sEAJuB,EAC7B,KAAK,OAAO,IACZ,CAAC,EAEyB,OAAO,GAAG;CAGtC,MAAM,EAAE,YAAY,QAAQ,GAAG,wBAAwB,OAAO;AAI9D,KAAI,OAAQ,QAAOA,qCAAU,QAAQ,oBAAoB;AAIzD,QAAOA,qCAFU,OAAO,eAAe,4CAAwB,EAAE,KAAK,YAAY,CAAC,oCAAgB,WAAY,EAEpF,oBAAoB;;;CAIxC,SAAS,KACf,QAGC;AACD,SAAOA,qCAAU,EAAE,EAAS,OAAO"}