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.
Files changed (43) hide show
  1. package/dist/modern/dexie-cloud-addon.js +21 -22
  2. package/dist/modern/dexie-cloud-addon.js.map +1 -1
  3. package/dist/modern/dexie-cloud-addon.min.js +1 -1
  4. package/dist/modern/dexie-cloud-addon.min.js.map +1 -1
  5. package/dist/modern/service-worker.js +20 -21
  6. package/dist/modern/service-worker.js.map +1 -1
  7. package/dist/modern/service-worker.min.js +1 -1
  8. package/dist/modern/service-worker.min.js.map +1 -1
  9. package/dist/module-es5/dexie-cloud-addon.js +21 -22
  10. package/dist/module-es5/dexie-cloud-addon.js.map +1 -1
  11. package/dist/module-es5/dexie-cloud-addon.min.js +1 -1
  12. package/dist/module-es5/dexie-cloud-addon.min.js.map +1 -1
  13. package/dist/types/DexieCloudTable.d.ts +18 -2
  14. package/dist/types/extend-dexie-interface.d.ts +5 -3
  15. package/dist/types/sync/getTablesToSyncify.d.ts +1 -1
  16. package/dist/umd/dexie-cloud-addon.js +20 -21
  17. package/dist/umd/dexie-cloud-addon.js.map +1 -1
  18. package/dist/umd/dexie-cloud-addon.min.js +1 -1
  19. package/dist/umd/dexie-cloud-addon.min.js.map +1 -1
  20. package/dist/umd/service-worker.js +19 -20
  21. package/dist/umd/service-worker.js.map +1 -1
  22. package/dist/umd/service-worker.min.js +1 -1
  23. package/dist/umd/service-worker.min.js.map +1 -1
  24. package/dist/umd-modern/dexie-cloud-addon.js +17 -18
  25. package/dist/umd-modern/dexie-cloud-addon.js.map +1 -1
  26. package/package.json +3 -3
  27. package/dist/types/DexieCloudEntity.d.ts +0 -8
  28. package/dist/types/DexieCloudServerState.d.ts +0 -5
  29. package/dist/types/WebSocketStatus.d.ts +0 -1
  30. package/dist/types/createMyMembersObservable.d.ts +0 -14
  31. package/dist/types/currentUserObservable.d.ts +0 -3
  32. package/dist/types/helpers/BroadcastedLocalEvent.d.ts +0 -8
  33. package/dist/types/helpers/visibleState.d.ts +0 -1
  34. package/dist/types/permissionsLookup.d.ts +0 -9
  35. package/dist/types/permissionsLookupObservable.d.ts +0 -14
  36. package/dist/types/sync/globalizePrivateIds.d.ts +0 -4
  37. package/dist/types/sync/syncServerToClientOnly.d.ts +0 -3
  38. package/dist/types/types/CloudConnectionStatus.d.ts +0 -0
  39. package/dist/types/types/ConnectionStatus.d.ts +0 -0
  40. package/dist/types/types/LoginState.d.ts +0 -41
  41. package/dist/types/types/SyncConnectionStatus.d.ts +0 -1
  42. package/dist/types/types/SyncFlowStatus.d.ts +0 -6
  43. 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 Buffer !== 'undefined' ? (bytes) => {
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 decrate operation 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.changeSpecs;
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 changeSpecs = 'changeSpecs' in req ? req.changeSpecs : [];
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
- : req.changeSpecs
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(rxjs.switchMap((currentUser) => Dexie.liveQuery(() => db.members.where({ email: currentUser.email || '' }).toArray())));
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(rxjs.map(([membersByEmail, accessControl, realmLookup]) => {
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);