dexie-cloud-addon 4.0.0-beta.23 → 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 +38 -26
  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 +37 -25
  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 +38 -26
  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 +37 -25
  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 +36 -24
  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 +34 -22
  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
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * ==========================================================================
10
10
  *
11
- * Version 4.0.0-beta.23, Mon Oct 17 2022
11
+ * Version 4.0.1-beta.26, Tue Jan 17 2023
12
12
  *
13
13
  * https://dexie.org
14
14
  *
@@ -17,7 +17,7 @@
17
17
  */
18
18
 
19
19
  import Dexie, { cmp, liveQuery } from 'dexie';
20
- import { Observable as Observable$1, BehaviorSubject, Subject, fromEvent, of, merge, Subscription as Subscription$1, from as from$1, throwError, combineLatest, map as map$1, share, timer as timer$1, switchMap as switchMap$1 } from 'rxjs';
20
+ import { Observable as Observable$1, BehaviorSubject, Subject, fromEvent, of, merge, Subscription as Subscription$1, from as from$1, throwError, combineLatest, map as map$1, share, timer as timer$1 } from 'rxjs';
21
21
 
22
22
  /******************************************************************************
23
23
  Copyright (c) Microsoft Corporation.
@@ -152,7 +152,7 @@ function __asyncValues(o) {
152
152
  }
153
153
 
154
154
  //@ts-check
155
- const randomFillSync = crypto.getRandomValues;
155
+ const randomFillSync = crypto.getRandomValues.bind(crypto);
156
156
 
157
157
  function assert(b) {
158
158
  if (!b)
@@ -214,17 +214,17 @@ function setByKeyPath(obj, keyPath, value) {
214
214
  }
215
215
  }
216
216
  }
217
- const randomString$1 = typeof Buffer !== 'undefined' ? (bytes) => {
218
- // Node
219
- const buf = Buffer.alloc(bytes);
220
- randomFillSync(buf);
221
- return buf.toString("base64");
222
- } : (bytes) => {
217
+ const randomString$1 = typeof self !== 'undefined' && typeof crypto !== 'undefined' ? (bytes) => {
223
218
  // Web
224
219
  const buf = new Uint8Array(bytes);
225
220
  crypto.getRandomValues(buf);
226
221
  return btoa(String.fromCharCode.apply(null, buf));
227
- };
222
+ } : typeof Buffer !== 'undefined' ? (bytes) => {
223
+ // Node
224
+ const buf = Buffer.alloc(bytes);
225
+ randomFillSync(buf);
226
+ return buf.toString("base64");
227
+ } : () => { throw new Error("No implementation of randomString was found"); };
228
228
 
229
229
  /** Verifies that given primary key is valid.
230
230
  * The reason we narrow validity for valid keys are twofold:
@@ -3275,7 +3275,7 @@ var undefinedDef = {
3275
3275
  // serverRev.rev = bigIntDef.bigint.revive(server.rev)
3276
3276
  // else
3277
3277
  // serverRev.rev = new FakeBigInt(server.rev)
3278
- const hasBigIntSupport = typeof BigInt(0) === 'bigint';
3278
+ const hasBigIntSupport = typeof BigInt === 'function' && typeof BigInt(0) === 'bigint';
3279
3279
  class FakeBigInt {
3280
3280
  constructor(value) {
3281
3281
  this.v = value;
@@ -4416,7 +4416,7 @@ function createImplicitPropSetterMiddleware(db) {
4416
4416
  // modify operations. Reason: Server may not have
4417
4417
  // the object. Object should be created on server only
4418
4418
  // if is being updated. An update operation won't create it
4419
- // so we must delete req.changeSpec to decrate operation to
4419
+ // so we must delete req.changeSpec to degrade operation to
4420
4420
  // an upsert operation with timestamp so that it will be created.
4421
4421
  // We must also degrade from consistent modify operations for the
4422
4422
  // same reason - object might be there on server. Must but put up instead.
@@ -4428,7 +4428,7 @@ function createImplicitPropSetterMiddleware(db) {
4428
4428
  if (req.type === 'put') {
4429
4429
  delete req.criteria;
4430
4430
  delete req.changeSpec;
4431
- delete req.changeSpecs;
4431
+ delete req.updates;
4432
4432
  obj.$ts = Date.now();
4433
4433
  }
4434
4434
  }
@@ -4633,11 +4633,10 @@ function createMutationTrackingMiddleware({ currentUserObservable, db }) {
4633
4633
  const { numFailures: hasFailures, failures } = res;
4634
4634
  let keys = type === 'delete' ? req.keys : res.results;
4635
4635
  let values = 'values' in req ? req.values : [];
4636
- let changeSpecs = 'changeSpecs' in req ? req.changeSpecs : [];
4636
+ let updates = 'updates' in req && req.updates;
4637
4637
  if (hasFailures) {
4638
4638
  keys = keys.filter((_, idx) => !failures[idx]);
4639
4639
  values = values.filter((_, idx) => !failures[idx]);
4640
- changeSpecs = changeSpecs.filter((_, idx) => !failures[idx]);
4641
4640
  }
4642
4641
  const ts = Date.now();
4643
4642
  const mut = req.type === 'delete'
@@ -4669,13 +4668,13 @@ function createMutationTrackingMiddleware({ currentUserObservable, db }) {
4669
4668
  txid,
4670
4669
  userId
4671
4670
  }
4672
- : req.changeSpecs
4671
+ : updates
4673
4672
  ? {
4674
4673
  // One changeSpec per key
4675
4674
  type: 'update',
4676
4675
  ts,
4677
- keys,
4678
- changeSpecs,
4676
+ keys: updates.keys,
4677
+ changeSpecs: updates.changeSpecs,
4679
4678
  txid,
4680
4679
  userId
4681
4680
  }
@@ -5481,13 +5480,26 @@ class LoginGui extends d$1 {
5481
5480
  }
5482
5481
  }
5483
5482
  function setupDefaultGUI(db) {
5484
- const el = document.createElement('div');
5485
- document.body.appendChild(el);
5486
- P(h(LoginGui, { db: db.vip }), el);
5487
5483
  let closed = false;
5484
+ const el = document.createElement('div');
5485
+ if (document.body) {
5486
+ document.body.appendChild(el);
5487
+ P(h(LoginGui, { db: db.vip }), el);
5488
+ }
5489
+ else {
5490
+ addEventListener('DOMContentLoaded', () => {
5491
+ if (!closed) {
5492
+ document.body.appendChild(el);
5493
+ P(h(LoginGui, { db: db.vip }), el);
5494
+ }
5495
+ });
5496
+ }
5488
5497
  return {
5489
5498
  unsubscribe() {
5490
- el.remove();
5499
+ try {
5500
+ el.remove();
5501
+ }
5502
+ catch (_a) { }
5491
5503
  closed = true;
5492
5504
  },
5493
5505
  get closed() {
@@ -5843,10 +5855,10 @@ function permissions(dexie, obj, tableName) {
5843
5855
  }
5844
5856
 
5845
5857
  const getInvitesObservable = associate((db) => {
5846
- const membersByEmail = getCurrentUserEmitter(db._novip).pipe(switchMap$1((currentUser) => liveQuery(() => db.members.where({ email: currentUser.email || '' }).toArray())));
5858
+ const membersByEmail = getCurrentUserEmitter(db._novip).pipe(switchMap((currentUser) => liveQuery(() => db.members.where({ email: currentUser.email || '' }).toArray())));
5847
5859
  const permissions = getPermissionsLookupObservable(db._novip);
5848
5860
  const accessControl = getInternalAccessControlObservable(db._novip);
5849
- return createSharedValueObservable(combineLatest([membersByEmail, accessControl, permissions]).pipe(map$1(([membersByEmail, accessControl, realmLookup]) => {
5861
+ return createSharedValueObservable(combineLatest([membersByEmail, accessControl, permissions]).pipe(map(([membersByEmail, accessControl, realmLookup]) => {
5850
5862
  const reducer = (result, m) => (Object.assign(Object.assign({}, result), { [m.id]: Object.assign(Object.assign({}, m), { realm: realmLookup[m.realmId] }) }));
5851
5863
  const emailMembersById = membersByEmail.reduce(reducer, {});
5852
5864
  const membersById = accessControl.selfMembers.reduce(reducer, emailMembersById);
@@ -5909,7 +5921,7 @@ function dexieCloud(dexie) {
5909
5921
  currentUserEmitter.next(UNAUTHORIZED_USER);
5910
5922
  });
5911
5923
  dexie.cloud = {
5912
- version: '4.0.0-beta.23',
5924
+ version: '4.0.1-beta.26',
5913
5925
  options: Object.assign({}, DEFAULT_OPTIONS),
5914
5926
  schema: null,
5915
5927
  get currentUserId() {
@@ -6162,7 +6174,7 @@ function dexieCloud(dexie) {
6162
6174
  });
6163
6175
  }
6164
6176
  }
6165
- dexieCloud.version = '4.0.0-beta.23';
6177
+ dexieCloud.version = '4.0.1-beta.26';
6166
6178
  Dexie.Cloud = dexieCloud;
6167
6179
 
6168
6180
  export { dexieCloud as default, dexieCloud, getTiedObjectId, getTiedRealmId };