@prisma-next/sqlite 0.5.0-dev.1 → 0.5.0-dev.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import "@prisma-next/driver-sqlite/runtime";
2
2
  import { orm } from "@prisma-next/sql-orm-client";
3
- import { ExecutionContext, Middleware, Runtime, RuntimeVerifyOptions, SqlExecutionStackWithDriver, SqlRuntimeExtensionDescriptor } from "@prisma-next/sql-runtime";
3
+ import { ExecutionContext, Runtime, RuntimeVerifyOptions, SqlExecutionStackWithDriver, SqlMiddleware, SqlRuntimeExtensionDescriptor } from "@prisma-next/sql-runtime";
4
4
  import { Contract } from "@prisma-next/contract/types";
5
5
  import { Db } from "@prisma-next/sql-builder/types";
6
6
  import { SqlStorage } from "@prisma-next/sql-contract/types";
@@ -23,20 +23,21 @@ interface SqliteClient<TContract extends Contract<SqlStorage>> {
23
23
  }): Promise<Runtime>;
24
24
  runtime(): Runtime;
25
25
  }
26
- interface SqliteOptionsBase<TContract extends Contract<SqlStorage>> {
26
+ interface SqliteOptionsBase {
27
27
  readonly extensions?: readonly SqlRuntimeExtensionDescriptor<SqliteTargetId>[];
28
- readonly middleware?: readonly Middleware<TContract>[];
28
+ readonly middleware?: readonly SqlMiddleware[];
29
29
  readonly verify?: RuntimeVerifyOptions;
30
30
  }
31
31
  type SqliteOptionsWithContract<TContract extends Contract<SqlStorage>> = {
32
32
  readonly path?: string;
33
- } & SqliteOptionsBase<TContract> & {
33
+ } & SqliteOptionsBase & {
34
34
  readonly contract: TContract;
35
35
  readonly contractJson?: never;
36
36
  };
37
37
  type SqliteOptionsWithContractJson<TContract extends Contract<SqlStorage>> = {
38
38
  readonly path?: string;
39
- } & SqliteOptionsBase<TContract> & {
39
+ readonly _contract?: TContract;
40
+ } & SqliteOptionsBase & {
40
41
  readonly contractJson: unknown;
41
42
  readonly contract?: never;
42
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.mts","names":[],"sources":["../src/runtime/binding.ts","../src/runtime/sqlite.ts"],"sourcesContent":[],"mappings":";;;;;;;;KAEY,kBAAA;;;;;KCyBA,cAAA;KACP,4BAA4B,SAAS,eAAe,kBAAkB,IAAW;UAErE,+BAA+B,SAAS;ED5B7C,SAAA,GAAA,EC6BI,ED7BJ,CC6BO,SD7BW,CAAA;gBC8Bd,UAAU;oBACN,iBAAiB;kBACnB,4BAA4B;EAPlC,OAAA,CAAA,YAC8B,CADhB,EAAA;IACrB,SAAS,IAAA,EAAA,MAAA;EAA4B,CAAA,CAAA,EAOW,OAPX,CAOmB,OAPnB,CAAA;EAAT,OAAA,EAAA,EAQpB,OARoB;;AAA0C,UAW1D,iBAX0D,CAAA,kBAWtB,QAXsB,CAWb,UAXa,CAAA,CAAA,CAAA;EAAlB,SAAA,UAAA,CAAA,EAAA,SAYxB,6BAZwB,CAYM,cAZN,CAAA,EAAA;EAAU,SAAA,UAAA,CAAA,EAAA,SAalC,UAbkC,CAavB,SAbuB,CAAA,EAAA;EAElD,SAAA,MAAY,CAAA,EAYT,oBAZS;;AAAmB,KAepC,yBAfoC,CAAA,kBAeQ,QAfR,CAeiB,UAfjB,CAAA,CAAA,GAAA;EAC7B,SAAA,IAAA,CAAA,EAAA,MAAA;CAAH,GAgBZ,iBAhBY,CAgBM,SAhBN,CAAA,GAAA;EACU,SAAA,QAAA,EAgBH,SAhBG;EAAV,SAAA,YAAA,CAAA,EAAA,KAAA;CACqB;AAAjB,KAmBR,6BAnBQ,CAAA,kBAmBwC,QAnBxC,CAmBiD,UAnBjD,CAAA,CAAA,GAAA;EAC0B,SAAA,IAAA,CAAA,EAAA,MAAA;CAA5B,GAoBd,iBApBc,CAoBI,SApBJ,CAAA,GAAA;EAC2C,SAAA,YAAA,EAAA,OAAA;EAAR,SAAA,QAAA,CAAA,EAAA,KAAA;CACxC;AAAO,KAuBR,aAvBQ,CAAA,kBAuBwB,QAvBxB,CAuBiC,UAvBjC,CAAA,CAAA,GAwBhB,yBAxBgB,CAwBU,SAxBV,CAAA,GAyBhB,6BAzBgB,CAyBc,SAzBd,CAAA;AAGH,iBAkCO,MAlCU,CAAA,kBAkCe,QAlCf,CAkCwB,UAlCxB,CAAA,CAAA,CAAA,OAAA,EAmCvB,yBAnCuB,CAmCG,SAnCH,CAAA,CAAA,EAoC/B,YApC+B,CAoClB,SApCkB,CAAA;AAA4B,iBAqCtC,MArCsC,CAAA,kBAqCb,QArCa,CAqCJ,UArCI,CAAA,CAAA,CAAA,OAAA,EAsCnD,6BAtCmD,CAsCrB,SAtCqB,CAAA,CAAA,EAuC3D,YAvC2D,CAuC9C,SAvC8C,CAAA"}
1
+ {"version":3,"file":"runtime.d.mts","names":[],"sources":["../src/runtime/binding.ts","../src/runtime/sqlite.ts"],"sourcesContent":[],"mappings":";;;;;;;;KAEY,kBAAA;;;;;KCyBA,cAAA;KACP,4BAA4B,SAAS,eAAe,kBAAkB,IAAW;UAErE,+BAA+B,SAAS;ED5B7C,SAAA,GAAA,EC6BI,ED7BJ,CC6BO,SD7BW,CAAA;gBC8Bd,UAAU;oBACN,iBAAiB;kBACnB,4BAA4B;EAPlC,OAAA,CAAA,YAC8B,CADhB,EAAA;IACrB,SAAS,IAAA,EAAA,MAAA;EAA4B,CAAA,CAAA,EAOW,OAPX,CAOmB,OAPnB,CAAA;EAAT,OAAA,EAAA,EAQpB,OARoB;;AAA0C,UAW1D,iBAAA,CAX0D;EAAlB,SAAA,UAAA,CAAA,EAAA,SAYxB,6BAZwB,CAYM,cAZN,CAAA,EAAA;EAAU,SAAA,UAAA,CAAA,EAAA,SAalC,aAbkC,EAAA;EAElD,SAAA,MAAY,CAAA,EAYT,oBAZS;;AAAmB,KAepC,yBAfoC,CAAA,kBAeQ,QAfR,CAeiB,UAfjB,CAAA,CAAA,GAAA;EAC7B,SAAA,IAAA,CAAA,EAAA,MAAA;CAAH,GAgBZ,iBAhBY,GAAA;EACU,SAAA,QAAA,EAgBH,SAhBG;EAAV,SAAA,YAAA,CAAA,EAAA,KAAA;CACqB;AAAjB,KAmBR,6BAnBQ,CAAA,kBAmBwC,QAnBxC,CAmBiD,UAnBjD,CAAA,CAAA,GAAA;EAC0B,SAAA,IAAA,CAAA,EAAA,MAAA;EAA5B,SAAA,SAAA,CAAA,EAoBK,SApBL;CAC2C,GAoBzD,iBApByD,GAAA;EAAR,SAAA,YAAA,EAAA,OAAA;EACxC,SAAA,QAAA,CAAA,EAAA,KAAA;CAAO;AAGH,KAqBL,aArBsB,CAAA,kBAqBU,QArBV,CAqBmB,UArBnB,CAAA,CAAA,GAsB9B,yBAtB8B,CAsBJ,SAtBI,CAAA,GAuB9B,6BAvB8B,CAuBA,SAvBA,CAAA;AAC6B,iBAkCvC,MAlCuC,CAAA,kBAkCd,QAlCc,CAkCL,UAlCK,CAAA,CAAA,CAAA,OAAA,EAmCpD,yBAnCoD,CAmC1B,SAnC0B,CAAA,CAAA,EAoC5D,YApC4D,CAoC/C,SApC+C,CAAA;AAA9B,iBAqCT,MArCS,CAAA,kBAqCgB,QArChB,CAqCyB,UArCzB,CAAA,CAAA,CAAA,OAAA,EAsCtB,6BAtCsB,CAsCQ,SAtCR,CAAA,CAAA,EAuC9B,YAvC8B,CAuCjB,SAvCiB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.mjs","names":["sql: Db<TContract>","sqlBuilder","runtimeInstance: Runtime | undefined","runtimeDriver: { connect(binding: unknown): Promise<void> } | undefined","connectPromise: Promise<void> | undefined","backgroundConnectError: unknown","ormBuilder"],"sources":["../src/runtime/binding.ts","../src/runtime/sqlite.ts"],"sourcesContent":["import type { SqliteBinding } from '@prisma-next/driver-sqlite/runtime';\n\nexport type SqliteBindingInput = { readonly path: string };\n\nexport function resolveSqliteBinding(input: SqliteBindingInput): SqliteBinding {\n return { kind: 'path', path: input.path };\n}\n\nexport function resolveOptionalSqliteBinding(options: {\n readonly path?: string;\n}): SqliteBinding | undefined {\n if (options.path === undefined) {\n return undefined;\n }\n return { kind: 'path', path: options.path };\n}\n","import sqliteAdapter from '@prisma-next/adapter-sqlite/runtime';\nimport type { Contract } from '@prisma-next/contract/types';\nimport type { SqliteBinding } from '@prisma-next/driver-sqlite/runtime';\nimport sqliteDriver from '@prisma-next/driver-sqlite/runtime';\nimport { emptyCodecLookup } from '@prisma-next/framework-components/codec';\nimport { instantiateExecutionStack } from '@prisma-next/framework-components/execution';\nimport { sql as sqlBuilder } from '@prisma-next/sql-builder/runtime';\nimport type { Db } from '@prisma-next/sql-builder/types';\nimport type { SqlStorage } from '@prisma-next/sql-contract/types';\nimport { validateContract } from '@prisma-next/sql-contract/validate';\nimport { orm as ormBuilder } from '@prisma-next/sql-orm-client';\nimport type {\n ExecutionContext,\n Middleware,\n Runtime,\n RuntimeVerifyOptions,\n SqlExecutionStackWithDriver,\n SqlRuntimeExtensionDescriptor,\n} from '@prisma-next/sql-runtime';\nimport {\n createExecutionContext,\n createRuntime,\n createSqlExecutionStack,\n} from '@prisma-next/sql-runtime';\nimport sqliteTarget from '@prisma-next/target-sqlite/runtime';\nimport { resolveOptionalSqliteBinding, resolveSqliteBinding } from './binding';\n\nexport type SqliteTargetId = 'sqlite';\ntype OrmClient<TContract extends Contract<SqlStorage>> = ReturnType<typeof ormBuilder<TContract>>;\n\nexport interface SqliteClient<TContract extends Contract<SqlStorage>> {\n readonly sql: Db<TContract>;\n readonly orm: OrmClient<TContract>;\n readonly context: ExecutionContext<TContract>;\n readonly stack: SqlExecutionStackWithDriver<SqliteTargetId>;\n connect(bindingInput?: { readonly path: string }): Promise<Runtime>;\n runtime(): Runtime;\n}\n\nexport interface SqliteOptionsBase<TContract extends Contract<SqlStorage>> {\n readonly extensions?: readonly SqlRuntimeExtensionDescriptor<SqliteTargetId>[];\n readonly middleware?: readonly Middleware<TContract>[];\n readonly verify?: RuntimeVerifyOptions;\n}\n\nexport type SqliteOptionsWithContract<TContract extends Contract<SqlStorage>> = {\n readonly path?: string;\n} & SqliteOptionsBase<TContract> & {\n readonly contract: TContract;\n readonly contractJson?: never;\n };\n\nexport type SqliteOptionsWithContractJson<TContract extends Contract<SqlStorage>> = {\n readonly path?: string;\n} & SqliteOptionsBase<TContract> & {\n readonly contractJson: unknown;\n readonly contract?: never;\n };\n\nexport type SqliteOptions<TContract extends Contract<SqlStorage>> =\n | SqliteOptionsWithContract<TContract>\n | SqliteOptionsWithContractJson<TContract>;\n\nfunction resolveContract<TContract extends Contract<SqlStorage>>(\n options: SqliteOptions<TContract>,\n): TContract {\n const contractInput =\n 'contractJson' in options && options.contractJson !== undefined\n ? options.contractJson\n : (options as SqliteOptionsWithContract<TContract>).contract;\n return validateContract<TContract>(contractInput, emptyCodecLookup);\n}\n\nexport default function sqlite<TContract extends Contract<SqlStorage>>(\n options: SqliteOptionsWithContract<TContract>,\n): SqliteClient<TContract>;\nexport default function sqlite<TContract extends Contract<SqlStorage>>(\n options: SqliteOptionsWithContractJson<TContract>,\n): SqliteClient<TContract>;\nexport default function sqlite<TContract extends Contract<SqlStorage>>(\n options: SqliteOptions<TContract>,\n): SqliteClient<TContract> {\n const contract = resolveContract(options);\n let binding = resolveOptionalSqliteBinding(options);\n const stack = createSqlExecutionStack({\n target: sqliteTarget,\n adapter: sqliteAdapter,\n driver: sqliteDriver,\n extensionPacks: options.extensions ?? [],\n });\n\n const context = createExecutionContext({\n contract,\n stack,\n });\n\n const sql: Db<TContract> = sqlBuilder<TContract>({ context });\n let runtimeInstance: Runtime | undefined;\n let runtimeDriver: { connect(binding: unknown): Promise<void> } | undefined;\n let driverConnected = false;\n let connectPromise: Promise<void> | undefined;\n let backgroundConnectError: unknown;\n\n const connectDriver = async (resolvedBinding: SqliteBinding): Promise<void> => {\n if (driverConnected) return;\n if (!runtimeDriver) throw new Error('SQLite runtime driver missing');\n if (connectPromise) return connectPromise;\n connectPromise = runtimeDriver\n .connect(resolvedBinding)\n .then(() => {\n driverConnected = true;\n })\n .catch((err) => {\n backgroundConnectError = err;\n connectPromise = undefined;\n throw err;\n });\n return connectPromise;\n };\n\n const getRuntime = (): Runtime => {\n if (backgroundConnectError !== undefined) {\n throw backgroundConnectError;\n }\n\n if (runtimeInstance) {\n return runtimeInstance;\n }\n\n const stackInstance = instantiateExecutionStack(stack);\n const driverDescriptor = stack.driver;\n if (!driverDescriptor) {\n throw new Error('Driver descriptor missing from execution stack');\n }\n\n const driver = driverDescriptor.create();\n runtimeDriver = driver;\n if (binding !== undefined) {\n void connectDriver(binding).catch(() => undefined);\n }\n\n runtimeInstance = createRuntime({\n stackInstance,\n context,\n driver,\n verify: options.verify ?? { mode: 'onFirstUse', requireMarker: false },\n ...(options.middleware ? { middleware: options.middleware } : {}),\n });\n\n return runtimeInstance;\n };\n\n const orm: OrmClient<TContract> = ormBuilder({\n context,\n runtime: {\n execute(plan) {\n return getRuntime().execute(plan);\n },\n connection() {\n return getRuntime().connection();\n },\n },\n });\n\n return {\n sql,\n orm,\n context,\n stack,\n async connect(bindingInput) {\n if (driverConnected || connectPromise) {\n throw new Error('SQLite client already connected');\n }\n\n backgroundConnectError = undefined;\n\n if (bindingInput !== undefined) {\n binding = resolveSqliteBinding(bindingInput);\n }\n\n if (binding === undefined) {\n throw new Error(\n 'SQLite binding not configured. Pass path to sqlite(...) or call db.connect({ path }).',\n );\n }\n\n const runtime = getRuntime();\n if (driverConnected) {\n return runtime;\n }\n\n await connectDriver(binding);\n return runtime;\n },\n runtime() {\n return getRuntime();\n },\n };\n}\n"],"mappings":";;;;;;;;;;;AAIA,SAAgB,qBAAqB,OAA0C;AAC7E,QAAO;EAAE,MAAM;EAAQ,MAAM,MAAM;EAAM;;AAG3C,SAAgB,6BAA6B,SAEf;AAC5B,KAAI,QAAQ,SAAS,OACnB;AAEF,QAAO;EAAE,MAAM;EAAQ,MAAM,QAAQ;EAAM;;;;;ACiD7C,SAAS,gBACP,SACW;AAKX,QAAO,iBAHL,kBAAkB,WAAW,QAAQ,iBAAiB,SAClD,QAAQ,eACP,QAAiD,UACN,iBAAiB;;AASrE,SAAwB,OACtB,SACyB;CACzB,MAAM,WAAW,gBAAgB,QAAQ;CACzC,IAAI,UAAU,6BAA6B,QAAQ;CACnD,MAAM,QAAQ,wBAAwB;EACpC,QAAQ;EACR,SAAS;EACT,QAAQ;EACR,gBAAgB,QAAQ,cAAc,EAAE;EACzC,CAAC;CAEF,MAAM,UAAU,uBAAuB;EACrC;EACA;EACD,CAAC;CAEF,MAAMA,QAAqBC,IAAsB,EAAE,SAAS,CAAC;CAC7D,IAAIC;CACJ,IAAIC;CACJ,IAAI,kBAAkB;CACtB,IAAIC;CACJ,IAAIC;CAEJ,MAAM,gBAAgB,OAAO,oBAAkD;AAC7E,MAAI,gBAAiB;AACrB,MAAI,CAAC,cAAe,OAAM,IAAI,MAAM,gCAAgC;AACpE,MAAI,eAAgB,QAAO;AAC3B,mBAAiB,cACd,QAAQ,gBAAgB,CACxB,WAAW;AACV,qBAAkB;IAClB,CACD,OAAO,QAAQ;AACd,4BAAyB;AACzB,oBAAiB;AACjB,SAAM;IACN;AACJ,SAAO;;CAGT,MAAM,mBAA4B;AAChC,MAAI,2BAA2B,OAC7B,OAAM;AAGR,MAAI,gBACF,QAAO;EAGT,MAAM,gBAAgB,0BAA0B,MAAM;EACtD,MAAM,mBAAmB,MAAM;AAC/B,MAAI,CAAC,iBACH,OAAM,IAAI,MAAM,iDAAiD;EAGnE,MAAM,SAAS,iBAAiB,QAAQ;AACxC,kBAAgB;AAChB,MAAI,YAAY,OACd,CAAK,cAAc,QAAQ,CAAC,YAAY,OAAU;AAGpD,oBAAkB,cAAc;GAC9B;GACA;GACA;GACA,QAAQ,QAAQ,UAAU;IAAE,MAAM;IAAc,eAAe;IAAO;GACtE,GAAI,QAAQ,aAAa,EAAE,YAAY,QAAQ,YAAY,GAAG,EAAE;GACjE,CAAC;AAEF,SAAO;;AAeT,QAAO;EACL;EACA,KAdgCC,IAAW;GAC3C;GACA,SAAS;IACP,QAAQ,MAAM;AACZ,YAAO,YAAY,CAAC,QAAQ,KAAK;;IAEnC,aAAa;AACX,YAAO,YAAY,CAAC,YAAY;;IAEnC;GACF,CAAC;EAKA;EACA;EACA,MAAM,QAAQ,cAAc;AAC1B,OAAI,mBAAmB,eACrB,OAAM,IAAI,MAAM,kCAAkC;AAGpD,4BAAyB;AAEzB,OAAI,iBAAiB,OACnB,WAAU,qBAAqB,aAAa;AAG9C,OAAI,YAAY,OACd,OAAM,IAAI,MACR,wFACD;GAGH,MAAM,UAAU,YAAY;AAC5B,OAAI,gBACF,QAAO;AAGT,SAAM,cAAc,QAAQ;AAC5B,UAAO;;EAET,UAAU;AACR,UAAO,YAAY;;EAEtB"}
1
+ {"version":3,"file":"runtime.mjs","names":["sql: Db<TContract>","sqlBuilder","runtimeInstance: Runtime | undefined","runtimeDriver: { connect(binding: unknown): Promise<void> } | undefined","connectPromise: Promise<void> | undefined","backgroundConnectError: unknown","ormBuilder"],"sources":["../src/runtime/binding.ts","../src/runtime/sqlite.ts"],"sourcesContent":["import type { SqliteBinding } from '@prisma-next/driver-sqlite/runtime';\n\nexport type SqliteBindingInput = { readonly path: string };\n\nexport function resolveSqliteBinding(input: SqliteBindingInput): SqliteBinding {\n return { kind: 'path', path: input.path };\n}\n\nexport function resolveOptionalSqliteBinding(options: {\n readonly path?: string;\n}): SqliteBinding | undefined {\n if (options.path === undefined) {\n return undefined;\n }\n return { kind: 'path', path: options.path };\n}\n","import sqliteAdapter from '@prisma-next/adapter-sqlite/runtime';\nimport type { Contract } from '@prisma-next/contract/types';\nimport type { SqliteBinding } from '@prisma-next/driver-sqlite/runtime';\nimport sqliteDriver from '@prisma-next/driver-sqlite/runtime';\nimport { emptyCodecLookup } from '@prisma-next/framework-components/codec';\nimport { instantiateExecutionStack } from '@prisma-next/framework-components/execution';\nimport { sql as sqlBuilder } from '@prisma-next/sql-builder/runtime';\nimport type { Db } from '@prisma-next/sql-builder/types';\nimport type { SqlStorage } from '@prisma-next/sql-contract/types';\nimport { validateContract } from '@prisma-next/sql-contract/validate';\nimport { orm as ormBuilder } from '@prisma-next/sql-orm-client';\nimport type {\n ExecutionContext,\n Runtime,\n RuntimeVerifyOptions,\n SqlExecutionStackWithDriver,\n SqlMiddleware,\n SqlRuntimeExtensionDescriptor,\n} from '@prisma-next/sql-runtime';\nimport {\n createExecutionContext,\n createRuntime,\n createSqlExecutionStack,\n} from '@prisma-next/sql-runtime';\nimport sqliteTarget from '@prisma-next/target-sqlite/runtime';\nimport { resolveOptionalSqliteBinding, resolveSqliteBinding } from './binding';\n\nexport type SqliteTargetId = 'sqlite';\ntype OrmClient<TContract extends Contract<SqlStorage>> = ReturnType<typeof ormBuilder<TContract>>;\n\nexport interface SqliteClient<TContract extends Contract<SqlStorage>> {\n readonly sql: Db<TContract>;\n readonly orm: OrmClient<TContract>;\n readonly context: ExecutionContext<TContract>;\n readonly stack: SqlExecutionStackWithDriver<SqliteTargetId>;\n connect(bindingInput?: { readonly path: string }): Promise<Runtime>;\n runtime(): Runtime;\n}\n\nexport interface SqliteOptionsBase {\n readonly extensions?: readonly SqlRuntimeExtensionDescriptor<SqliteTargetId>[];\n readonly middleware?: readonly SqlMiddleware[];\n readonly verify?: RuntimeVerifyOptions;\n}\n\nexport type SqliteOptionsWithContract<TContract extends Contract<SqlStorage>> = {\n readonly path?: string;\n} & SqliteOptionsBase & {\n readonly contract: TContract;\n readonly contractJson?: never;\n };\n\nexport type SqliteOptionsWithContractJson<TContract extends Contract<SqlStorage>> = {\n readonly path?: string;\n readonly _contract?: TContract;\n} & SqliteOptionsBase & {\n readonly contractJson: unknown;\n readonly contract?: never;\n };\n\nexport type SqliteOptions<TContract extends Contract<SqlStorage>> =\n | SqliteOptionsWithContract<TContract>\n | SqliteOptionsWithContractJson<TContract>;\n\nfunction resolveContract<TContract extends Contract<SqlStorage>>(\n options: SqliteOptions<TContract>,\n): TContract {\n const contractInput =\n 'contractJson' in options && options.contractJson !== undefined\n ? options.contractJson\n : (options as SqliteOptionsWithContract<TContract>).contract;\n return validateContract<TContract>(contractInput, emptyCodecLookup);\n}\n\nexport default function sqlite<TContract extends Contract<SqlStorage>>(\n options: SqliteOptionsWithContract<TContract>,\n): SqliteClient<TContract>;\nexport default function sqlite<TContract extends Contract<SqlStorage>>(\n options: SqliteOptionsWithContractJson<TContract>,\n): SqliteClient<TContract>;\nexport default function sqlite<TContract extends Contract<SqlStorage>>(\n options: SqliteOptions<TContract>,\n): SqliteClient<TContract> {\n const contract = resolveContract(options);\n let binding = resolveOptionalSqliteBinding(options);\n const stack = createSqlExecutionStack({\n target: sqliteTarget,\n adapter: sqliteAdapter,\n driver: sqliteDriver,\n extensionPacks: options.extensions ?? [],\n });\n\n const context = createExecutionContext({\n contract,\n stack,\n });\n\n const sql: Db<TContract> = sqlBuilder<TContract>({ context });\n let runtimeInstance: Runtime | undefined;\n let runtimeDriver: { connect(binding: unknown): Promise<void> } | undefined;\n let driverConnected = false;\n let connectPromise: Promise<void> | undefined;\n let backgroundConnectError: unknown;\n\n const connectDriver = async (resolvedBinding: SqliteBinding): Promise<void> => {\n if (driverConnected) return;\n if (!runtimeDriver) throw new Error('SQLite runtime driver missing');\n if (connectPromise) return connectPromise;\n connectPromise = runtimeDriver\n .connect(resolvedBinding)\n .then(() => {\n driverConnected = true;\n })\n .catch((err) => {\n backgroundConnectError = err;\n connectPromise = undefined;\n throw err;\n });\n return connectPromise;\n };\n\n const getRuntime = (): Runtime => {\n if (backgroundConnectError !== undefined) {\n throw backgroundConnectError;\n }\n\n if (runtimeInstance) {\n return runtimeInstance;\n }\n\n const stackInstance = instantiateExecutionStack(stack);\n const driverDescriptor = stack.driver;\n if (!driverDescriptor) {\n throw new Error('Driver descriptor missing from execution stack');\n }\n\n const driver = driverDescriptor.create();\n runtimeDriver = driver;\n if (binding !== undefined) {\n void connectDriver(binding).catch(() => undefined);\n }\n\n runtimeInstance = createRuntime({\n stackInstance,\n context,\n driver,\n verify: options.verify ?? { mode: 'onFirstUse', requireMarker: false },\n ...(options.middleware ? { middleware: options.middleware } : {}),\n });\n\n return runtimeInstance;\n };\n\n const orm: OrmClient<TContract> = ormBuilder({\n context,\n runtime: {\n execute(plan) {\n return getRuntime().execute(plan);\n },\n connection() {\n return getRuntime().connection();\n },\n },\n });\n\n return {\n sql,\n orm,\n context,\n stack,\n async connect(bindingInput) {\n if (driverConnected || connectPromise) {\n throw new Error('SQLite client already connected');\n }\n\n backgroundConnectError = undefined;\n\n if (bindingInput !== undefined) {\n binding = resolveSqliteBinding(bindingInput);\n }\n\n if (binding === undefined) {\n throw new Error(\n 'SQLite binding not configured. Pass path to sqlite(...) or call db.connect({ path }).',\n );\n }\n\n const runtime = getRuntime();\n if (driverConnected) {\n return runtime;\n }\n\n await connectDriver(binding);\n return runtime;\n },\n runtime() {\n return getRuntime();\n },\n };\n}\n"],"mappings":";;;;;;;;;;;AAIA,SAAgB,qBAAqB,OAA0C;AAC7E,QAAO;EAAE,MAAM;EAAQ,MAAM,MAAM;EAAM;;AAG3C,SAAgB,6BAA6B,SAEf;AAC5B,KAAI,QAAQ,SAAS,OACnB;AAEF,QAAO;EAAE,MAAM;EAAQ,MAAM,QAAQ;EAAM;;;;;ACkD7C,SAAS,gBACP,SACW;AAKX,QAAO,iBAHL,kBAAkB,WAAW,QAAQ,iBAAiB,SAClD,QAAQ,eACP,QAAiD,UACN,iBAAiB;;AASrE,SAAwB,OACtB,SACyB;CACzB,MAAM,WAAW,gBAAgB,QAAQ;CACzC,IAAI,UAAU,6BAA6B,QAAQ;CACnD,MAAM,QAAQ,wBAAwB;EACpC,QAAQ;EACR,SAAS;EACT,QAAQ;EACR,gBAAgB,QAAQ,cAAc,EAAE;EACzC,CAAC;CAEF,MAAM,UAAU,uBAAuB;EACrC;EACA;EACD,CAAC;CAEF,MAAMA,QAAqBC,IAAsB,EAAE,SAAS,CAAC;CAC7D,IAAIC;CACJ,IAAIC;CACJ,IAAI,kBAAkB;CACtB,IAAIC;CACJ,IAAIC;CAEJ,MAAM,gBAAgB,OAAO,oBAAkD;AAC7E,MAAI,gBAAiB;AACrB,MAAI,CAAC,cAAe,OAAM,IAAI,MAAM,gCAAgC;AACpE,MAAI,eAAgB,QAAO;AAC3B,mBAAiB,cACd,QAAQ,gBAAgB,CACxB,WAAW;AACV,qBAAkB;IAClB,CACD,OAAO,QAAQ;AACd,4BAAyB;AACzB,oBAAiB;AACjB,SAAM;IACN;AACJ,SAAO;;CAGT,MAAM,mBAA4B;AAChC,MAAI,2BAA2B,OAC7B,OAAM;AAGR,MAAI,gBACF,QAAO;EAGT,MAAM,gBAAgB,0BAA0B,MAAM;EACtD,MAAM,mBAAmB,MAAM;AAC/B,MAAI,CAAC,iBACH,OAAM,IAAI,MAAM,iDAAiD;EAGnE,MAAM,SAAS,iBAAiB,QAAQ;AACxC,kBAAgB;AAChB,MAAI,YAAY,OACd,CAAK,cAAc,QAAQ,CAAC,YAAY,OAAU;AAGpD,oBAAkB,cAAc;GAC9B;GACA;GACA;GACA,QAAQ,QAAQ,UAAU;IAAE,MAAM;IAAc,eAAe;IAAO;GACtE,GAAI,QAAQ,aAAa,EAAE,YAAY,QAAQ,YAAY,GAAG,EAAE;GACjE,CAAC;AAEF,SAAO;;AAeT,QAAO;EACL;EACA,KAdgCC,IAAW;GAC3C;GACA,SAAS;IACP,QAAQ,MAAM;AACZ,YAAO,YAAY,CAAC,QAAQ,KAAK;;IAEnC,aAAa;AACX,YAAO,YAAY,CAAC,YAAY;;IAEnC;GACF,CAAC;EAKA;EACA;EACA,MAAM,QAAQ,cAAc;AAC1B,OAAI,mBAAmB,eACrB,OAAM,IAAI,MAAM,kCAAkC;AAGpD,4BAAyB;AAEzB,OAAI,iBAAiB,OACnB,WAAU,qBAAqB,aAAa;AAG9C,OAAI,YAAY,OACd,OAAM,IAAI,MACR,wFACD;GAGH,MAAM,UAAU,YAAY;AAC5B,OAAI,gBACF,QAAO;AAGT,SAAM,cAAc,QAAQ;AAC5B,UAAO;;EAET,UAAU;AACR,UAAO,YAAY;;EAEtB"}
package/package.json CHANGED
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "@prisma-next/sqlite",
3
- "version": "0.5.0-dev.1",
3
+ "version": "0.5.0-dev.2",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "description": "One-liner lazy SQLite client composition for Prisma Next",
7
7
  "dependencies": {
8
- "@prisma-next/adapter-sqlite": "0.5.0-dev.1",
9
- "@prisma-next/driver-sqlite": "0.5.0-dev.1",
10
- "@prisma-next/contract": "0.5.0-dev.1",
11
- "@prisma-next/sql-builder": "0.5.0-dev.1",
12
- "@prisma-next/sql-contract": "0.5.0-dev.1",
13
- "@prisma-next/sql-orm-client": "0.5.0-dev.1",
14
- "@prisma-next/framework-components": "0.5.0-dev.1",
15
- "@prisma-next/sql-relational-core": "0.5.0-dev.1",
16
- "@prisma-next/sql-runtime": "0.5.0-dev.1",
17
- "@prisma-next/target-sqlite": "0.5.0-dev.1"
8
+ "@prisma-next/adapter-sqlite": "0.5.0-dev.2",
9
+ "@prisma-next/driver-sqlite": "0.5.0-dev.2",
10
+ "@prisma-next/sql-builder": "0.5.0-dev.2",
11
+ "@prisma-next/framework-components": "0.5.0-dev.2",
12
+ "@prisma-next/sql-orm-client": "0.5.0-dev.2",
13
+ "@prisma-next/sql-relational-core": "0.5.0-dev.2",
14
+ "@prisma-next/sql-contract": "0.5.0-dev.2",
15
+ "@prisma-next/contract": "0.5.0-dev.2",
16
+ "@prisma-next/sql-runtime": "0.5.0-dev.2",
17
+ "@prisma-next/target-sqlite": "0.5.0-dev.2"
18
18
  },
19
19
  "devDependencies": {
20
20
  "tsdown": "0.18.4",
@@ -11,10 +11,10 @@ import { validateContract } from '@prisma-next/sql-contract/validate';
11
11
  import { orm as ormBuilder } from '@prisma-next/sql-orm-client';
12
12
  import type {
13
13
  ExecutionContext,
14
- Middleware,
15
14
  Runtime,
16
15
  RuntimeVerifyOptions,
17
16
  SqlExecutionStackWithDriver,
17
+ SqlMiddleware,
18
18
  SqlRuntimeExtensionDescriptor,
19
19
  } from '@prisma-next/sql-runtime';
20
20
  import {
@@ -37,22 +37,23 @@ export interface SqliteClient<TContract extends Contract<SqlStorage>> {
37
37
  runtime(): Runtime;
38
38
  }
39
39
 
40
- export interface SqliteOptionsBase<TContract extends Contract<SqlStorage>> {
40
+ export interface SqliteOptionsBase {
41
41
  readonly extensions?: readonly SqlRuntimeExtensionDescriptor<SqliteTargetId>[];
42
- readonly middleware?: readonly Middleware<TContract>[];
42
+ readonly middleware?: readonly SqlMiddleware[];
43
43
  readonly verify?: RuntimeVerifyOptions;
44
44
  }
45
45
 
46
46
  export type SqliteOptionsWithContract<TContract extends Contract<SqlStorage>> = {
47
47
  readonly path?: string;
48
- } & SqliteOptionsBase<TContract> & {
48
+ } & SqliteOptionsBase & {
49
49
  readonly contract: TContract;
50
50
  readonly contractJson?: never;
51
51
  };
52
52
 
53
53
  export type SqliteOptionsWithContractJson<TContract extends Contract<SqlStorage>> = {
54
54
  readonly path?: string;
55
- } & SqliteOptionsBase<TContract> & {
55
+ readonly _contract?: TContract;
56
+ } & SqliteOptionsBase & {
56
57
  readonly contractJson: unknown;
57
58
  readonly contract?: never;
58
59
  };