@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 +39 -10
- package/dist/index.mjs +39 -10
- package/package.json +1 -1
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
|
|
746
|
-
const
|
|
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
|
-
|
|
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
|
-
|
|
872
|
+
const colName = schema[k]?.name ?? k;
|
|
873
|
+
setParts.push(`${colName} = ${s.clause}`);
|
|
854
874
|
bindings.push(...s.bindings);
|
|
855
875
|
} else {
|
|
856
|
-
|
|
857
|
-
|
|
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
|
-
|
|
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
|
|
668
|
-
const
|
|
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
|
-
|
|
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
|
-
|
|
794
|
+
const colName = schema[k]?.name ?? k;
|
|
795
|
+
setParts.push(`${colName} = ${s.clause}`);
|
|
776
796
|
bindings.push(...s.bindings);
|
|
777
797
|
} else {
|
|
778
|
-
|
|
779
|
-
|
|
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
|
-
|
|
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
|
}
|