dexie 3.0.0 → 3.0.1
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 +44 -49
- package/dist/dexie.js +52 -39
- 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 +52 -39
- package/dist/dexie.mjs.map +1 -1
- package/package.json +7 -7
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.0.
|
|
7
|
+
* Version 3.0.1, Thu May 07 2020
|
|
8
8
|
*
|
|
9
9
|
* http://dexie.org
|
|
10
10
|
*
|
|
@@ -799,31 +799,6 @@ props(DexiePromise, {
|
|
|
799
799
|
values.map(function (value) { return DexiePromise.resolve(value).then(resolve, reject); });
|
|
800
800
|
});
|
|
801
801
|
},
|
|
802
|
-
allSettled: function () {
|
|
803
|
-
var possiblePromises = getArrayOf.apply(null, arguments).map(onPossibleParallellAsync);
|
|
804
|
-
return new DexiePromise(function (resolve) {
|
|
805
|
-
if (possiblePromises.length === 0)
|
|
806
|
-
resolve([]);
|
|
807
|
-
var remaining = possiblePromises.length;
|
|
808
|
-
var results = new Array(remaining);
|
|
809
|
-
possiblePromises.forEach(function (p, i) { return DexiePromise.resolve(p).then(function (value) { return results[i] = { status: "fulfilled", value: value }; }, function (reason) { return results[i] = { status: "rejected", reason: reason }; })
|
|
810
|
-
.then(function () { return --remaining || resolve(results); }); });
|
|
811
|
-
});
|
|
812
|
-
},
|
|
813
|
-
any: function () {
|
|
814
|
-
var possiblePromises = getArrayOf.apply(null, arguments).map(onPossibleParallellAsync);
|
|
815
|
-
return new DexiePromise(function (resolve, reject) {
|
|
816
|
-
if (possiblePromises.length === 0)
|
|
817
|
-
reject(new AggregateError([]));
|
|
818
|
-
var remaining = possiblePromises.length;
|
|
819
|
-
var failures = new Array(remaining);
|
|
820
|
-
possiblePromises.forEach(function (p, i) { return DexiePromise.resolve(p).then(function (value) { return resolve(value); }, function (failure) {
|
|
821
|
-
failures[i] = failure;
|
|
822
|
-
if (!--remaining)
|
|
823
|
-
reject(new AggregateError(failures));
|
|
824
|
-
}); });
|
|
825
|
-
});
|
|
826
|
-
},
|
|
827
802
|
PSD: {
|
|
828
803
|
get: function () { return PSD; },
|
|
829
804
|
set: function (value) { return PSD = value; }
|
|
@@ -855,6 +830,35 @@ props(DexiePromise, {
|
|
|
855
830
|
});
|
|
856
831
|
}
|
|
857
832
|
});
|
|
833
|
+
if (NativePromise) {
|
|
834
|
+
if (NativePromise.allSettled)
|
|
835
|
+
setProp(DexiePromise, "allSettled", function () {
|
|
836
|
+
var possiblePromises = getArrayOf.apply(null, arguments).map(onPossibleParallellAsync);
|
|
837
|
+
return new DexiePromise(function (resolve) {
|
|
838
|
+
if (possiblePromises.length === 0)
|
|
839
|
+
resolve([]);
|
|
840
|
+
var remaining = possiblePromises.length;
|
|
841
|
+
var results = new Array(remaining);
|
|
842
|
+
possiblePromises.forEach(function (p, i) { return DexiePromise.resolve(p).then(function (value) { return results[i] = { status: "fulfilled", value: value }; }, function (reason) { return results[i] = { status: "rejected", reason: reason }; })
|
|
843
|
+
.then(function () { return --remaining || resolve(results); }); });
|
|
844
|
+
});
|
|
845
|
+
});
|
|
846
|
+
if (NativePromise.any && typeof AggregateError !== 'undefined')
|
|
847
|
+
setProp(DexiePromise, "any", function () {
|
|
848
|
+
var possiblePromises = getArrayOf.apply(null, arguments).map(onPossibleParallellAsync);
|
|
849
|
+
return new DexiePromise(function (resolve, reject) {
|
|
850
|
+
if (possiblePromises.length === 0)
|
|
851
|
+
reject(new AggregateError([]));
|
|
852
|
+
var remaining = possiblePromises.length;
|
|
853
|
+
var failures = new Array(remaining);
|
|
854
|
+
possiblePromises.forEach(function (p, i) { return DexiePromise.resolve(p).then(function (value) { return resolve(value); }, function (failure) {
|
|
855
|
+
failures[i] = failure;
|
|
856
|
+
if (!--remaining)
|
|
857
|
+
reject(new AggregateError(failures));
|
|
858
|
+
}); });
|
|
859
|
+
});
|
|
860
|
+
});
|
|
861
|
+
}
|
|
858
862
|
function executePromiseTask(promise, fn) {
|
|
859
863
|
try {
|
|
860
864
|
fn(function (value) {
|
|
@@ -1178,8 +1182,10 @@ function switchToZone(targetZone, bEnteringZone) {
|
|
|
1178
1182
|
GlobalPromise_1.race = targetEnv.race;
|
|
1179
1183
|
GlobalPromise_1.resolve = targetEnv.resolve;
|
|
1180
1184
|
GlobalPromise_1.reject = targetEnv.reject;
|
|
1181
|
-
|
|
1182
|
-
|
|
1185
|
+
if (targetEnv.allSettled)
|
|
1186
|
+
GlobalPromise_1.allSettled = targetEnv.allSettled;
|
|
1187
|
+
if (targetEnv.any)
|
|
1188
|
+
GlobalPromise_1.any = targetEnv.any;
|
|
1183
1189
|
}
|
|
1184
1190
|
}
|
|
1185
1191
|
}
|
|
@@ -1293,7 +1299,7 @@ function tempTransaction(db, mode, storeNames, fn) {
|
|
|
1293
1299
|
}
|
|
1294
1300
|
}
|
|
1295
1301
|
|
|
1296
|
-
var DEXIE_VERSION = '3.0.
|
|
1302
|
+
var DEXIE_VERSION = '3.0.1';
|
|
1297
1303
|
var maxString = String.fromCharCode(65535);
|
|
1298
1304
|
var minKey = -Infinity;
|
|
1299
1305
|
var INVALID_KEY_ARGUMENT = "Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.";
|
|
@@ -3214,7 +3220,12 @@ function setApiOnPlace(db, objs, tableNames, dbschema) {
|
|
|
3214
3220
|
objs.forEach(function (obj) {
|
|
3215
3221
|
if (!(tableName in obj)) {
|
|
3216
3222
|
if (obj === db.Transaction.prototype || obj instanceof db.Transaction) {
|
|
3217
|
-
setProp(obj, tableName, {
|
|
3223
|
+
setProp(obj, tableName, {
|
|
3224
|
+
get: function () { return this.table(tableName); },
|
|
3225
|
+
set: function (value) {
|
|
3226
|
+
defineProperty(this, tableName, { value: value, writable: true, configurable: true, enumerable: true });
|
|
3227
|
+
}
|
|
3228
|
+
});
|
|
3218
3229
|
}
|
|
3219
3230
|
else {
|
|
3220
3231
|
obj[tableName] = new db.Table(tableName, schema);
|
|
@@ -3533,26 +3544,28 @@ function createVersionConstructor(db) {
|
|
|
3533
3544
|
|
|
3534
3545
|
var databaseEnumerator;
|
|
3535
3546
|
function DatabaseEnumerator(indexedDB) {
|
|
3536
|
-
var
|
|
3547
|
+
var hasDatabasesNative = indexedDB && typeof indexedDB.databases === 'function';
|
|
3537
3548
|
var dbNamesTable;
|
|
3538
|
-
if (!
|
|
3549
|
+
if (!hasDatabasesNative) {
|
|
3539
3550
|
var db = new Dexie(DBNAMES_DB, { addons: [] });
|
|
3540
3551
|
db.version(1).stores({ dbnames: 'name' });
|
|
3541
3552
|
dbNamesTable = db.table('dbnames');
|
|
3542
3553
|
}
|
|
3543
3554
|
return {
|
|
3544
3555
|
getDatabaseNames: function () {
|
|
3545
|
-
return
|
|
3546
|
-
|
|
3547
|
-
|
|
3548
|
-
|
|
3549
|
-
|
|
3556
|
+
return hasDatabasesNative
|
|
3557
|
+
?
|
|
3558
|
+
DexiePromise.resolve(indexedDB.databases()).then(function (infos) { return infos
|
|
3559
|
+
.map(function (info) { return info.name; })
|
|
3560
|
+
.filter(function (name) { return name !== DBNAMES_DB; }); })
|
|
3561
|
+
:
|
|
3562
|
+
dbNamesTable.toCollection().primaryKeys();
|
|
3550
3563
|
},
|
|
3551
3564
|
add: function (name) {
|
|
3552
|
-
return !
|
|
3565
|
+
return !hasDatabasesNative && name !== DBNAMES_DB && dbNamesTable.put({ name: name }).catch(nop);
|
|
3553
3566
|
},
|
|
3554
3567
|
remove: function (name) {
|
|
3555
|
-
return !
|
|
3568
|
+
return !hasDatabasesNative && name !== DBNAMES_DB && dbNamesTable.delete(name).catch(nop);
|
|
3556
3569
|
}
|
|
3557
3570
|
};
|
|
3558
3571
|
}
|