dexie 4.0.7 → 4.0.8
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/dexie.d.ts +12 -10
- package/dist/dexie.js +27 -23
- package/dist/dexie.js.map +1 -1
- package/dist/dexie.min.js +1 -1
- package/dist/dexie.min.js.map +1 -1
- package/dist/dexie.mjs +27 -23
- package/dist/dexie.mjs.map +1 -1
- package/dist/modern/dexie.min.mjs +1 -1
- package/dist/modern/dexie.min.mjs.map +1 -1
- package/dist/modern/dexie.mjs +27 -23
- package/dist/modern/dexie.mjs.map +1 -1
- package/package.json +2 -2
package/dist/dexie.mjs
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* By David Fahlander, david.fahlander@gmail.com
|
|
6
6
|
*
|
|
7
|
-
* Version 4.0.
|
|
7
|
+
* Version 4.0.8, Wed Jul 10 2024
|
|
8
8
|
*
|
|
9
9
|
* https://dexie.org
|
|
10
10
|
*
|
|
@@ -1144,7 +1144,7 @@ function tempTransaction(db, mode, storeNames, fn) {
|
|
|
1144
1144
|
}
|
|
1145
1145
|
}
|
|
1146
1146
|
|
|
1147
|
-
var DEXIE_VERSION = '4.0.
|
|
1147
|
+
var DEXIE_VERSION = '4.0.8';
|
|
1148
1148
|
var maxString = String.fromCharCode(65535);
|
|
1149
1149
|
var minKey = -Infinity;
|
|
1150
1150
|
var INVALID_KEY_ARGUMENT = "Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.";
|
|
@@ -3793,6 +3793,10 @@ props(RangeSet.prototype, (_a = {
|
|
|
3793
3793
|
var _this = this;
|
|
3794
3794
|
keys.forEach(function (key) { return addRange(_this, key, key); });
|
|
3795
3795
|
return this;
|
|
3796
|
+
},
|
|
3797
|
+
hasKey: function (key) {
|
|
3798
|
+
var node = getRangeSetIterator(this).next(key).value;
|
|
3799
|
+
return node && cmp(node.from, key) <= 0 && cmp(node.to, key) >= 0;
|
|
3796
3800
|
}
|
|
3797
3801
|
},
|
|
3798
3802
|
_a[iteratorSymbol] = function () {
|
|
@@ -4854,19 +4858,23 @@ function applyOptimisticOps(result, req, ops, table, cacheEntry, immutable) {
|
|
|
4854
4858
|
var extractLowLevelIndex = (index.lowLevelIndex || index).extractKey;
|
|
4855
4859
|
var finalResult = ops.reduce(function (result, op) {
|
|
4856
4860
|
var modifedResult = result;
|
|
4857
|
-
var includedValues =
|
|
4858
|
-
|
|
4859
|
-
|
|
4860
|
-
|
|
4861
|
+
var includedValues = [];
|
|
4862
|
+
if (op.type === 'add' || op.type === 'put') {
|
|
4863
|
+
var includedPKs = new RangeSet();
|
|
4864
|
+
for (var i = op.values.length - 1; i >= 0; --i) {
|
|
4865
|
+
var value = op.values[i];
|
|
4866
|
+
var pk = extractPrimKey(value);
|
|
4867
|
+
if (includedPKs.hasKey(pk))
|
|
4868
|
+
continue;
|
|
4869
|
+
var key = extractIndex(value);
|
|
4870
|
+
if (multiEntry && isArray(key)
|
|
4861
4871
|
? key.some(function (k) { return isWithinRange(k, queryRange); })
|
|
4862
|
-
: isWithinRange(key, queryRange)
|
|
4863
|
-
|
|
4864
|
-
|
|
4865
|
-
|
|
4866
|
-
|
|
4867
|
-
|
|
4868
|
-
})
|
|
4869
|
-
: [];
|
|
4872
|
+
: isWithinRange(key, queryRange)) {
|
|
4873
|
+
includedPKs.addKey(pk);
|
|
4874
|
+
includedValues.push(value);
|
|
4875
|
+
}
|
|
4876
|
+
}
|
|
4877
|
+
}
|
|
4870
4878
|
switch (op.type) {
|
|
4871
4879
|
case 'add':
|
|
4872
4880
|
modifedResult = result.concat(req.values
|
|
@@ -4876,20 +4884,16 @@ function applyOptimisticOps(result, req, ops, table, cacheEntry, immutable) {
|
|
|
4876
4884
|
case 'put':
|
|
4877
4885
|
var keySet_1 = new RangeSet().addKeys(op.values.map(function (v) { return extractPrimKey(v); }));
|
|
4878
4886
|
modifedResult = result
|
|
4879
|
-
.filter(
|
|
4880
|
-
|
|
4881
|
-
|
|
4882
|
-
|
|
4883
|
-
.concat(req.values
|
|
4887
|
+
.filter(
|
|
4888
|
+
function (item) { return !keySet_1.hasKey(req.values ? extractPrimKey(item) : item); })
|
|
4889
|
+
.concat(
|
|
4890
|
+
req.values
|
|
4884
4891
|
? includedValues
|
|
4885
4892
|
: includedValues.map(function (v) { return extractPrimKey(v); }));
|
|
4886
4893
|
break;
|
|
4887
4894
|
case 'delete':
|
|
4888
4895
|
var keysToDelete_1 = new RangeSet().addKeys(op.keys);
|
|
4889
|
-
modifedResult = result.filter(function (item) {
|
|
4890
|
-
var key = req.values ? extractPrimKey(item) : item;
|
|
4891
|
-
return !rangesOverlap(new RangeSet(key), keysToDelete_1);
|
|
4892
|
-
});
|
|
4896
|
+
modifedResult = result.filter(function (item) { return !keysToDelete_1.hasKey(req.values ? extractPrimKey(item) : item); });
|
|
4893
4897
|
break;
|
|
4894
4898
|
case 'deleteRange':
|
|
4895
4899
|
var range_1 = op.range;
|