dexie 3.2.0-beta.3 → 3.2.0
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 -9
- package/dist/dexie.js +188 -118
- 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 +187 -118
- 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 +173 -110
- package/dist/modern/dexie.mjs.map +1 -1
- package/package.json +4 -4
package/dist/dexie.mjs
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* By David Fahlander, david.fahlander@gmail.com
|
|
6
6
|
*
|
|
7
|
-
* Version 3.2.0
|
|
7
|
+
* Version 3.2.0, Thu Nov 18 2021
|
|
8
8
|
*
|
|
9
9
|
* http://dexie.org
|
|
10
10
|
*
|
|
@@ -33,10 +33,14 @@ var __assign = function() {
|
|
|
33
33
|
};
|
|
34
34
|
return __assign.apply(this, arguments);
|
|
35
35
|
};
|
|
36
|
-
function __spreadArray(to, from) {
|
|
37
|
-
for (var i = 0,
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
function __spreadArray(to, from, pack) {
|
|
37
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
38
|
+
if (ar || !(i in from)) {
|
|
39
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
40
|
+
ar[i] = from[i];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
40
44
|
}
|
|
41
45
|
|
|
42
46
|
var _global = typeof globalThis !== 'undefined' ? globalThis :
|
|
@@ -1271,7 +1275,7 @@ function tempTransaction(db, mode, storeNames, fn) {
|
|
|
1271
1275
|
}
|
|
1272
1276
|
}
|
|
1273
1277
|
|
|
1274
|
-
var DEXIE_VERSION = '3.2.0
|
|
1278
|
+
var DEXIE_VERSION = '3.2.0';
|
|
1275
1279
|
var maxString = String.fromCharCode(65535);
|
|
1276
1280
|
var minKey = -Infinity;
|
|
1277
1281
|
var INVALID_KEY_ARGUMENT = "Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.";
|
|
@@ -1293,37 +1297,11 @@ function combine(filter1, filter2) {
|
|
|
1293
1297
|
filter2;
|
|
1294
1298
|
}
|
|
1295
1299
|
|
|
1296
|
-
var domDeps;
|
|
1297
|
-
try {
|
|
1298
|
-
domDeps = {
|
|
1299
|
-
indexedDB: _global.indexedDB || _global.mozIndexedDB || _global.webkitIndexedDB || _global.msIndexedDB,
|
|
1300
|
-
IDBKeyRange: _global.IDBKeyRange || _global.webkitIDBKeyRange
|
|
1301
|
-
};
|
|
1302
|
-
}
|
|
1303
|
-
catch (e) {
|
|
1304
|
-
domDeps = { indexedDB: null, IDBKeyRange: null };
|
|
1305
|
-
}
|
|
1306
|
-
|
|
1307
|
-
function safariMultiStoreFix(storeNames) {
|
|
1308
|
-
return storeNames.length === 1 ? storeNames[0] : storeNames;
|
|
1309
|
-
}
|
|
1310
|
-
var getMaxKey = function (IdbKeyRange) {
|
|
1311
|
-
try {
|
|
1312
|
-
IdbKeyRange.only([[]]);
|
|
1313
|
-
getMaxKey = function () { return [[]]; };
|
|
1314
|
-
return [[]];
|
|
1315
|
-
}
|
|
1316
|
-
catch (e) {
|
|
1317
|
-
getMaxKey = function () { return maxString; };
|
|
1318
|
-
return maxString;
|
|
1319
|
-
}
|
|
1320
|
-
};
|
|
1321
|
-
|
|
1322
1300
|
var AnyRange = {
|
|
1323
1301
|
type: 3 ,
|
|
1324
1302
|
lower: -Infinity,
|
|
1325
1303
|
lowerOpen: false,
|
|
1326
|
-
|
|
1304
|
+
upper: [[]],
|
|
1327
1305
|
upperOpen: false
|
|
1328
1306
|
};
|
|
1329
1307
|
|
|
@@ -1791,6 +1769,82 @@ function iterate(cursorPromise, filter, fn, valueMapper) {
|
|
|
1791
1769
|
});
|
|
1792
1770
|
}
|
|
1793
1771
|
|
|
1772
|
+
function cmp(a, b) {
|
|
1773
|
+
try {
|
|
1774
|
+
var ta = type(a);
|
|
1775
|
+
var tb = type(b);
|
|
1776
|
+
if (ta !== tb) {
|
|
1777
|
+
if (ta === 'Array')
|
|
1778
|
+
return 1;
|
|
1779
|
+
if (tb === 'Array')
|
|
1780
|
+
return -1;
|
|
1781
|
+
if (ta === 'binary')
|
|
1782
|
+
return 1;
|
|
1783
|
+
if (tb === 'binary')
|
|
1784
|
+
return -1;
|
|
1785
|
+
if (ta === 'string')
|
|
1786
|
+
return 1;
|
|
1787
|
+
if (tb === 'string')
|
|
1788
|
+
return -1;
|
|
1789
|
+
if (ta === 'Date')
|
|
1790
|
+
return 1;
|
|
1791
|
+
if (tb !== 'Date')
|
|
1792
|
+
return NaN;
|
|
1793
|
+
return -1;
|
|
1794
|
+
}
|
|
1795
|
+
switch (ta) {
|
|
1796
|
+
case 'number':
|
|
1797
|
+
case 'Date':
|
|
1798
|
+
case 'string':
|
|
1799
|
+
return a > b ? 1 : a < b ? -1 : 0;
|
|
1800
|
+
case 'binary': {
|
|
1801
|
+
return compareUint8Arrays(getUint8Array(a), getUint8Array(b));
|
|
1802
|
+
}
|
|
1803
|
+
case 'Array':
|
|
1804
|
+
return compareArrays(a, b);
|
|
1805
|
+
}
|
|
1806
|
+
}
|
|
1807
|
+
catch (_a) { }
|
|
1808
|
+
return NaN;
|
|
1809
|
+
}
|
|
1810
|
+
function compareArrays(a, b) {
|
|
1811
|
+
var al = a.length;
|
|
1812
|
+
var bl = b.length;
|
|
1813
|
+
var l = al < bl ? al : bl;
|
|
1814
|
+
for (var i = 0; i < l; ++i) {
|
|
1815
|
+
var res = cmp(a[i], b[i]);
|
|
1816
|
+
if (res !== 0)
|
|
1817
|
+
return res;
|
|
1818
|
+
}
|
|
1819
|
+
return al === bl ? 0 : al < bl ? -1 : 1;
|
|
1820
|
+
}
|
|
1821
|
+
function compareUint8Arrays(a, b) {
|
|
1822
|
+
var al = a.length;
|
|
1823
|
+
var bl = b.length;
|
|
1824
|
+
var l = al < bl ? al : bl;
|
|
1825
|
+
for (var i = 0; i < l; ++i) {
|
|
1826
|
+
if (a[i] !== b[i])
|
|
1827
|
+
return a[i] < b[i] ? -1 : 1;
|
|
1828
|
+
}
|
|
1829
|
+
return al === bl ? 0 : al < bl ? -1 : 1;
|
|
1830
|
+
}
|
|
1831
|
+
function type(x) {
|
|
1832
|
+
var t = typeof x;
|
|
1833
|
+
if (t !== 'object')
|
|
1834
|
+
return t;
|
|
1835
|
+
if (ArrayBuffer.isView(x))
|
|
1836
|
+
return 'binary';
|
|
1837
|
+
var tsTag = toStringTag(x);
|
|
1838
|
+
return tsTag === 'ArrayBuffer' ? 'binary' : tsTag;
|
|
1839
|
+
}
|
|
1840
|
+
function getUint8Array(a) {
|
|
1841
|
+
if (a instanceof Uint8Array)
|
|
1842
|
+
return a;
|
|
1843
|
+
if (ArrayBuffer.isView(a))
|
|
1844
|
+
return new Uint8Array(a.buffer, a.byteOffset, a.byteLength);
|
|
1845
|
+
return new Uint8Array(a);
|
|
1846
|
+
}
|
|
1847
|
+
|
|
1794
1848
|
var Collection = (function () {
|
|
1795
1849
|
function Collection() {
|
|
1796
1850
|
}
|
|
@@ -2074,7 +2128,6 @@ var Collection = (function () {
|
|
|
2074
2128
|
var coreTable = ctx.table.core;
|
|
2075
2129
|
var _a = coreTable.schema.primaryKey, outbound = _a.outbound, extractKey = _a.extractKey;
|
|
2076
2130
|
var limit = _this.db._options.modifyChunkSize || 200;
|
|
2077
|
-
var cmp = _this.db.core.cmp;
|
|
2078
2131
|
var totalFailures = [];
|
|
2079
2132
|
var successCount = 0;
|
|
2080
2133
|
var failedKeys = [];
|
|
@@ -2606,7 +2659,9 @@ function preventDefault(event) {
|
|
|
2606
2659
|
event.preventDefault();
|
|
2607
2660
|
}
|
|
2608
2661
|
|
|
2609
|
-
var
|
|
2662
|
+
var DEXIE_STORAGE_MUTATED_EVENT_NAME = 'storagemutated';
|
|
2663
|
+
var STORAGE_MUTATED_DOM_EVENT_NAME = 'x-storagemutated-1';
|
|
2664
|
+
var globalEvents = Events(null, DEXIE_STORAGE_MUTATED_EVENT_NAME);
|
|
2610
2665
|
|
|
2611
2666
|
var Transaction = (function () {
|
|
2612
2667
|
function Transaction() {
|
|
@@ -2674,7 +2729,7 @@ var Transaction = (function () {
|
|
|
2674
2729
|
_this.active = false;
|
|
2675
2730
|
_this._resolve();
|
|
2676
2731
|
if ('mutatedParts' in idbtrans) {
|
|
2677
|
-
globalEvents.
|
|
2732
|
+
globalEvents.storagemutated.fire(idbtrans["mutatedParts"]);
|
|
2678
2733
|
}
|
|
2679
2734
|
});
|
|
2680
2735
|
return this;
|
|
@@ -2834,6 +2889,21 @@ function createTableSchema(name, primKey, indexes) {
|
|
|
2834
2889
|
};
|
|
2835
2890
|
}
|
|
2836
2891
|
|
|
2892
|
+
function safariMultiStoreFix(storeNames) {
|
|
2893
|
+
return storeNames.length === 1 ? storeNames[0] : storeNames;
|
|
2894
|
+
}
|
|
2895
|
+
var getMaxKey = function (IdbKeyRange) {
|
|
2896
|
+
try {
|
|
2897
|
+
IdbKeyRange.only([[]]);
|
|
2898
|
+
getMaxKey = function () { return [[]]; };
|
|
2899
|
+
return [[]];
|
|
2900
|
+
}
|
|
2901
|
+
catch (e) {
|
|
2902
|
+
getMaxKey = function () { return maxString; };
|
|
2903
|
+
return maxString;
|
|
2904
|
+
}
|
|
2905
|
+
};
|
|
2906
|
+
|
|
2837
2907
|
function getKeyExtractor(keyPath) {
|
|
2838
2908
|
if (keyPath == null) {
|
|
2839
2909
|
return function () { return undefined; };
|
|
@@ -2866,8 +2936,7 @@ function getKeyPathAlias(keyPath) {
|
|
|
2866
2936
|
keyPath :
|
|
2867
2937
|
"[" + keyPath.join('+') + "]";
|
|
2868
2938
|
}
|
|
2869
|
-
function createDBCore(db,
|
|
2870
|
-
var cmp = indexedDB.cmp.bind(indexedDB);
|
|
2939
|
+
function createDBCore(db, IdbKeyRange, tmpTrans) {
|
|
2871
2940
|
function extractSchema(db, trans) {
|
|
2872
2941
|
var tables = arrayify(db.objectStoreNames);
|
|
2873
2942
|
return {
|
|
@@ -3202,7 +3271,6 @@ function createDBCore(db, indexedDB, IdbKeyRange, tmpTrans) {
|
|
|
3202
3271
|
throw new Error("Table '" + name + "' not found");
|
|
3203
3272
|
return tableMap[name];
|
|
3204
3273
|
},
|
|
3205
|
-
cmp: cmp,
|
|
3206
3274
|
MIN_KEY: -Infinity,
|
|
3207
3275
|
MAX_KEY: getMaxKey(IdbKeyRange),
|
|
3208
3276
|
schema: schema
|
|
@@ -3216,8 +3284,8 @@ function createMiddlewareStack(stackImpl, middlewares) {
|
|
|
3216
3284
|
}, stackImpl);
|
|
3217
3285
|
}
|
|
3218
3286
|
function createMiddlewareStacks(middlewares, idbdb, _a, tmpTrans) {
|
|
3219
|
-
var IDBKeyRange = _a.IDBKeyRange
|
|
3220
|
-
var dbcore = createMiddlewareStack(createDBCore(idbdb,
|
|
3287
|
+
var IDBKeyRange = _a.IDBKeyRange; _a.indexedDB;
|
|
3288
|
+
var dbcore = createMiddlewareStack(createDBCore(idbdb, IDBKeyRange, tmpTrans), middlewares.dbcore);
|
|
3221
3289
|
return {
|
|
3222
3290
|
dbcore: dbcore
|
|
3223
3291
|
};
|
|
@@ -3443,12 +3511,9 @@ function createMissingTables(newSchema, idbtrans) {
|
|
|
3443
3511
|
});
|
|
3444
3512
|
}
|
|
3445
3513
|
function deleteRemovedTables(newSchema, idbtrans) {
|
|
3446
|
-
|
|
3447
|
-
|
|
3448
|
-
|
|
3449
|
-
idbtrans.db.deleteObjectStore(storeName);
|
|
3450
|
-
}
|
|
3451
|
-
}
|
|
3514
|
+
[].slice.call(idbtrans.db.objectStoreNames).forEach(function (storeName) {
|
|
3515
|
+
return newSchema[storeName] == null && idbtrans.db.deleteObjectStore(storeName);
|
|
3516
|
+
});
|
|
3452
3517
|
}
|
|
3453
3518
|
function addIndex(store, idx) {
|
|
3454
3519
|
store.createIndex(idx.name, idx.keyPath, { unique: idx.unique, multiEntry: idx.multi });
|
|
@@ -3625,18 +3690,17 @@ function vip(fn) {
|
|
|
3625
3690
|
}
|
|
3626
3691
|
|
|
3627
3692
|
function idbReady() {
|
|
3628
|
-
|
|
3629
|
-
|
|
3630
|
-
|
|
3631
|
-
|
|
3632
|
-
|
|
3633
|
-
|
|
3634
|
-
|
|
3635
|
-
|
|
3636
|
-
|
|
3637
|
-
|
|
3638
|
-
return clearInterval(intervalId);
|
|
3639
|
-
});
|
|
3693
|
+
var isSafari = !navigator.userAgentData &&
|
|
3694
|
+
/Safari\//.test(navigator.userAgent) &&
|
|
3695
|
+
!/Chrom(e|ium)\//.test(navigator.userAgent);
|
|
3696
|
+
if (!isSafari || !indexedDB.databases)
|
|
3697
|
+
return Promise.resolve();
|
|
3698
|
+
var intervalId;
|
|
3699
|
+
return new Promise(function (resolve) {
|
|
3700
|
+
var tryIdb = function () { return indexedDB.databases().finally(resolve); };
|
|
3701
|
+
intervalId = setInterval(tryIdb, 100);
|
|
3702
|
+
tryIdb();
|
|
3703
|
+
}).finally(function () { return clearInterval(intervalId); });
|
|
3640
3704
|
}
|
|
3641
3705
|
|
|
3642
3706
|
function dexieOpen(db) {
|
|
@@ -3657,7 +3721,7 @@ function dexieOpen(db) {
|
|
|
3657
3721
|
}
|
|
3658
3722
|
var resolveDbReady = state.dbReadyResolve,
|
|
3659
3723
|
upgradeTransaction = null, wasCreated = false;
|
|
3660
|
-
return DexiePromise.race([openCanceller, idbReady().then(function () { return new DexiePromise(function (resolve, reject) {
|
|
3724
|
+
return DexiePromise.race([openCanceller, (typeof navigator === 'undefined' ? DexiePromise.resolve() : idbReady()).then(function () { return new DexiePromise(function (resolve, reject) {
|
|
3661
3725
|
throwIfCancelled();
|
|
3662
3726
|
if (!indexedDB)
|
|
3663
3727
|
throw new exceptions.MissingAPI();
|
|
@@ -3906,6 +3970,11 @@ function createVirtualIndexMiddleware(down) {
|
|
|
3906
3970
|
cursor.continuePrimaryKey(pad(key, down.MAX_KEY, keyTail), primaryKey);
|
|
3907
3971
|
}
|
|
3908
3972
|
},
|
|
3973
|
+
primaryKey: {
|
|
3974
|
+
get: function () {
|
|
3975
|
+
return cursor.primaryKey;
|
|
3976
|
+
}
|
|
3977
|
+
},
|
|
3909
3978
|
key: {
|
|
3910
3979
|
get: function () {
|
|
3911
3980
|
var key = cursor.key;
|
|
@@ -4011,9 +4080,9 @@ var hooksMiddleware = {
|
|
|
4011
4080
|
throw new Error("Keys missing");
|
|
4012
4081
|
req = req.type === 'add' || req.type === 'put' ? __assign(__assign({}, req), { keys: keys }) : __assign({}, req);
|
|
4013
4082
|
if (req.type !== 'delete')
|
|
4014
|
-
req.values = __spreadArray([], req.values);
|
|
4083
|
+
req.values = __spreadArray([], req.values, true);
|
|
4015
4084
|
if (req.keys)
|
|
4016
|
-
req.keys = __spreadArray([], req.keys);
|
|
4085
|
+
req.keys = __spreadArray([], req.keys, true);
|
|
4017
4086
|
return getExistingValues(downTable, req, keys).then(function (existingValues) {
|
|
4018
4087
|
var contexts = keys.map(function (key, i) {
|
|
4019
4088
|
var existingValue = existingValues[i];
|
|
@@ -4099,24 +4168,6 @@ function getExistingValues(table, req, effectiveKeys) {
|
|
|
4099
4168
|
: table.getMany({ trans: req.trans, keys: effectiveKeys, cache: "immutable" });
|
|
4100
4169
|
}
|
|
4101
4170
|
|
|
4102
|
-
var _cmp;
|
|
4103
|
-
function cmp(a, b) {
|
|
4104
|
-
if (_cmp)
|
|
4105
|
-
return _cmp(a, b);
|
|
4106
|
-
var indexedDB = domDeps.indexedDB;
|
|
4107
|
-
if (!indexedDB)
|
|
4108
|
-
throw new exceptions.MissingAPI();
|
|
4109
|
-
_cmp = function (a, b) {
|
|
4110
|
-
try {
|
|
4111
|
-
return a == null || b == null ? NaN : indexedDB.cmp(a, b);
|
|
4112
|
-
}
|
|
4113
|
-
catch (_a) {
|
|
4114
|
-
return NaN;
|
|
4115
|
-
}
|
|
4116
|
-
};
|
|
4117
|
-
return _cmp(a, b);
|
|
4118
|
-
}
|
|
4119
|
-
|
|
4120
4171
|
function getFromTransactionCache(keys, cache, clone) {
|
|
4121
4172
|
try {
|
|
4122
4173
|
if (!cache)
|
|
@@ -4808,7 +4859,7 @@ var Dexie$1 = (function () {
|
|
|
4808
4859
|
}());
|
|
4809
4860
|
|
|
4810
4861
|
var symbolObservable = typeof Symbol !== "undefined" && "observable" in Symbol
|
|
4811
|
-
? Symbol
|
|
4862
|
+
? Symbol.observable
|
|
4812
4863
|
: "@@observable";
|
|
4813
4864
|
var Observable = (function () {
|
|
4814
4865
|
function Observable(subscribe) {
|
|
@@ -4857,7 +4908,7 @@ function liveQuery(querier) {
|
|
|
4857
4908
|
},
|
|
4858
4909
|
unsubscribe: function () {
|
|
4859
4910
|
closed = true;
|
|
4860
|
-
globalEvents.
|
|
4911
|
+
globalEvents.storagemutated.unsubscribe(mutationListener);
|
|
4861
4912
|
},
|
|
4862
4913
|
};
|
|
4863
4914
|
observer.start && observer.start(subscription);
|
|
@@ -4880,7 +4931,7 @@ function liveQuery(querier) {
|
|
|
4880
4931
|
var subscr = {};
|
|
4881
4932
|
var ret = execute(subscr);
|
|
4882
4933
|
if (!startedListening) {
|
|
4883
|
-
globalEvents(
|
|
4934
|
+
globalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME, mutationListener);
|
|
4884
4935
|
startedListening = true;
|
|
4885
4936
|
}
|
|
4886
4937
|
querying = true;
|
|
@@ -4907,6 +4958,17 @@ function liveQuery(querier) {
|
|
|
4907
4958
|
});
|
|
4908
4959
|
}
|
|
4909
4960
|
|
|
4961
|
+
var domDeps;
|
|
4962
|
+
try {
|
|
4963
|
+
domDeps = {
|
|
4964
|
+
indexedDB: _global.indexedDB || _global.mozIndexedDB || _global.webkitIndexedDB || _global.msIndexedDB,
|
|
4965
|
+
IDBKeyRange: _global.IDBKeyRange || _global.webkitIDBKeyRange
|
|
4966
|
+
};
|
|
4967
|
+
}
|
|
4968
|
+
catch (e) {
|
|
4969
|
+
domDeps = { indexedDB: null, IDBKeyRange: null };
|
|
4970
|
+
}
|
|
4971
|
+
|
|
4910
4972
|
var Dexie = Dexie$1;
|
|
4911
4973
|
props(Dexie, __assign(__assign({}, fullNameExceptions), {
|
|
4912
4974
|
delete: function (databaseName) {
|
|
@@ -4979,7 +5041,7 @@ props(Dexie, __assign(__assign({}, fullNameExceptions), {
|
|
|
4979
5041
|
},
|
|
4980
5042
|
derive: derive, extend: extend, props: props, override: override,
|
|
4981
5043
|
Events: Events, on: globalEvents, liveQuery: liveQuery, extendObservabilitySet: extendObservabilitySet,
|
|
4982
|
-
getByKeyPath: getByKeyPath, setByKeyPath: setByKeyPath, delByKeyPath: delByKeyPath, shallowClone: shallowClone, deepClone: deepClone, getObjectDiff: getObjectDiff, asap: asap$1,
|
|
5044
|
+
getByKeyPath: getByKeyPath, setByKeyPath: setByKeyPath, delByKeyPath: delByKeyPath, shallowClone: shallowClone, deepClone: deepClone, getObjectDiff: getObjectDiff, cmp: cmp, asap: asap$1,
|
|
4983
5045
|
minKey: minKey,
|
|
4984
5046
|
addons: [],
|
|
4985
5047
|
connections: connections,
|
|
@@ -4990,38 +5052,46 @@ props(Dexie, __assign(__assign({}, fullNameExceptions), {
|
|
|
4990
5052
|
.reduce(function (p, c, i) { return p + (c / Math.pow(10, i * 2)); }) }));
|
|
4991
5053
|
Dexie.maxKey = getMaxKey(Dexie.dependencies.IDBKeyRange);
|
|
4992
5054
|
|
|
4993
|
-
|
|
5055
|
+
if (typeof dispatchEvent !== 'undefined' && typeof addEventListener !== 'undefined') {
|
|
5056
|
+
globalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME, function (updatedParts) {
|
|
5057
|
+
if (!propagatingLocally) {
|
|
5058
|
+
var event_1;
|
|
5059
|
+
if (isIEOrEdge) {
|
|
5060
|
+
event_1 = document.createEvent('CustomEvent');
|
|
5061
|
+
event_1.initCustomEvent(STORAGE_MUTATED_DOM_EVENT_NAME, true, true, updatedParts);
|
|
5062
|
+
}
|
|
5063
|
+
else {
|
|
5064
|
+
event_1 = new CustomEvent(STORAGE_MUTATED_DOM_EVENT_NAME, {
|
|
5065
|
+
detail: updatedParts
|
|
5066
|
+
});
|
|
5067
|
+
}
|
|
5068
|
+
propagatingLocally = true;
|
|
5069
|
+
dispatchEvent(event_1);
|
|
5070
|
+
propagatingLocally = false;
|
|
5071
|
+
}
|
|
5072
|
+
});
|
|
5073
|
+
addEventListener(STORAGE_MUTATED_DOM_EVENT_NAME, function (_a) {
|
|
5074
|
+
var detail = _a.detail;
|
|
5075
|
+
if (!propagatingLocally) {
|
|
5076
|
+
propagateLocally(detail);
|
|
5077
|
+
}
|
|
5078
|
+
});
|
|
5079
|
+
}
|
|
5080
|
+
function propagateLocally(updateParts) {
|
|
4994
5081
|
var wasMe = propagatingLocally;
|
|
4995
5082
|
try {
|
|
4996
5083
|
propagatingLocally = true;
|
|
4997
|
-
globalEvents.
|
|
5084
|
+
globalEvents.storagemutated.fire(updateParts);
|
|
4998
5085
|
}
|
|
4999
5086
|
finally {
|
|
5000
5087
|
propagatingLocally = wasMe;
|
|
5001
5088
|
}
|
|
5002
5089
|
}
|
|
5003
|
-
var propagateLocally = fireLocally;
|
|
5004
5090
|
var propagatingLocally = false;
|
|
5005
|
-
var accumulatedParts = {};
|
|
5006
|
-
if (typeof document !== 'undefined' && document.addEventListener) {
|
|
5007
|
-
var fireIfVisible_1 = function () {
|
|
5008
|
-
if (document.visibilityState === "visible") {
|
|
5009
|
-
if (Object.keys(accumulatedParts).length > 0) {
|
|
5010
|
-
fireLocally(accumulatedParts);
|
|
5011
|
-
}
|
|
5012
|
-
accumulatedParts = {};
|
|
5013
|
-
}
|
|
5014
|
-
};
|
|
5015
|
-
document.addEventListener("visibilitychange", fireIfVisible_1);
|
|
5016
|
-
propagateLocally = function (changedParts) {
|
|
5017
|
-
extendObservabilitySet(accumulatedParts, changedParts);
|
|
5018
|
-
fireIfVisible_1();
|
|
5019
|
-
};
|
|
5020
|
-
}
|
|
5021
5091
|
|
|
5022
|
-
if (typeof BroadcastChannel !==
|
|
5023
|
-
var bc_1 = new BroadcastChannel(
|
|
5024
|
-
globalEvents(
|
|
5092
|
+
if (typeof BroadcastChannel !== 'undefined') {
|
|
5093
|
+
var bc_1 = new BroadcastChannel(STORAGE_MUTATED_DOM_EVENT_NAME);
|
|
5094
|
+
globalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME, function (changedParts) {
|
|
5025
5095
|
if (!propagatingLocally) {
|
|
5026
5096
|
bc_1.postMessage(changedParts);
|
|
5027
5097
|
}
|
|
@@ -5031,20 +5101,20 @@ if (typeof BroadcastChannel !== "undefined") {
|
|
|
5031
5101
|
propagateLocally(ev.data);
|
|
5032
5102
|
};
|
|
5033
5103
|
}
|
|
5034
|
-
else if (typeof self !==
|
|
5035
|
-
globalEvents(
|
|
5104
|
+
else if (typeof self !== 'undefined' && typeof navigator !== 'undefined') {
|
|
5105
|
+
globalEvents(DEXIE_STORAGE_MUTATED_EVENT_NAME, function (changedParts) {
|
|
5036
5106
|
try {
|
|
5037
5107
|
if (!propagatingLocally) {
|
|
5038
|
-
if (typeof localStorage !==
|
|
5039
|
-
localStorage.setItem(
|
|
5108
|
+
if (typeof localStorage !== 'undefined') {
|
|
5109
|
+
localStorage.setItem(STORAGE_MUTATED_DOM_EVENT_NAME, JSON.stringify({
|
|
5040
5110
|
trig: Math.random(),
|
|
5041
5111
|
changedParts: changedParts,
|
|
5042
5112
|
}));
|
|
5043
5113
|
}
|
|
5044
|
-
if (typeof self[
|
|
5045
|
-
__spreadArray([], self[
|
|
5114
|
+
if (typeof self['clients'] === 'object') {
|
|
5115
|
+
__spreadArray([], self['clients'].matchAll({ includeUncontrolled: true }), true).forEach(function (client) {
|
|
5046
5116
|
return client.postMessage({
|
|
5047
|
-
type:
|
|
5117
|
+
type: STORAGE_MUTATED_DOM_EVENT_NAME,
|
|
5048
5118
|
changedParts: changedParts,
|
|
5049
5119
|
});
|
|
5050
5120
|
});
|
|
@@ -5053,8 +5123,8 @@ else if (typeof self !== "undefined" && typeof navigator !== "undefined") {
|
|
|
5053
5123
|
}
|
|
5054
5124
|
catch (_a) { }
|
|
5055
5125
|
});
|
|
5056
|
-
addEventListener(
|
|
5057
|
-
if (ev.key ===
|
|
5126
|
+
addEventListener('storage', function (ev) {
|
|
5127
|
+
if (ev.key === STORAGE_MUTATED_DOM_EVENT_NAME) {
|
|
5058
5128
|
var data = JSON.parse(ev.newValue);
|
|
5059
5129
|
if (data)
|
|
5060
5130
|
propagateLocally(data.changedParts);
|
|
@@ -5067,7 +5137,7 @@ else if (typeof self !== "undefined" && typeof navigator !== "undefined") {
|
|
|
5067
5137
|
}
|
|
5068
5138
|
function propagateMessageLocally(_a) {
|
|
5069
5139
|
var data = _a.data;
|
|
5070
|
-
if (data && data.type ===
|
|
5140
|
+
if (data && data.type === STORAGE_MUTATED_DOM_EVENT_NAME) {
|
|
5071
5141
|
propagateLocally(data.changedParts);
|
|
5072
5142
|
}
|
|
5073
5143
|
}
|
|
@@ -5075,6 +5145,5 @@ function propagateMessageLocally(_a) {
|
|
|
5075
5145
|
DexiePromise.rejectionMapper = mapError;
|
|
5076
5146
|
setDebug(debug, dexieStackFrameFilter);
|
|
5077
5147
|
|
|
5078
|
-
export
|
|
5079
|
-
export { Dexie$1 as Dexie, RangeSet, liveQuery, mergeRanges, rangesOverlap };
|
|
5148
|
+
export { Dexie$1 as Dexie, RangeSet, Dexie$1 as default, liveQuery, mergeRanges, rangesOverlap };
|
|
5080
5149
|
//# sourceMappingURL=dexie.mjs.map
|