@type32/tauri-sqlite-orm 0.1.9 → 0.1.10

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
@@ -731,19 +731,32 @@ var TauriORM = class {
731
731
  return ret;
732
732
  }
733
733
  for (const data of this._rows) {
734
+ let coerceValue2 = function(col, value) {
735
+ if (col && col.mode === "boolean") {
736
+ return value ? 1 : 0;
737
+ }
738
+ if (value instanceof Date) {
739
+ if (col && col.mode === "timestamp_ms") return value.getTime();
740
+ if (col && col.mode === "timestamp")
741
+ return Math.floor(value.getTime() / 1e3);
742
+ }
743
+ return value;
744
+ };
745
+ var coerceValue = coerceValue2;
734
746
  const finalData = Object.assign({}, data);
735
747
  const schema = this._table._schema;
736
748
  for (const [key, col] of Object.entries(schema)) {
737
749
  if (finalData[key] === void 0) {
738
750
  if (col.defaultFn) {
739
- finalData[key] = col.defaultFn();
751
+ finalData[key] = coerceValue2(col, col.defaultFn());
740
752
  } else if (col.onUpdateFn) {
741
- finalData[key] = col.onUpdateFn();
753
+ finalData[key] = coerceValue2(col, col.onUpdateFn());
742
754
  }
743
755
  }
744
756
  }
745
- const keys = Object.keys(finalData);
746
- const values = Object.values(finalData);
757
+ const entries = Object.entries(finalData);
758
+ const keys = entries.map(([k]) => schema[k]?.name ?? k);
759
+ const values = entries.map(([k, v]) => coerceValue2(schema[k], v));
747
760
  const placeholders = values.map(() => "?").join(", ");
748
761
  let query = `INSERT INTO ${this._table._tableName} (${keys.join(", ")}) VALUES (${placeholders})`;
749
762
  const bindings = [...values];
@@ -841,7 +854,13 @@ var TauriORM = class {
841
854
  const dataToSet = { ...this._data };
842
855
  for (const [key, col] of Object.entries(schema)) {
843
856
  if (!(key in dataToSet) && col.onUpdateFn) {
844
- dataToSet[key] = col.onUpdateFn();
857
+ const v = col.onUpdateFn();
858
+ if (col.mode === "boolean") dataToSet[key] = v ? 1 : 0;
859
+ else if (v instanceof Date) {
860
+ if (col.mode === "timestamp_ms") dataToSet[key] = v.getTime();
861
+ else if (col.mode === "timestamp") dataToSet[key] = Math.floor(v.getTime() / 1e3);
862
+ else dataToSet[key] = v;
863
+ } else dataToSet[key] = v;
845
864
  }
846
865
  }
847
866
  const setParts = [];
@@ -850,11 +869,20 @@ var TauriORM = class {
850
869
  if (v === void 0) continue;
851
870
  if (v && typeof v === "object" && typeof v.toSQL === "function") {
852
871
  const s = v.toSQL();
853
- setParts.push(`${k} = ${s.clause}`);
872
+ const colName = schema[k]?.name ?? k;
873
+ setParts.push(`${colName} = ${s.clause}`);
854
874
  bindings.push(...s.bindings);
855
875
  } else {
856
- setParts.push(`${k} = ?`);
857
- bindings.push(v);
876
+ const colName = schema[k]?.name ?? k;
877
+ let val = v;
878
+ const col = schema[k];
879
+ if (col && col.mode === "boolean") val = v ? 1 : 0;
880
+ else if (v instanceof Date) {
881
+ if (col && col.mode === "timestamp_ms") val = v.getTime();
882
+ else if (col && col.mode === "timestamp") val = Math.floor(v.getTime() / 1e3);
883
+ }
884
+ setParts.push(`${colName} = ?`);
885
+ bindings.push(val);
858
886
  }
859
887
  }
860
888
  let query = `UPDATE ${this._table._tableName} SET ${setParts.join(", ")}`;
@@ -867,7 +895,7 @@ var TauriORM = class {
867
895
  } else {
868
896
  const entries = Object.entries(this._where);
869
897
  if (entries.length > 0) {
870
- query += ` WHERE ${entries.map(([k]) => `${k} = ?`).join(" AND ")}`;
898
+ query += ` WHERE ${entries.map(([k]) => `${schema[k]?.name ?? k} = ?`).join(" AND ")}`;
871
899
  bindings.push(...entries.map(([, v]) => v));
872
900
  }
873
901
  }
@@ -943,7 +971,8 @@ var TauriORM = class {
943
971
  } else {
944
972
  const entries = Object.entries(this._where);
945
973
  if (entries.length > 0) {
946
- query += ` WHERE ${entries.map(([k]) => `${k} = ?`).join(" AND ")}`;
974
+ const schema = this._table._schema;
975
+ query += ` WHERE ${entries.map(([k]) => `${schema[k]?.name ?? k} = ?`).join(" AND ")}`;
947
976
  bindings.push(...entries.map(([, v]) => v));
948
977
  }
949
978
  }
package/dist/index.mjs CHANGED
@@ -653,19 +653,32 @@ var TauriORM = class {
653
653
  return ret;
654
654
  }
655
655
  for (const data of this._rows) {
656
+ let coerceValue2 = function(col, value) {
657
+ if (col && col.mode === "boolean") {
658
+ return value ? 1 : 0;
659
+ }
660
+ if (value instanceof Date) {
661
+ if (col && col.mode === "timestamp_ms") return value.getTime();
662
+ if (col && col.mode === "timestamp")
663
+ return Math.floor(value.getTime() / 1e3);
664
+ }
665
+ return value;
666
+ };
667
+ var coerceValue = coerceValue2;
656
668
  const finalData = Object.assign({}, data);
657
669
  const schema = this._table._schema;
658
670
  for (const [key, col] of Object.entries(schema)) {
659
671
  if (finalData[key] === void 0) {
660
672
  if (col.defaultFn) {
661
- finalData[key] = col.defaultFn();
673
+ finalData[key] = coerceValue2(col, col.defaultFn());
662
674
  } else if (col.onUpdateFn) {
663
- finalData[key] = col.onUpdateFn();
675
+ finalData[key] = coerceValue2(col, col.onUpdateFn());
664
676
  }
665
677
  }
666
678
  }
667
- const keys = Object.keys(finalData);
668
- const values = Object.values(finalData);
679
+ const entries = Object.entries(finalData);
680
+ const keys = entries.map(([k]) => schema[k]?.name ?? k);
681
+ const values = entries.map(([k, v]) => coerceValue2(schema[k], v));
669
682
  const placeholders = values.map(() => "?").join(", ");
670
683
  let query = `INSERT INTO ${this._table._tableName} (${keys.join(", ")}) VALUES (${placeholders})`;
671
684
  const bindings = [...values];
@@ -763,7 +776,13 @@ var TauriORM = class {
763
776
  const dataToSet = { ...this._data };
764
777
  for (const [key, col] of Object.entries(schema)) {
765
778
  if (!(key in dataToSet) && col.onUpdateFn) {
766
- dataToSet[key] = col.onUpdateFn();
779
+ const v = col.onUpdateFn();
780
+ if (col.mode === "boolean") dataToSet[key] = v ? 1 : 0;
781
+ else if (v instanceof Date) {
782
+ if (col.mode === "timestamp_ms") dataToSet[key] = v.getTime();
783
+ else if (col.mode === "timestamp") dataToSet[key] = Math.floor(v.getTime() / 1e3);
784
+ else dataToSet[key] = v;
785
+ } else dataToSet[key] = v;
767
786
  }
768
787
  }
769
788
  const setParts = [];
@@ -772,11 +791,20 @@ var TauriORM = class {
772
791
  if (v === void 0) continue;
773
792
  if (v && typeof v === "object" && typeof v.toSQL === "function") {
774
793
  const s = v.toSQL();
775
- setParts.push(`${k} = ${s.clause}`);
794
+ const colName = schema[k]?.name ?? k;
795
+ setParts.push(`${colName} = ${s.clause}`);
776
796
  bindings.push(...s.bindings);
777
797
  } else {
778
- setParts.push(`${k} = ?`);
779
- bindings.push(v);
798
+ const colName = schema[k]?.name ?? k;
799
+ let val = v;
800
+ const col = schema[k];
801
+ if (col && col.mode === "boolean") val = v ? 1 : 0;
802
+ else if (v instanceof Date) {
803
+ if (col && col.mode === "timestamp_ms") val = v.getTime();
804
+ else if (col && col.mode === "timestamp") val = Math.floor(v.getTime() / 1e3);
805
+ }
806
+ setParts.push(`${colName} = ?`);
807
+ bindings.push(val);
780
808
  }
781
809
  }
782
810
  let query = `UPDATE ${this._table._tableName} SET ${setParts.join(", ")}`;
@@ -789,7 +817,7 @@ var TauriORM = class {
789
817
  } else {
790
818
  const entries = Object.entries(this._where);
791
819
  if (entries.length > 0) {
792
- query += ` WHERE ${entries.map(([k]) => `${k} = ?`).join(" AND ")}`;
820
+ query += ` WHERE ${entries.map(([k]) => `${schema[k]?.name ?? k} = ?`).join(" AND ")}`;
793
821
  bindings.push(...entries.map(([, v]) => v));
794
822
  }
795
823
  }
@@ -865,7 +893,8 @@ var TauriORM = class {
865
893
  } else {
866
894
  const entries = Object.entries(this._where);
867
895
  if (entries.length > 0) {
868
- query += ` WHERE ${entries.map(([k]) => `${k} = ?`).join(" AND ")}`;
896
+ const schema = this._table._schema;
897
+ query += ` WHERE ${entries.map(([k]) => `${schema[k]?.name ?? k} = ?`).join(" AND ")}`;
869
898
  bindings.push(...entries.map(([, v]) => v));
870
899
  }
871
900
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@type32/tauri-sqlite-orm",
3
- "version": "0.1.9",
3
+ "version": "0.1.10",
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",