@type32/tauri-sqlite-orm 0.1.16 → 0.1.17

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
@@ -506,7 +506,7 @@ var desc = (column) => `${getQualifiedName(column)} DESC`;
506
506
  // src/orm.ts
507
507
  function getTableName(table) {
508
508
  const anyTable = table;
509
- return anyTable._tableName || anyTable.tableName || anyTable.name || "";
509
+ return anyTable.tableName || anyTable.name || "";
510
510
  }
511
511
  var SelectQueryBuilder = class {
512
512
  _table = null;
@@ -558,7 +558,7 @@ var SelectQueryBuilder = class {
558
558
  }
559
559
  leftJoin(otherTable, on) {
560
560
  const onSql = on.toSQL();
561
- const joinClause = `LEFT JOIN ${otherTable._tableName} ON ${onSql.clause}`;
561
+ const joinClause = `LEFT JOIN ${otherTable.tableName} ON ${onSql.clause}`;
562
562
  this._joins.push(joinClause);
563
563
  return this;
564
564
  }
@@ -765,14 +765,30 @@ var TauriORM = class {
765
765
  if (finalData[key] === void 0) {
766
766
  if (col.defaultFn) {
767
767
  finalData[key] = coerceValue2(col, col.defaultFn());
768
- } else if (col.onUpdateFn) {
768
+ } else if (col.onUpdateFn && !this._rows.includes(data)) {
769
769
  finalData[key] = coerceValue2(col, col.onUpdateFn());
770
770
  }
771
771
  }
772
772
  }
773
- const entries = Object.entries(finalData);
774
- const keys = entries.map(([k]) => schema[k]?.name ?? k);
775
- const values = entries.map(([k, v]) => coerceValue2(schema[k], v));
773
+ const entries = Object.entries(finalData).filter(
774
+ ([_, value]) => value !== void 0
775
+ );
776
+ const keys = entries.map(([k]) => {
777
+ const col = schema[k];
778
+ return col?.name ?? k;
779
+ });
780
+ const values = entries.map(([k, v]) => {
781
+ const col = schema[k];
782
+ return coerceValue2(col, v);
783
+ });
784
+ if (keys.length === 0) {
785
+ let query2 = `INSERT INTO ${tableName} DEFAULT VALUES`;
786
+ const bindings2 = [];
787
+ query2 += this._buildConflictClause();
788
+ const ret2 = await this._executeWithReturning(db, query2, bindings2);
789
+ if (ret2 !== void 0) return ret2;
790
+ continue;
791
+ }
776
792
  const placeholders = values.map(() => "?").join(", ");
777
793
  let query = `INSERT INTO ${tableName} (${keys.join(
778
794
  ", "
@@ -913,7 +929,7 @@ var TauriORM = class {
913
929
  }
914
930
  }
915
931
  let query = `UPDATE ${tableName} SET ${setParts.join(", ")}`;
916
- if (this._from) query += ` FROM ${this._from._tableName}`;
932
+ if (this._from) query += ` FROM ${this._from.tableName}`;
917
933
  if (this._where) {
918
934
  if (typeof this._where.toSQL === "function") {
919
935
  const sql2 = this._where.toSQL();
@@ -1149,7 +1165,7 @@ var TauriORM = class {
1149
1165
  }
1150
1166
  }
1151
1167
  generateCreateIndexSqls(table) {
1152
- const tableName = table._tableName;
1168
+ const tableName = table.tableName;
1153
1169
  const indexes = table._indexes || [];
1154
1170
  const stmts = [];
1155
1171
  for (const idx of indexes) {
@@ -1196,7 +1212,7 @@ var TauriORM = class {
1196
1212
  }
1197
1213
  await this.forcePushForTables(tables, { preserveData: true });
1198
1214
  if (track) {
1199
- const name = options?.name ?? `init:${tables.map((t) => t._tableName).join(",")}`;
1215
+ const name = options?.name ?? `init:${tables.map((t) => t.tableName).join(",")}`;
1200
1216
  const already = await this.hasMigration(name);
1201
1217
  if (!already) await this.recordMigration(name);
1202
1218
  }
@@ -1339,7 +1355,7 @@ var TauriORM = class {
1339
1355
  const cols = Object.values(
1340
1356
  tbl._schema
1341
1357
  ).map((c) => this.normalizeColumn(c)).sort((a, b) => a.name.localeCompare(b.name));
1342
- return { table: tbl._tableName, columns: cols };
1358
+ return { table: tbl.tableName, columns: cols };
1343
1359
  });
1344
1360
  entries.sort((a, b) => a.table.localeCompare(b.table));
1345
1361
  return JSON.stringify(entries);
@@ -1377,7 +1393,7 @@ var TauriORM = class {
1377
1393
  const dbi = await this.getDb();
1378
1394
  const result = {};
1379
1395
  for (const tbl of Object.values(this._tables)) {
1380
- const name = tbl._tableName;
1396
+ const name = tbl.tableName;
1381
1397
  const cols = await dbi.select(`PRAGMA table_info('${name}')`);
1382
1398
  result[name] = cols.map((c) => ({
1383
1399
  name: c.name,
@@ -1444,7 +1460,7 @@ var TauriORM = class {
1444
1460
  const tmp = `_new_${tableName}`;
1445
1461
  await this.run(this.buildCreateTableSQL(tbl));
1446
1462
  await this.run(
1447
- this.buildCreateTableSQL({ ...tbl, _tableName: tmp })
1463
+ this.buildCreateTableSQL({ ...tbl, tableName: tmp })
1448
1464
  );
1449
1465
  const existingNames = existingCols.map((c) => c.name);
1450
1466
  const modelNames = modelCols.map((c) => c.name);
@@ -1493,10 +1509,10 @@ function guessChildFk(child, base, rel) {
1493
1509
  return rel.cfg.fields[0];
1494
1510
  const basePk = getPrimaryKey(base);
1495
1511
  const guessNames = [
1496
- `${base._tableName}_id`,
1497
- `${base._tableName}Id`,
1512
+ `${base.tableName}_id`,
1513
+ `${base.tableName}Id`,
1498
1514
  `${basePk.name}`,
1499
- `${base._tableName.slice(0, -1)}Id`
1515
+ `${base.tableName.slice(0, -1)}Id`
1500
1516
  ];
1501
1517
  return childCols.find((c) => guessNames.includes(c.name)) || childCols.find((c) => /.*_id$/i.test(c.name)) || null;
1502
1518
  }
@@ -1525,7 +1541,7 @@ function isFlatWith(spec) {
1525
1541
  function makeQueryAPI(tables, relDefs, dbProvider) {
1526
1542
  const api = {};
1527
1543
  const tableKeyByName = {};
1528
- for (const [k, t] of Object.entries(tables)) tableKeyByName[t._tableName] = k;
1544
+ for (const [k, t] of Object.entries(tables)) tableKeyByName[t.tableName] = k;
1529
1545
  for (const [tblKey, tbl] of Object.entries(tables)) {
1530
1546
  api[tblKey] = {
1531
1547
  async findMany(opts) {
@@ -1546,7 +1562,7 @@ function makeQueryAPI(tables, relDefs, dbProvider) {
1546
1562
  baseSelected2 = baseCols.map((c) => c.name);
1547
1563
  }
1548
1564
  for (const name of baseSelected2)
1549
- selectParts.push(`${base._tableName}.${name} AS __base_${name}`);
1565
+ selectParts.push(`${base.tableName}.${name} AS __base_${name}`);
1550
1566
  const joins = [];
1551
1567
  const relColsMap = {};
1552
1568
  const fkMap = {};
@@ -1560,15 +1576,15 @@ function makeQueryAPI(tables, relDefs, dbProvider) {
1560
1576
  if (rel.kind === "one") {
1561
1577
  const mapping = guessOneRelationJoin(base, rel);
1562
1578
  if (!mapping) continue;
1563
- if (mapping.lhsTable._tableName === child._tableName) {
1579
+ if (mapping.lhsTable.tableName === child.tableName) {
1564
1580
  fkMap[relName] = { childFk: mapping.lhsCol, childPk };
1565
1581
  joins.push(
1566
- `LEFT JOIN ${child._tableName} ON ${mapping.lhsTable._tableName}.${mapping.lhsCol.name} = ${mapping.rhsTable._tableName}.${mapping.rhsCol.name}`
1582
+ `LEFT JOIN ${child.tableName} ON ${mapping.lhsTable.tableName}.${mapping.lhsCol.name} = ${mapping.rhsTable.tableName}.${mapping.rhsCol.name}`
1567
1583
  );
1568
1584
  } else {
1569
1585
  fkMap[relName] = { childFk: mapping.rhsCol, childPk };
1570
1586
  joins.push(
1571
- `LEFT JOIN ${child._tableName} ON ${mapping.lhsTable._tableName}.${mapping.lhsCol.name} = ${mapping.rhsTable._tableName}.${mapping.rhsCol.name}`
1587
+ `LEFT JOIN ${child.tableName} ON ${mapping.lhsTable.tableName}.${mapping.lhsCol.name} = ${mapping.rhsTable.tableName}.${mapping.rhsCol.name}`
1572
1588
  );
1573
1589
  }
1574
1590
  } else {
@@ -1576,17 +1592,17 @@ function makeQueryAPI(tables, relDefs, dbProvider) {
1576
1592
  if (!childFk) continue;
1577
1593
  fkMap[relName] = { childFk, childPk };
1578
1594
  joins.push(
1579
- `LEFT JOIN ${child._tableName} ON ${child._tableName}.${childFk.name} = ${base._tableName}.${basePk.name}`
1595
+ `LEFT JOIN ${child.tableName} ON ${child.tableName}.${childFk.name} = ${base.tableName}.${basePk.name}`
1580
1596
  );
1581
1597
  }
1582
1598
  const selected = typeof enabled === "object" && enabled.columns?.length ? enabled.columns : childCols.map((c) => c.name);
1583
1599
  relColsMap[relName] = selected;
1584
1600
  for (const name of selected)
1585
1601
  selectParts.push(
1586
- `${child._tableName}.${name} AS __rel_${relName}_${name}`
1602
+ `${child.tableName}.${name} AS __rel_${relName}_${name}`
1587
1603
  );
1588
1604
  }
1589
- let sqlText = `SELECT ${selectParts.join(", ")} FROM ${base._tableName}${joins.length ? " " + joins.join(" ") : ""}`;
1605
+ let sqlText = `SELECT ${selectParts.join(", ")} FROM ${base.tableName}${joins.length ? " " + joins.join(" ") : ""}`;
1590
1606
  const bindings = [];
1591
1607
  if (opts?.where) {
1592
1608
  if (typeof opts.where === "function") {
@@ -1600,7 +1616,7 @@ function makeQueryAPI(tables, relDefs, dbProvider) {
1600
1616
  } else {
1601
1617
  const entries = Object.entries(opts.where);
1602
1618
  if (entries.length > 0) {
1603
- sqlText += ` WHERE ${entries.map(([k]) => `${base._tableName}.${k} = ?`).join(" AND ")}`;
1619
+ sqlText += ` WHERE ${entries.map(([k]) => `${base.tableName}.${k} = ?`).join(" AND ")}`;
1604
1620
  bindings.push(...entries.map(([, v]) => v));
1605
1621
  }
1606
1622
  }
@@ -1671,7 +1687,7 @@ function makeQueryAPI(tables, relDefs, dbProvider) {
1671
1687
  (c) => c.name
1672
1688
  );
1673
1689
  }
1674
- let baseSql = `SELECT ${baseSelected.join(", ")} FROM ${base._tableName}`;
1690
+ let baseSql = `SELECT ${baseSelected.join(", ")} FROM ${base.tableName}`;
1675
1691
  const baseBindings = [];
1676
1692
  if (opts?.where) {
1677
1693
  if (typeof opts.where === "function") {
@@ -1702,7 +1718,7 @@ function makeQueryAPI(tables, relDefs, dbProvider) {
1702
1718
  const parentPk = getPrimaryKey(parentTable);
1703
1719
  const parentIds = parents.map((p) => p[parentPk.name]);
1704
1720
  const relsMap = relDefs[Object.keys(tables).find(
1705
- (k) => tables[k]._tableName === parentTable._tableName
1721
+ (k) => tables[k].tableName === parentTable.tableName
1706
1722
  )] || {};
1707
1723
  for (const [relName, v] of Object.entries(spec)) {
1708
1724
  const enabled = v;
@@ -1714,7 +1730,7 @@ function makeQueryAPI(tables, relDefs, dbProvider) {
1714
1730
  if (rel.kind === "many") {
1715
1731
  const fkCol = guessChildFk(child, parentTable, rel);
1716
1732
  if (!fkCol) continue;
1717
- const sql2 = `SELECT ${selectCols.join(", ")} FROM ${child._tableName} WHERE ${fkCol.name} IN (${parentIds.map(() => "?").join(", ")})`;
1733
+ const sql2 = `SELECT ${selectCols.join(", ")} FROM ${child.tableName} WHERE ${fkCol.name} IN (${parentIds.map(() => "?").join(", ")})`;
1718
1734
  const rows = await dbi.select(sql2, parentIds);
1719
1735
  const buckets = /* @__PURE__ */ new Map();
1720
1736
  for (const r of rows) {
@@ -1734,8 +1750,8 @@ function makeQueryAPI(tables, relDefs, dbProvider) {
1734
1750
  } else {
1735
1751
  const mapping = guessOneRelationJoin(parentTable, rel);
1736
1752
  if (!mapping) continue;
1737
- if (mapping.lhsTable._tableName === child._tableName) {
1738
- const sql2 = `SELECT ${selectCols.join(", ")} FROM ${child._tableName} WHERE ${mapping.lhsCol.name} IN (${parentIds.map(() => "?").join(", ")})`;
1753
+ if (mapping.lhsTable.tableName === child.tableName) {
1754
+ const sql2 = `SELECT ${selectCols.join(", ")} FROM ${child.tableName} WHERE ${mapping.lhsCol.name} IN (${parentIds.map(() => "?").join(", ")})`;
1739
1755
  const rows = await dbi.select(sql2, parentIds);
1740
1756
  const mapOne = /* @__PURE__ */ new Map();
1741
1757
  for (const r of rows) mapOne.set(r[mapping.lhsCol.name], r);
@@ -1748,7 +1764,7 @@ function makeQueryAPI(tables, relDefs, dbProvider) {
1748
1764
  if (childIds.length === 0) {
1749
1765
  for (const p of parents) p[relName] = null;
1750
1766
  } else {
1751
- const sql2 = `SELECT ${selectCols.join(", ")} FROM ${child._tableName} WHERE ${childPkName} IN (${childIds.map(() => "?").join(", ")})`;
1767
+ const sql2 = `SELECT ${selectCols.join(", ")} FROM ${child.tableName} WHERE ${childPkName} IN (${childIds.map(() => "?").join(", ")})`;
1752
1768
  const rows = await dbi.select(sql2, childIds);
1753
1769
  const mapOne = /* @__PURE__ */ new Map();
1754
1770
  for (const r of rows) mapOne.set(r[childPkName], r);
package/dist/index.mjs CHANGED
@@ -428,7 +428,7 @@ var desc = (column) => `${getQualifiedName(column)} DESC`;
428
428
  // src/orm.ts
429
429
  function getTableName(table) {
430
430
  const anyTable = table;
431
- return anyTable._tableName || anyTable.tableName || anyTable.name || "";
431
+ return anyTable.tableName || anyTable.name || "";
432
432
  }
433
433
  var SelectQueryBuilder = class {
434
434
  _table = null;
@@ -480,7 +480,7 @@ var SelectQueryBuilder = class {
480
480
  }
481
481
  leftJoin(otherTable, on) {
482
482
  const onSql = on.toSQL();
483
- const joinClause = `LEFT JOIN ${otherTable._tableName} ON ${onSql.clause}`;
483
+ const joinClause = `LEFT JOIN ${otherTable.tableName} ON ${onSql.clause}`;
484
484
  this._joins.push(joinClause);
485
485
  return this;
486
486
  }
@@ -687,14 +687,30 @@ var TauriORM = class {
687
687
  if (finalData[key] === void 0) {
688
688
  if (col.defaultFn) {
689
689
  finalData[key] = coerceValue2(col, col.defaultFn());
690
- } else if (col.onUpdateFn) {
690
+ } else if (col.onUpdateFn && !this._rows.includes(data)) {
691
691
  finalData[key] = coerceValue2(col, col.onUpdateFn());
692
692
  }
693
693
  }
694
694
  }
695
- const entries = Object.entries(finalData);
696
- const keys = entries.map(([k]) => schema[k]?.name ?? k);
697
- const values = entries.map(([k, v]) => coerceValue2(schema[k], v));
695
+ const entries = Object.entries(finalData).filter(
696
+ ([_, value]) => value !== void 0
697
+ );
698
+ const keys = entries.map(([k]) => {
699
+ const col = schema[k];
700
+ return col?.name ?? k;
701
+ });
702
+ const values = entries.map(([k, v]) => {
703
+ const col = schema[k];
704
+ return coerceValue2(col, v);
705
+ });
706
+ if (keys.length === 0) {
707
+ let query2 = `INSERT INTO ${tableName} DEFAULT VALUES`;
708
+ const bindings2 = [];
709
+ query2 += this._buildConflictClause();
710
+ const ret2 = await this._executeWithReturning(db, query2, bindings2);
711
+ if (ret2 !== void 0) return ret2;
712
+ continue;
713
+ }
698
714
  const placeholders = values.map(() => "?").join(", ");
699
715
  let query = `INSERT INTO ${tableName} (${keys.join(
700
716
  ", "
@@ -835,7 +851,7 @@ var TauriORM = class {
835
851
  }
836
852
  }
837
853
  let query = `UPDATE ${tableName} SET ${setParts.join(", ")}`;
838
- if (this._from) query += ` FROM ${this._from._tableName}`;
854
+ if (this._from) query += ` FROM ${this._from.tableName}`;
839
855
  if (this._where) {
840
856
  if (typeof this._where.toSQL === "function") {
841
857
  const sql2 = this._where.toSQL();
@@ -1071,7 +1087,7 @@ var TauriORM = class {
1071
1087
  }
1072
1088
  }
1073
1089
  generateCreateIndexSqls(table) {
1074
- const tableName = table._tableName;
1090
+ const tableName = table.tableName;
1075
1091
  const indexes = table._indexes || [];
1076
1092
  const stmts = [];
1077
1093
  for (const idx of indexes) {
@@ -1118,7 +1134,7 @@ var TauriORM = class {
1118
1134
  }
1119
1135
  await this.forcePushForTables(tables, { preserveData: true });
1120
1136
  if (track) {
1121
- const name = options?.name ?? `init:${tables.map((t) => t._tableName).join(",")}`;
1137
+ const name = options?.name ?? `init:${tables.map((t) => t.tableName).join(",")}`;
1122
1138
  const already = await this.hasMigration(name);
1123
1139
  if (!already) await this.recordMigration(name);
1124
1140
  }
@@ -1261,7 +1277,7 @@ var TauriORM = class {
1261
1277
  const cols = Object.values(
1262
1278
  tbl._schema
1263
1279
  ).map((c) => this.normalizeColumn(c)).sort((a, b) => a.name.localeCompare(b.name));
1264
- return { table: tbl._tableName, columns: cols };
1280
+ return { table: tbl.tableName, columns: cols };
1265
1281
  });
1266
1282
  entries.sort((a, b) => a.table.localeCompare(b.table));
1267
1283
  return JSON.stringify(entries);
@@ -1299,7 +1315,7 @@ var TauriORM = class {
1299
1315
  const dbi = await this.getDb();
1300
1316
  const result = {};
1301
1317
  for (const tbl of Object.values(this._tables)) {
1302
- const name = tbl._tableName;
1318
+ const name = tbl.tableName;
1303
1319
  const cols = await dbi.select(`PRAGMA table_info('${name}')`);
1304
1320
  result[name] = cols.map((c) => ({
1305
1321
  name: c.name,
@@ -1366,7 +1382,7 @@ var TauriORM = class {
1366
1382
  const tmp = `_new_${tableName}`;
1367
1383
  await this.run(this.buildCreateTableSQL(tbl));
1368
1384
  await this.run(
1369
- this.buildCreateTableSQL({ ...tbl, _tableName: tmp })
1385
+ this.buildCreateTableSQL({ ...tbl, tableName: tmp })
1370
1386
  );
1371
1387
  const existingNames = existingCols.map((c) => c.name);
1372
1388
  const modelNames = modelCols.map((c) => c.name);
@@ -1415,10 +1431,10 @@ function guessChildFk(child, base, rel) {
1415
1431
  return rel.cfg.fields[0];
1416
1432
  const basePk = getPrimaryKey(base);
1417
1433
  const guessNames = [
1418
- `${base._tableName}_id`,
1419
- `${base._tableName}Id`,
1434
+ `${base.tableName}_id`,
1435
+ `${base.tableName}Id`,
1420
1436
  `${basePk.name}`,
1421
- `${base._tableName.slice(0, -1)}Id`
1437
+ `${base.tableName.slice(0, -1)}Id`
1422
1438
  ];
1423
1439
  return childCols.find((c) => guessNames.includes(c.name)) || childCols.find((c) => /.*_id$/i.test(c.name)) || null;
1424
1440
  }
@@ -1447,7 +1463,7 @@ function isFlatWith(spec) {
1447
1463
  function makeQueryAPI(tables, relDefs, dbProvider) {
1448
1464
  const api = {};
1449
1465
  const tableKeyByName = {};
1450
- for (const [k, t] of Object.entries(tables)) tableKeyByName[t._tableName] = k;
1466
+ for (const [k, t] of Object.entries(tables)) tableKeyByName[t.tableName] = k;
1451
1467
  for (const [tblKey, tbl] of Object.entries(tables)) {
1452
1468
  api[tblKey] = {
1453
1469
  async findMany(opts) {
@@ -1468,7 +1484,7 @@ function makeQueryAPI(tables, relDefs, dbProvider) {
1468
1484
  baseSelected2 = baseCols.map((c) => c.name);
1469
1485
  }
1470
1486
  for (const name of baseSelected2)
1471
- selectParts.push(`${base._tableName}.${name} AS __base_${name}`);
1487
+ selectParts.push(`${base.tableName}.${name} AS __base_${name}`);
1472
1488
  const joins = [];
1473
1489
  const relColsMap = {};
1474
1490
  const fkMap = {};
@@ -1482,15 +1498,15 @@ function makeQueryAPI(tables, relDefs, dbProvider) {
1482
1498
  if (rel.kind === "one") {
1483
1499
  const mapping = guessOneRelationJoin(base, rel);
1484
1500
  if (!mapping) continue;
1485
- if (mapping.lhsTable._tableName === child._tableName) {
1501
+ if (mapping.lhsTable.tableName === child.tableName) {
1486
1502
  fkMap[relName] = { childFk: mapping.lhsCol, childPk };
1487
1503
  joins.push(
1488
- `LEFT JOIN ${child._tableName} ON ${mapping.lhsTable._tableName}.${mapping.lhsCol.name} = ${mapping.rhsTable._tableName}.${mapping.rhsCol.name}`
1504
+ `LEFT JOIN ${child.tableName} ON ${mapping.lhsTable.tableName}.${mapping.lhsCol.name} = ${mapping.rhsTable.tableName}.${mapping.rhsCol.name}`
1489
1505
  );
1490
1506
  } else {
1491
1507
  fkMap[relName] = { childFk: mapping.rhsCol, childPk };
1492
1508
  joins.push(
1493
- `LEFT JOIN ${child._tableName} ON ${mapping.lhsTable._tableName}.${mapping.lhsCol.name} = ${mapping.rhsTable._tableName}.${mapping.rhsCol.name}`
1509
+ `LEFT JOIN ${child.tableName} ON ${mapping.lhsTable.tableName}.${mapping.lhsCol.name} = ${mapping.rhsTable.tableName}.${mapping.rhsCol.name}`
1494
1510
  );
1495
1511
  }
1496
1512
  } else {
@@ -1498,17 +1514,17 @@ function makeQueryAPI(tables, relDefs, dbProvider) {
1498
1514
  if (!childFk) continue;
1499
1515
  fkMap[relName] = { childFk, childPk };
1500
1516
  joins.push(
1501
- `LEFT JOIN ${child._tableName} ON ${child._tableName}.${childFk.name} = ${base._tableName}.${basePk.name}`
1517
+ `LEFT JOIN ${child.tableName} ON ${child.tableName}.${childFk.name} = ${base.tableName}.${basePk.name}`
1502
1518
  );
1503
1519
  }
1504
1520
  const selected = typeof enabled === "object" && enabled.columns?.length ? enabled.columns : childCols.map((c) => c.name);
1505
1521
  relColsMap[relName] = selected;
1506
1522
  for (const name of selected)
1507
1523
  selectParts.push(
1508
- `${child._tableName}.${name} AS __rel_${relName}_${name}`
1524
+ `${child.tableName}.${name} AS __rel_${relName}_${name}`
1509
1525
  );
1510
1526
  }
1511
- let sqlText = `SELECT ${selectParts.join(", ")} FROM ${base._tableName}${joins.length ? " " + joins.join(" ") : ""}`;
1527
+ let sqlText = `SELECT ${selectParts.join(", ")} FROM ${base.tableName}${joins.length ? " " + joins.join(" ") : ""}`;
1512
1528
  const bindings = [];
1513
1529
  if (opts?.where) {
1514
1530
  if (typeof opts.where === "function") {
@@ -1522,7 +1538,7 @@ function makeQueryAPI(tables, relDefs, dbProvider) {
1522
1538
  } else {
1523
1539
  const entries = Object.entries(opts.where);
1524
1540
  if (entries.length > 0) {
1525
- sqlText += ` WHERE ${entries.map(([k]) => `${base._tableName}.${k} = ?`).join(" AND ")}`;
1541
+ sqlText += ` WHERE ${entries.map(([k]) => `${base.tableName}.${k} = ?`).join(" AND ")}`;
1526
1542
  bindings.push(...entries.map(([, v]) => v));
1527
1543
  }
1528
1544
  }
@@ -1593,7 +1609,7 @@ function makeQueryAPI(tables, relDefs, dbProvider) {
1593
1609
  (c) => c.name
1594
1610
  );
1595
1611
  }
1596
- let baseSql = `SELECT ${baseSelected.join(", ")} FROM ${base._tableName}`;
1612
+ let baseSql = `SELECT ${baseSelected.join(", ")} FROM ${base.tableName}`;
1597
1613
  const baseBindings = [];
1598
1614
  if (opts?.where) {
1599
1615
  if (typeof opts.where === "function") {
@@ -1624,7 +1640,7 @@ function makeQueryAPI(tables, relDefs, dbProvider) {
1624
1640
  const parentPk = getPrimaryKey(parentTable);
1625
1641
  const parentIds = parents.map((p) => p[parentPk.name]);
1626
1642
  const relsMap = relDefs[Object.keys(tables).find(
1627
- (k) => tables[k]._tableName === parentTable._tableName
1643
+ (k) => tables[k].tableName === parentTable.tableName
1628
1644
  )] || {};
1629
1645
  for (const [relName, v] of Object.entries(spec)) {
1630
1646
  const enabled = v;
@@ -1636,7 +1652,7 @@ function makeQueryAPI(tables, relDefs, dbProvider) {
1636
1652
  if (rel.kind === "many") {
1637
1653
  const fkCol = guessChildFk(child, parentTable, rel);
1638
1654
  if (!fkCol) continue;
1639
- const sql2 = `SELECT ${selectCols.join(", ")} FROM ${child._tableName} WHERE ${fkCol.name} IN (${parentIds.map(() => "?").join(", ")})`;
1655
+ const sql2 = `SELECT ${selectCols.join(", ")} FROM ${child.tableName} WHERE ${fkCol.name} IN (${parentIds.map(() => "?").join(", ")})`;
1640
1656
  const rows = await dbi.select(sql2, parentIds);
1641
1657
  const buckets = /* @__PURE__ */ new Map();
1642
1658
  for (const r of rows) {
@@ -1656,8 +1672,8 @@ function makeQueryAPI(tables, relDefs, dbProvider) {
1656
1672
  } else {
1657
1673
  const mapping = guessOneRelationJoin(parentTable, rel);
1658
1674
  if (!mapping) continue;
1659
- if (mapping.lhsTable._tableName === child._tableName) {
1660
- const sql2 = `SELECT ${selectCols.join(", ")} FROM ${child._tableName} WHERE ${mapping.lhsCol.name} IN (${parentIds.map(() => "?").join(", ")})`;
1675
+ if (mapping.lhsTable.tableName === child.tableName) {
1676
+ const sql2 = `SELECT ${selectCols.join(", ")} FROM ${child.tableName} WHERE ${mapping.lhsCol.name} IN (${parentIds.map(() => "?").join(", ")})`;
1661
1677
  const rows = await dbi.select(sql2, parentIds);
1662
1678
  const mapOne = /* @__PURE__ */ new Map();
1663
1679
  for (const r of rows) mapOne.set(r[mapping.lhsCol.name], r);
@@ -1670,7 +1686,7 @@ function makeQueryAPI(tables, relDefs, dbProvider) {
1670
1686
  if (childIds.length === 0) {
1671
1687
  for (const p of parents) p[relName] = null;
1672
1688
  } else {
1673
- const sql2 = `SELECT ${selectCols.join(", ")} FROM ${child._tableName} WHERE ${childPkName} IN (${childIds.map(() => "?").join(", ")})`;
1689
+ const sql2 = `SELECT ${selectCols.join(", ")} FROM ${child.tableName} WHERE ${childPkName} IN (${childIds.map(() => "?").join(", ")})`;
1674
1690
  const rows = await dbi.select(sql2, childIds);
1675
1691
  const mapOne = /* @__PURE__ */ new Map();
1676
1692
  for (const r of rows) mapOne.set(r[childPkName], r);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@type32/tauri-sqlite-orm",
3
- "version": "0.1.16",
3
+ "version": "0.1.17",
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",