dexie-cloud-addon 4.0.0-beta.24 → 4.0.1-beta.27
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/modern/dexie-cloud-addon.js +42 -27
- package/dist/modern/dexie-cloud-addon.js.map +1 -1
- package/dist/modern/dexie-cloud-addon.min.js +1 -1
- package/dist/modern/dexie-cloud-addon.min.js.map +1 -1
- package/dist/modern/service-worker.js +41 -26
- package/dist/modern/service-worker.js.map +1 -1
- package/dist/modern/service-worker.min.js +1 -1
- package/dist/modern/service-worker.min.js.map +1 -1
- package/dist/module-es5/dexie-cloud-addon.js +41 -25
- package/dist/module-es5/dexie-cloud-addon.js.map +1 -1
- package/dist/module-es5/dexie-cloud-addon.min.js +1 -1
- package/dist/module-es5/dexie-cloud-addon.min.js.map +1 -1
- package/dist/types/DXCWebSocketStatus.d.ts +1 -1
- package/dist/types/DexieCloudTable.d.ts +18 -2
- package/dist/types/PermissionChecker.d.ts +1 -1
- package/dist/types/TSON.d.ts +1 -1
- package/dist/types/WSObservable.d.ts +2 -2
- package/dist/types/authentication/authenticate.d.ts +1 -1
- package/dist/types/db/DexieCloudDB.d.ts +1 -1
- package/dist/types/extend-dexie-interface.d.ts +5 -3
- package/dist/types/getInternalAccessControlObservable.d.ts +1 -1
- package/dist/types/getPermissionsLookupObservable.d.ts +2 -2
- package/dist/types/sync/getTablesToSyncify.d.ts +1 -1
- package/dist/types/sync/messagesFromServerQueue.d.ts +1 -1
- package/dist/types/types/DXCAlert.d.ts +1 -1
- package/dist/types/types/DXCInputField.d.ts +1 -1
- package/dist/types/types/DXCUserInteraction.d.ts +1 -1
- package/dist/types/types/SWSyncEvent.d.ts +1 -1
- package/dist/types/types/SyncState.d.ts +2 -2
- package/dist/umd/dexie-cloud-addon.js +40 -24
- package/dist/umd/dexie-cloud-addon.js.map +1 -1
- package/dist/umd/dexie-cloud-addon.min.js +1 -1
- package/dist/umd/dexie-cloud-addon.min.js.map +1 -1
- package/dist/umd/service-worker.js +40 -25
- package/dist/umd/service-worker.js.map +1 -1
- package/dist/umd/service-worker.min.js +1 -1
- package/dist/umd/service-worker.min.js.map +1 -1
- package/dist/umd-modern/dexie-cloud-addon.js +38 -23
- package/dist/umd-modern/dexie-cloud-addon.js.map +1 -1
- package/package.json +5 -6
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Dexie, { liveQuery, cmp } from 'dexie';
|
|
2
|
-
import { BehaviorSubject, fromEvent, of, merge, from as from$1, Observable as Observable$1, Subscription as Subscription$1, Subject, combineLatest,
|
|
2
|
+
import { BehaviorSubject, fromEvent, of, merge, from as from$1, Observable as Observable$1, Subscription as Subscription$1, Subject, combineLatest, map as map$1, share, timer as timer$1, throwError } from 'rxjs';
|
|
3
3
|
|
|
4
4
|
/******************************************************************************
|
|
5
5
|
Copyright (c) Microsoft Corporation.
|
|
@@ -101,7 +101,7 @@ function __spreadArray$1(to, from, pack) {
|
|
|
101
101
|
*
|
|
102
102
|
* ==========================================================================
|
|
103
103
|
*
|
|
104
|
-
* Version 4.0.
|
|
104
|
+
* Version 4.0.1-beta.27, Mon Mar 06 2023
|
|
105
105
|
*
|
|
106
106
|
* https://dexie.org
|
|
107
107
|
*
|
|
@@ -306,7 +306,7 @@ function __asyncValues(o) {
|
|
|
306
306
|
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
|
|
307
307
|
}
|
|
308
308
|
//@ts-check
|
|
309
|
-
var randomFillSync = crypto.getRandomValues;
|
|
309
|
+
var randomFillSync = crypto.getRandomValues.bind(crypto);
|
|
310
310
|
function assert(b) {
|
|
311
311
|
if (!b)
|
|
312
312
|
throw new Error('Assertion Failed');
|
|
@@ -367,17 +367,17 @@ function setByKeyPath(obj, keyPath, value) {
|
|
|
367
367
|
}
|
|
368
368
|
}
|
|
369
369
|
}
|
|
370
|
-
var randomString$1 = typeof
|
|
371
|
-
// Node
|
|
372
|
-
var buf = Buffer.alloc(bytes);
|
|
373
|
-
randomFillSync(buf);
|
|
374
|
-
return buf.toString("base64");
|
|
375
|
-
} : function (bytes) {
|
|
370
|
+
var randomString$1 = typeof self !== 'undefined' && typeof crypto !== 'undefined' ? function (bytes) {
|
|
376
371
|
// Web
|
|
377
372
|
var buf = new Uint8Array(bytes);
|
|
378
373
|
crypto.getRandomValues(buf);
|
|
379
374
|
return btoa(String.fromCharCode.apply(null, buf));
|
|
380
|
-
}
|
|
375
|
+
} : typeof Buffer !== 'undefined' ? function (bytes) {
|
|
376
|
+
// Node
|
|
377
|
+
var buf = Buffer.alloc(bytes);
|
|
378
|
+
randomFillSync(buf);
|
|
379
|
+
return buf.toString("base64");
|
|
380
|
+
} : function () { throw new Error("No implementation of randomString was found"); };
|
|
381
381
|
/** Verifies that given primary key is valid.
|
|
382
382
|
* The reason we narrow validity for valid keys are twofold:
|
|
383
383
|
* 1: Make sure to only support types that can be used as an object index in DBKeyMutationSet.
|
|
@@ -3584,7 +3584,7 @@ var undefinedDef = {
|
|
|
3584
3584
|
// serverRev.rev = bigIntDef.bigint.revive(server.rev)
|
|
3585
3585
|
// else
|
|
3586
3586
|
// serverRev.rev = new FakeBigInt(server.rev)
|
|
3587
|
-
var hasBigIntSupport = typeof BigInt(0) === 'bigint';
|
|
3587
|
+
var hasBigIntSupport = typeof BigInt === 'function' && typeof BigInt(0) === 'bigint';
|
|
3588
3588
|
var FakeBigInt = /** @class */ (function () {
|
|
3589
3589
|
function FakeBigInt(value) {
|
|
3590
3590
|
this.v = value;
|
|
@@ -4780,7 +4780,17 @@ function DexieCloudDB(dx) {
|
|
|
4780
4780
|
return db.$syncState.get('syncState');
|
|
4781
4781
|
},
|
|
4782
4782
|
getSchema: function () {
|
|
4783
|
-
return db.$syncState.get('schema')
|
|
4783
|
+
return db.$syncState.get('schema').then(function (schema) {
|
|
4784
|
+
if (schema) {
|
|
4785
|
+
for (var _k = 0, _l = db.tables; _k < _l.length; _k++) {
|
|
4786
|
+
var table = _l[_k];
|
|
4787
|
+
if (table.schema.primKey && table.schema.primKey.keyPath && schema[table.name]) {
|
|
4788
|
+
schema[table.name].primaryKey = nameFromKeyPath(table.schema.primKey.keyPath);
|
|
4789
|
+
}
|
|
4790
|
+
}
|
|
4791
|
+
}
|
|
4792
|
+
return schema;
|
|
4793
|
+
});
|
|
4784
4794
|
},
|
|
4785
4795
|
getOptions: function () {
|
|
4786
4796
|
return db.$syncState.get('options');
|
|
@@ -4798,6 +4808,11 @@ function DexieCloudDB(dx) {
|
|
|
4798
4808
|
}
|
|
4799
4809
|
return db;
|
|
4800
4810
|
}
|
|
4811
|
+
function nameFromKeyPath(keyPath) {
|
|
4812
|
+
return typeof keyPath === 'string' ?
|
|
4813
|
+
keyPath :
|
|
4814
|
+
keyPath ? ('[' + [].join.call(keyPath, '+') + ']') : "";
|
|
4815
|
+
}
|
|
4801
4816
|
// @ts-ignore
|
|
4802
4817
|
var isFirefox = typeof InstallTrigger !== 'undefined';
|
|
4803
4818
|
var isSafari = typeof navigator !== 'undefined' &&
|
|
@@ -5045,7 +5060,7 @@ function createImplicitPropSetterMiddleware(db) {
|
|
|
5045
5060
|
// modify operations. Reason: Server may not have
|
|
5046
5061
|
// the object. Object should be created on server only
|
|
5047
5062
|
// if is being updated. An update operation won't create it
|
|
5048
|
-
// so we must delete req.changeSpec to
|
|
5063
|
+
// so we must delete req.changeSpec to degrade operation to
|
|
5049
5064
|
// an upsert operation with timestamp so that it will be created.
|
|
5050
5065
|
// We must also degrade from consistent modify operations for the
|
|
5051
5066
|
// same reason - object might be there on server. Must but put up instead.
|
|
@@ -5057,7 +5072,7 @@ function createImplicitPropSetterMiddleware(db) {
|
|
|
5057
5072
|
if (req.type === 'put') {
|
|
5058
5073
|
delete req.criteria;
|
|
5059
5074
|
delete req.changeSpec;
|
|
5060
|
-
delete req.
|
|
5075
|
+
delete req.updates;
|
|
5061
5076
|
obj.$ts = Date.now();
|
|
5062
5077
|
}
|
|
5063
5078
|
}
|
|
@@ -5259,11 +5274,10 @@ function createMutationTrackingMiddleware(_k) {
|
|
|
5259
5274
|
var hasFailures = res.numFailures, failures = res.failures;
|
|
5260
5275
|
var keys = type === 'delete' ? req.keys : res.results;
|
|
5261
5276
|
var values = 'values' in req ? req.values : [];
|
|
5262
|
-
var
|
|
5277
|
+
var updates = 'updates' in req && req.updates;
|
|
5263
5278
|
if (hasFailures) {
|
|
5264
5279
|
keys = keys.filter(function (_, idx) { return !failures[idx]; });
|
|
5265
5280
|
values = values.filter(function (_, idx) { return !failures[idx]; });
|
|
5266
|
-
changeSpecs = changeSpecs.filter(function (_, idx) { return !failures[idx]; });
|
|
5267
5281
|
}
|
|
5268
5282
|
var ts = Date.now();
|
|
5269
5283
|
var mut = req.type === 'delete'
|
|
@@ -5295,13 +5309,13 @@ function createMutationTrackingMiddleware(_k) {
|
|
|
5295
5309
|
txid: txid,
|
|
5296
5310
|
userId: userId
|
|
5297
5311
|
}
|
|
5298
|
-
:
|
|
5312
|
+
: updates
|
|
5299
5313
|
? {
|
|
5300
5314
|
// One changeSpec per key
|
|
5301
5315
|
type: 'update',
|
|
5302
5316
|
ts: ts,
|
|
5303
|
-
keys: keys,
|
|
5304
|
-
changeSpecs: changeSpecs,
|
|
5317
|
+
keys: updates.keys,
|
|
5318
|
+
changeSpecs: updates.changeSpecs,
|
|
5305
5319
|
txid: txid,
|
|
5306
5320
|
userId: userId
|
|
5307
5321
|
}
|
|
@@ -6824,10 +6838,10 @@ function permissions(dexie, obj, tableName) {
|
|
|
6824
6838
|
return o;
|
|
6825
6839
|
}
|
|
6826
6840
|
var getInvitesObservable = associate(function (db) {
|
|
6827
|
-
var membersByEmail = getCurrentUserEmitter(db._novip).pipe(switchMap
|
|
6841
|
+
var membersByEmail = getCurrentUserEmitter(db._novip).pipe(switchMap(function (currentUser) { return liveQuery(function () { return db.members.where({ email: currentUser.email || '' }).toArray(); }); }));
|
|
6828
6842
|
var permissions = getPermissionsLookupObservable(db._novip);
|
|
6829
6843
|
var accessControl = getInternalAccessControlObservable(db._novip);
|
|
6830
|
-
return createSharedValueObservable(combineLatest([membersByEmail, accessControl, permissions]).pipe(map
|
|
6844
|
+
return createSharedValueObservable(combineLatest([membersByEmail, accessControl, permissions]).pipe(map(function (_k) {
|
|
6831
6845
|
var membersByEmail = _k[0], accessControl = _k[1], realmLookup = _k[2];
|
|
6832
6846
|
var reducer = function (result, m) {
|
|
6833
6847
|
var _k;
|
|
@@ -6915,7 +6929,7 @@ function dexieCloud(dexie) {
|
|
|
6915
6929
|
currentUserEmitter.next(UNAUTHORIZED_USER);
|
|
6916
6930
|
});
|
|
6917
6931
|
dexie.cloud = {
|
|
6918
|
-
version: '4.0.
|
|
6932
|
+
version: '4.0.1-beta.27',
|
|
6919
6933
|
options: Object.assign({}, DEFAULT_OPTIONS),
|
|
6920
6934
|
schema: null,
|
|
6921
6935
|
get currentUserId() {
|
|
@@ -7075,7 +7089,7 @@ function dexieCloud(dexie) {
|
|
|
7075
7089
|
case 3:
|
|
7076
7090
|
swRegistrations = _k;
|
|
7077
7091
|
return [4 /*yield*/, db.transaction('rw', db.$syncState, function () { return __awaiter(_this_1, void 0, void 0, function () {
|
|
7078
|
-
var _h, _j, _k, options, schema, _l, persistedOptions, persistedSchema, persistedSyncState, newPersistedSchema, _m, _o, _p, table, tblSchema, newTblSchema;
|
|
7092
|
+
var _h, _j, _k, options, schema, _l, persistedOptions, persistedSchema, persistedSyncState, newPersistedOptions, newPersistedSchema, _m, _o, _p, table, tblSchema, newTblSchema;
|
|
7079
7093
|
return __generator$1(this, function (_q) {
|
|
7080
7094
|
switch (_q.label) {
|
|
7081
7095
|
case 0:
|
|
@@ -7098,7 +7112,9 @@ function dexieCloud(dexie) {
|
|
|
7098
7112
|
// Update persisted options:
|
|
7099
7113
|
if (!options)
|
|
7100
7114
|
throw new Error("Internal error"); // options cannot be null if configuredProgramatically is set.
|
|
7101
|
-
|
|
7115
|
+
newPersistedOptions = Object.assign({}, options);
|
|
7116
|
+
delete newPersistedOptions.fetchTokens;
|
|
7117
|
+
return [4 /*yield*/, db.$syncState.put(newPersistedOptions, 'options')];
|
|
7102
7118
|
case 3:
|
|
7103
7119
|
_q.sent();
|
|
7104
7120
|
_q.label = 4;
|
|
@@ -7246,7 +7262,7 @@ function dexieCloud(dexie) {
|
|
|
7246
7262
|
});
|
|
7247
7263
|
}
|
|
7248
7264
|
}
|
|
7249
|
-
dexieCloud.version = '4.0.
|
|
7265
|
+
dexieCloud.version = '4.0.1-beta.27';
|
|
7250
7266
|
Dexie.Cloud = dexieCloud;
|
|
7251
7267
|
|
|
7252
7268
|
export { dexieCloud as default, dexieCloud, getTiedObjectId, getTiedRealmId };
|