dexie-cloud-addon 4.0.0-beta.24 → 4.0.1-beta.26
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 +21 -22
- 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 +20 -21
- 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 +21 -22
- 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/DexieCloudTable.d.ts +18 -2
- package/dist/types/extend-dexie-interface.d.ts +5 -3
- package/dist/types/sync/getTablesToSyncify.d.ts +1 -1
- package/dist/umd/dexie-cloud-addon.js +20 -21
- 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 +19 -20
- 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 +17 -18
- package/dist/umd-modern/dexie-cloud-addon.js.map +1 -1
- package/package.json +3 -3
- package/dist/types/DexieCloudEntity.d.ts +0 -8
- package/dist/types/DexieCloudServerState.d.ts +0 -5
- package/dist/types/WebSocketStatus.d.ts +0 -1
- package/dist/types/createMyMembersObservable.d.ts +0 -14
- package/dist/types/currentUserObservable.d.ts +0 -3
- package/dist/types/helpers/BroadcastedLocalEvent.d.ts +0 -8
- package/dist/types/helpers/visibleState.d.ts +0 -1
- package/dist/types/permissionsLookup.d.ts +0 -9
- package/dist/types/permissionsLookupObservable.d.ts +0 -14
- package/dist/types/sync/globalizePrivateIds.d.ts +0 -4
- package/dist/types/sync/syncServerToClientOnly.d.ts +0 -3
- package/dist/types/types/CloudConnectionStatus.d.ts +0 -0
- package/dist/types/types/ConnectionStatus.d.ts +0 -0
- package/dist/types/types/LoginState.d.ts +0 -41
- package/dist/types/types/SyncConnectionStatus.d.ts +0 -1
- package/dist/types/types/SyncFlowStatus.d.ts +0 -6
- package/dist/types/types/SyncStatus.d.ts +0 -6
|
@@ -159,7 +159,7 @@
|
|
|
159
159
|
}
|
|
160
160
|
|
|
161
161
|
//@ts-check
|
|
162
|
-
const randomFillSync = crypto.getRandomValues;
|
|
162
|
+
const randomFillSync = crypto.getRandomValues.bind(crypto);
|
|
163
163
|
|
|
164
164
|
function assert(b) {
|
|
165
165
|
if (!b)
|
|
@@ -221,17 +221,17 @@
|
|
|
221
221
|
}
|
|
222
222
|
}
|
|
223
223
|
}
|
|
224
|
-
const randomString$1 = typeof
|
|
225
|
-
// Node
|
|
226
|
-
const buf = Buffer.alloc(bytes);
|
|
227
|
-
randomFillSync(buf);
|
|
228
|
-
return buf.toString("base64");
|
|
229
|
-
} : (bytes) => {
|
|
224
|
+
const randomString$1 = typeof self !== 'undefined' && typeof crypto !== 'undefined' ? (bytes) => {
|
|
230
225
|
// Web
|
|
231
226
|
const buf = new Uint8Array(bytes);
|
|
232
227
|
crypto.getRandomValues(buf);
|
|
233
228
|
return btoa(String.fromCharCode.apply(null, buf));
|
|
234
|
-
}
|
|
229
|
+
} : typeof Buffer !== 'undefined' ? (bytes) => {
|
|
230
|
+
// Node
|
|
231
|
+
const buf = Buffer.alloc(bytes);
|
|
232
|
+
randomFillSync(buf);
|
|
233
|
+
return buf.toString("base64");
|
|
234
|
+
} : () => { throw new Error("No implementation of randomString was found"); };
|
|
235
235
|
|
|
236
236
|
/** Verifies that given primary key is valid.
|
|
237
237
|
* The reason we narrow validity for valid keys are twofold:
|
|
@@ -3282,7 +3282,7 @@
|
|
|
3282
3282
|
// serverRev.rev = bigIntDef.bigint.revive(server.rev)
|
|
3283
3283
|
// else
|
|
3284
3284
|
// serverRev.rev = new FakeBigInt(server.rev)
|
|
3285
|
-
const hasBigIntSupport = typeof BigInt(0) === 'bigint';
|
|
3285
|
+
const hasBigIntSupport = typeof BigInt === 'function' && typeof BigInt(0) === 'bigint';
|
|
3286
3286
|
class FakeBigInt {
|
|
3287
3287
|
constructor(value) {
|
|
3288
3288
|
this.v = value;
|
|
@@ -4423,7 +4423,7 @@
|
|
|
4423
4423
|
// modify operations. Reason: Server may not have
|
|
4424
4424
|
// the object. Object should be created on server only
|
|
4425
4425
|
// if is being updated. An update operation won't create it
|
|
4426
|
-
// so we must delete req.changeSpec to
|
|
4426
|
+
// so we must delete req.changeSpec to degrade operation to
|
|
4427
4427
|
// an upsert operation with timestamp so that it will be created.
|
|
4428
4428
|
// We must also degrade from consistent modify operations for the
|
|
4429
4429
|
// same reason - object might be there on server. Must but put up instead.
|
|
@@ -4435,7 +4435,7 @@
|
|
|
4435
4435
|
if (req.type === 'put') {
|
|
4436
4436
|
delete req.criteria;
|
|
4437
4437
|
delete req.changeSpec;
|
|
4438
|
-
delete req.
|
|
4438
|
+
delete req.updates;
|
|
4439
4439
|
obj.$ts = Date.now();
|
|
4440
4440
|
}
|
|
4441
4441
|
}
|
|
@@ -4640,11 +4640,10 @@
|
|
|
4640
4640
|
const { numFailures: hasFailures, failures } = res;
|
|
4641
4641
|
let keys = type === 'delete' ? req.keys : res.results;
|
|
4642
4642
|
let values = 'values' in req ? req.values : [];
|
|
4643
|
-
let
|
|
4643
|
+
let updates = 'updates' in req && req.updates;
|
|
4644
4644
|
if (hasFailures) {
|
|
4645
4645
|
keys = keys.filter((_, idx) => !failures[idx]);
|
|
4646
4646
|
values = values.filter((_, idx) => !failures[idx]);
|
|
4647
|
-
changeSpecs = changeSpecs.filter((_, idx) => !failures[idx]);
|
|
4648
4647
|
}
|
|
4649
4648
|
const ts = Date.now();
|
|
4650
4649
|
const mut = req.type === 'delete'
|
|
@@ -4676,13 +4675,13 @@
|
|
|
4676
4675
|
txid,
|
|
4677
4676
|
userId
|
|
4678
4677
|
}
|
|
4679
|
-
:
|
|
4678
|
+
: updates
|
|
4680
4679
|
? {
|
|
4681
4680
|
// One changeSpec per key
|
|
4682
4681
|
type: 'update',
|
|
4683
4682
|
ts,
|
|
4684
|
-
keys,
|
|
4685
|
-
changeSpecs,
|
|
4683
|
+
keys: updates.keys,
|
|
4684
|
+
changeSpecs: updates.changeSpecs,
|
|
4686
4685
|
txid,
|
|
4687
4686
|
userId
|
|
4688
4687
|
}
|
|
@@ -5863,10 +5862,10 @@
|
|
|
5863
5862
|
}
|
|
5864
5863
|
|
|
5865
5864
|
const getInvitesObservable = associate((db) => {
|
|
5866
|
-
const membersByEmail = getCurrentUserEmitter(db._novip).pipe(
|
|
5865
|
+
const membersByEmail = getCurrentUserEmitter(db._novip).pipe(switchMap((currentUser) => Dexie.liveQuery(() => db.members.where({ email: currentUser.email || '' }).toArray())));
|
|
5867
5866
|
const permissions = getPermissionsLookupObservable(db._novip);
|
|
5868
5867
|
const accessControl = getInternalAccessControlObservable(db._novip);
|
|
5869
|
-
return createSharedValueObservable(rxjs.combineLatest([membersByEmail, accessControl, permissions]).pipe(
|
|
5868
|
+
return createSharedValueObservable(rxjs.combineLatest([membersByEmail, accessControl, permissions]).pipe(map(([membersByEmail, accessControl, realmLookup]) => {
|
|
5870
5869
|
const reducer = (result, m) => (Object.assign(Object.assign({}, result), { [m.id]: Object.assign(Object.assign({}, m), { realm: realmLookup[m.realmId] }) }));
|
|
5871
5870
|
const emailMembersById = membersByEmail.reduce(reducer, {});
|
|
5872
5871
|
const membersById = accessControl.selfMembers.reduce(reducer, emailMembersById);
|