@type32/tauri-sqlite-orm 0.1.18-4 → 0.1.18-5

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.
package/dist/index.js CHANGED
@@ -265,26 +265,32 @@ var InsertQueryBuilder = class extends BaseQueryBuilder {
265
265
  }
266
266
  return finalData;
267
267
  });
268
- const allKeys = /* @__PURE__ */ new Set();
268
+ const groups = /* @__PURE__ */ new Map();
269
269
  for (const dataSet of processedDataSets) {
270
- for (const key of Object.keys(dataSet)) {
271
- allKeys.add(key);
270
+ const keys = Object.keys(dataSet).sort().join(",");
271
+ if (!groups.has(keys)) {
272
+ groups.set(keys, []);
272
273
  }
274
+ groups.get(keys).push(dataSet);
273
275
  }
274
- const columns = Array.from(allKeys);
275
- const columnNames = columns.map(
276
- (key) => this.table._.columns[key]._.name
277
- );
278
- const placeholders = `(${columns.map(() => "?").join(", ")})`;
279
- const valuesSql = processedDataSets.map(() => placeholders).join(", ");
280
- const finalQuery = `${this.query} (${columnNames.join(
281
- ", "
282
- )}) VALUES ${valuesSql}`;
283
- const params = processedDataSets.flatMap(
284
- (data) => columns.map((col) => data[col] ?? null)
285
- );
286
- const result = await this.db.execute(finalQuery, params);
287
- return result.lastInsertId ?? 0;
276
+ let lastInsertId = void 0;
277
+ for (const [_, dataSets] of groups) {
278
+ const columns = Object.keys(dataSets[0]);
279
+ const columnNames = columns.map(
280
+ (key) => this.table._.columns[key]._.name
281
+ );
282
+ const placeholders = `(${columns.map(() => "?").join(", ")})`;
283
+ const valuesSql = dataSets.map(() => placeholders).join(", ");
284
+ const finalQuery = `${this.query} (${columnNames.join(
285
+ ", "
286
+ )}) VALUES ${valuesSql}`;
287
+ const params = dataSets.flatMap(
288
+ (data) => columns.map((col) => data[col] ?? null)
289
+ );
290
+ const result = await this.db.execute(finalQuery, params);
291
+ lastInsertId = result.lastInsertId;
292
+ }
293
+ return lastInsertId ?? 0;
288
294
  }
289
295
  };
290
296
  var UpdateQueryBuilder = class extends BaseQueryBuilder {
package/dist/index.mjs CHANGED
@@ -215,26 +215,32 @@ var InsertQueryBuilder = class extends BaseQueryBuilder {
215
215
  }
216
216
  return finalData;
217
217
  });
218
- const allKeys = /* @__PURE__ */ new Set();
218
+ const groups = /* @__PURE__ */ new Map();
219
219
  for (const dataSet of processedDataSets) {
220
- for (const key of Object.keys(dataSet)) {
221
- allKeys.add(key);
220
+ const keys = Object.keys(dataSet).sort().join(",");
221
+ if (!groups.has(keys)) {
222
+ groups.set(keys, []);
222
223
  }
224
+ groups.get(keys).push(dataSet);
223
225
  }
224
- const columns = Array.from(allKeys);
225
- const columnNames = columns.map(
226
- (key) => this.table._.columns[key]._.name
227
- );
228
- const placeholders = `(${columns.map(() => "?").join(", ")})`;
229
- const valuesSql = processedDataSets.map(() => placeholders).join(", ");
230
- const finalQuery = `${this.query} (${columnNames.join(
231
- ", "
232
- )}) VALUES ${valuesSql}`;
233
- const params = processedDataSets.flatMap(
234
- (data) => columns.map((col) => data[col] ?? null)
235
- );
236
- const result = await this.db.execute(finalQuery, params);
237
- return result.lastInsertId ?? 0;
226
+ let lastInsertId = void 0;
227
+ for (const [_, dataSets] of groups) {
228
+ const columns = Object.keys(dataSets[0]);
229
+ const columnNames = columns.map(
230
+ (key) => this.table._.columns[key]._.name
231
+ );
232
+ const placeholders = `(${columns.map(() => "?").join(", ")})`;
233
+ const valuesSql = dataSets.map(() => placeholders).join(", ");
234
+ const finalQuery = `${this.query} (${columnNames.join(
235
+ ", "
236
+ )}) VALUES ${valuesSql}`;
237
+ const params = dataSets.flatMap(
238
+ (data) => columns.map((col) => data[col] ?? null)
239
+ );
240
+ const result = await this.db.execute(finalQuery, params);
241
+ lastInsertId = result.lastInsertId;
242
+ }
243
+ return lastInsertId ?? 0;
238
244
  }
239
245
  };
240
246
  var UpdateQueryBuilder = class extends BaseQueryBuilder {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@type32/tauri-sqlite-orm",
3
- "version": "0.1.18-4",
3
+ "version": "0.1.18-5",
4
4
  "description": "A Drizzle-like ORM for Tauri v2's SQL JS API plugin.",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",