| 90 | } |
| 91 | |
| 92 | async migrate<T extends BatchItem<class="st">'sqlite'>[] | readonly BatchItem<class="st">'sqlite'>[]>(queries: T) { |
| 93 | const preparedQueries: PreparedQuery[] = []; |
| 94 | const builtQueries: InStatement[] = []; |
| 95 | |
| 96 | for (const query of queries) { |
| 97 | const preparedQuery = query._prepare(); |
| 98 | const builtQuery = preparedQuery.getQuery(); |
| 99 | preparedQueries.push(preparedQuery); |
| 100 | builtQueries.push({ sql: builtQuery.sql, args: builtQuery.params as InArgs }); |
| 101 | } |
| 102 | |
| 103 | const batchResults = await this.client.migrate(builtQueries); |
| 104 | return batchResults.map((result, i) => preparedQueries[i]!.mapResult(result, true)); |
| 105 | } |
| 106 | |
| 107 | override async transaction<T>( |
| 108 | transaction: (db: LibSQLTransaction<TFullSchema, TSchema>) => T | Promise<T>, |