dexie-cloud-addon 4.2.4 → 4.2.5

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 (152) hide show
  1. package/dexie-cloud-import.json +2 -1
  2. package/dist/modern/dexie-cloud-addon.js +146 -168
  3. package/dist/modern/dexie-cloud-addon.js.map +1 -1
  4. package/dist/modern/dexie-cloud-addon.min.js +1 -1
  5. package/dist/modern/dexie-cloud-addon.min.js.map +1 -1
  6. package/dist/modern/service-worker.js +146 -168
  7. package/dist/modern/service-worker.js.map +1 -1
  8. package/dist/modern/service-worker.min.js +1 -1
  9. package/dist/modern/service-worker.min.js.map +1 -1
  10. package/dist/umd/dexie-cloud-addon.js +1623 -2458
  11. package/dist/umd/dexie-cloud-addon.js.map +1 -1
  12. package/dist/umd/dexie-cloud-addon.min.js +1 -1
  13. package/dist/umd/dexie-cloud-addon.min.js.map +1 -1
  14. package/dist/umd/service-worker.js +2003 -2838
  15. package/dist/umd/service-worker.js.map +1 -1
  16. package/dist/umd/service-worker.min.js +1 -1
  17. package/dist/umd/service-worker.min.js.map +1 -1
  18. package/package.json +11 -8
  19. package/dist/umd/DISABLE_SERVICEWORKER_STRATEGY.d.ts +0 -1
  20. package/dist/umd/DXCWebSocketStatus.d.ts +0 -1
  21. package/dist/umd/DexieCloudAPI.d.ts +0 -75
  22. package/dist/umd/DexieCloudOptions.d.ts +0 -27
  23. package/dist/umd/DexieCloudSyncOptions.d.ts +0 -4
  24. package/dist/umd/DexieCloudTable.d.ts +0 -18
  25. package/dist/umd/InvalidLicenseError.d.ts +0 -5
  26. package/dist/umd/Invite.d.ts +0 -8
  27. package/dist/umd/PermissionChecker.d.ts +0 -15
  28. package/dist/umd/TSON.d.ts +0 -17
  29. package/dist/umd/WSObservable.d.ts +0 -72
  30. package/dist/umd/associate.d.ts +0 -1
  31. package/dist/umd/authentication/AuthPersistedContext.d.ts +0 -9
  32. package/dist/umd/authentication/TokenErrorResponseError.d.ts +0 -10
  33. package/dist/umd/authentication/TokenExpiredError.d.ts +0 -3
  34. package/dist/umd/authentication/UNAUTHORIZED_USER.d.ts +0 -2
  35. package/dist/umd/authentication/authenticate.d.ts +0 -13
  36. package/dist/umd/authentication/currentUserObservable.d.ts +0 -1
  37. package/dist/umd/authentication/interactWithUser.d.ts +0 -21
  38. package/dist/umd/authentication/login.d.ts +0 -3
  39. package/dist/umd/authentication/logout.d.ts +0 -5
  40. package/dist/umd/authentication/otpFetchTokenCallback.d.ts +0 -3
  41. package/dist/umd/authentication/setCurrentUser.d.ts +0 -14
  42. package/dist/umd/authentication/waitUntil.d.ts +0 -3
  43. package/dist/umd/computeSyncState.d.ts +0 -4
  44. package/dist/umd/createSharedValueObservable.d.ts +0 -3
  45. package/dist/umd/currentUserEmitter.d.ts +0 -3
  46. package/dist/umd/db/DexieCloudDB.d.ts +0 -61
  47. package/dist/umd/db/entities/BaseRevisionMapEntry.d.ts +0 -5
  48. package/dist/umd/db/entities/EntityCommon.d.ts +0 -5
  49. package/dist/umd/db/entities/GuardedJob.d.ts +0 -5
  50. package/dist/umd/db/entities/Member.d.ts +0 -19
  51. package/dist/umd/db/entities/PersistedSyncState.d.ts +0 -22
  52. package/dist/umd/db/entities/Realm.d.ts +0 -14
  53. package/dist/umd/db/entities/Role.d.ts +0 -11
  54. package/dist/umd/db/entities/UserLogin.d.ts +0 -23
  55. package/dist/umd/default-ui/Dialog.d.ts +0 -5
  56. package/dist/umd/default-ui/LoginDialog.d.ts +0 -3
  57. package/dist/umd/default-ui/Styles.d.ts +0 -3
  58. package/dist/umd/default-ui/index.d.ts +0 -24
  59. package/dist/umd/define-ydoc-trigger.d.ts +0 -3
  60. package/dist/umd/dexie-cloud-addon.d.ts +0 -3
  61. package/dist/umd/dexie-cloud-client.d.ts +0 -23
  62. package/dist/umd/errors/HttpError.d.ts +0 -5
  63. package/dist/umd/extend-dexie-interface.d.ts +0 -23
  64. package/dist/umd/getGlobalRolesObservable.d.ts +0 -5
  65. package/dist/umd/getInternalAccessControlObservable.d.ts +0 -12
  66. package/dist/umd/getInvitesObservable.d.ts +0 -23
  67. package/dist/umd/getPermissionsLookupObservable.d.ts +0 -16
  68. package/dist/umd/getTiedRealmId.d.ts +0 -2
  69. package/dist/umd/helpers/BroadcastedAndLocalEvent.d.ts +0 -8
  70. package/dist/umd/helpers/CancelToken.d.ts +0 -4
  71. package/dist/umd/helpers/IS_SERVICE_WORKER.d.ts +0 -1
  72. package/dist/umd/helpers/SWBroadcastChannel.d.ts +0 -12
  73. package/dist/umd/helpers/allSettled.d.ts +0 -1
  74. package/dist/umd/helpers/bulkUpdate.d.ts +0 -4
  75. package/dist/umd/helpers/computeRealmSetHash.d.ts +0 -2
  76. package/dist/umd/helpers/date-constants.d.ts +0 -5
  77. package/dist/umd/helpers/flatten.d.ts +0 -1
  78. package/dist/umd/helpers/getMutationTable.d.ts +0 -1
  79. package/dist/umd/helpers/getSyncableTables.d.ts +0 -4
  80. package/dist/umd/helpers/getTableFromMutationTable.d.ts +0 -1
  81. package/dist/umd/helpers/makeArray.d.ts +0 -1
  82. package/dist/umd/helpers/randomString.d.ts +0 -1
  83. package/dist/umd/helpers/resolveText.d.ts +0 -16
  84. package/dist/umd/helpers/throwVersionIncrementNeeded.d.ts +0 -1
  85. package/dist/umd/helpers/visibilityState.d.ts +0 -1
  86. package/dist/umd/isEagerSyncDisabled.d.ts +0 -2
  87. package/dist/umd/isFirefox.d.ts +0 -1
  88. package/dist/umd/isSafari.d.ts +0 -2
  89. package/dist/umd/mapValueObservable.d.ts +0 -5
  90. package/dist/umd/mergePermissions.d.ts +0 -2
  91. package/dist/umd/middleware-helpers/guardedTable.d.ts +0 -11
  92. package/dist/umd/middleware-helpers/idGenerationHelpers.d.ts +0 -18
  93. package/dist/umd/middlewares/createIdGenerationMiddleware.d.ts +0 -3
  94. package/dist/umd/middlewares/createImplicitPropSetterMiddleware.d.ts +0 -3
  95. package/dist/umd/middlewares/createMutationTrackingMiddleware.d.ts +0 -17
  96. package/dist/umd/middlewares/outstandingTransaction.d.ts +0 -4
  97. package/dist/umd/overrideParseStoresSpec.d.ts +0 -4
  98. package/dist/umd/performInitialSync.d.ts +0 -4
  99. package/dist/umd/permissions.d.ts +0 -9
  100. package/dist/umd/prodLog.d.ts +0 -9
  101. package/dist/umd/service-worker.d.ts +0 -1
  102. package/dist/umd/sync/DEXIE_CLOUD_SYNCER_ID.d.ts +0 -1
  103. package/dist/umd/sync/LocalSyncWorker.d.ts +0 -7
  104. package/dist/umd/sync/SyncRequiredError.d.ts +0 -3
  105. package/dist/umd/sync/applyServerChanges.d.ts +0 -3
  106. package/dist/umd/sync/connectWebSocket.d.ts +0 -2
  107. package/dist/umd/sync/encodeIdsForServer.d.ts +0 -4
  108. package/dist/umd/sync/extractRealm.d.ts +0 -2
  109. package/dist/umd/sync/getLatestRevisionsPerTable.d.ts +0 -6
  110. package/dist/umd/sync/getTablesToSyncify.d.ts +0 -3
  111. package/dist/umd/sync/isOnline.d.ts +0 -1
  112. package/dist/umd/sync/isSyncNeeded.d.ts +0 -2
  113. package/dist/umd/sync/listClientChanges.d.ts +0 -9
  114. package/dist/umd/sync/listSyncifiedChanges.d.ts +0 -5
  115. package/dist/umd/sync/messageConsumerIsReady.d.ts +0 -2
  116. package/dist/umd/sync/messagesFromServerQueue.d.ts +0 -8
  117. package/dist/umd/sync/modifyLocalObjectsWithNewUserId.d.ts +0 -4
  118. package/dist/umd/sync/myId.d.ts +0 -1
  119. package/dist/umd/sync/numUnsyncedMutations.d.ts +0 -2
  120. package/dist/umd/sync/old_startSyncingClientChanges.d.ts +0 -39
  121. package/dist/umd/sync/performGuardedJob.d.ts +0 -2
  122. package/dist/umd/sync/ratelimit.d.ts +0 -3
  123. package/dist/umd/sync/registerSyncEvent.d.ts +0 -3
  124. package/dist/umd/sync/sync.d.ts +0 -15
  125. package/dist/umd/sync/syncIfPossible.d.ts +0 -5
  126. package/dist/umd/sync/syncWithServer.d.ts +0 -6
  127. package/dist/umd/sync/triggerSync.d.ts +0 -2
  128. package/dist/umd/sync/updateBaseRevs.d.ts +0 -5
  129. package/dist/umd/types/DXCAlert.d.ts +0 -25
  130. package/dist/umd/types/DXCInputField.d.ts +0 -11
  131. package/dist/umd/types/DXCUserInteraction.d.ts +0 -93
  132. package/dist/umd/types/NewIdOptions.d.ts +0 -3
  133. package/dist/umd/types/SWMessageEvent.d.ts +0 -3
  134. package/dist/umd/types/SWSyncEvent.d.ts +0 -4
  135. package/dist/umd/types/SyncState.d.ts +0 -9
  136. package/dist/umd/types/TXExpandos.d.ts +0 -11
  137. package/dist/umd/updateSchemaFromOptions.d.ts +0 -3
  138. package/dist/umd/userIsActive.d.ts +0 -7
  139. package/dist/umd/verifyConfig.d.ts +0 -2
  140. package/dist/umd/verifySchema.d.ts +0 -2
  141. package/dist/umd/yjs/YDexieCloudSyncState.d.ts +0 -3
  142. package/dist/umd/yjs/YTable.d.ts +0 -3
  143. package/dist/umd/yjs/applyYMessages.d.ts +0 -9
  144. package/dist/umd/yjs/awareness.d.ts +0 -3
  145. package/dist/umd/yjs/createYClientUpdateObservable.d.ts +0 -4
  146. package/dist/umd/yjs/createYHandler.d.ts +0 -2
  147. package/dist/umd/yjs/downloadYDocsFromServer.d.ts +0 -3
  148. package/dist/umd/yjs/getUpdatesTable.d.ts +0 -3
  149. package/dist/umd/yjs/listUpdatesSince.d.ts +0 -3
  150. package/dist/umd/yjs/listYClientMessagesAndStateVector.d.ts +0 -26
  151. package/dist/umd/yjs/reopenDocSignal.d.ts +0 -10
  152. package/dist/umd/yjs/updateYSyncStates.d.ts +0 -6
@@ -1,25 +0,0 @@
1
- export type DXCAlert = DXCErrorAlert | DXCWarningAlert | DXCInfoAlert;
2
- export interface DXCErrorAlert {
3
- type: 'error';
4
- messageCode: 'INVALID_OTP' | 'INVALID_EMAIL' | 'LICENSE_LIMIT_REACHED' | 'GENERIC_ERROR';
5
- message: string;
6
- messageParams: {
7
- [paramName: string]: string;
8
- };
9
- }
10
- export interface DXCWarningAlert {
11
- type: 'warning';
12
- messageCode: 'GENERIC_WARNING' | 'LOGOUT_CONFIRMATION';
13
- message: string;
14
- messageParams: {
15
- [paramName: string]: string;
16
- };
17
- }
18
- export interface DXCInfoAlert {
19
- type: 'info';
20
- messageCode: 'GENERIC_INFO' | 'OTP_SENT';
21
- message: string;
22
- messageParams: {
23
- [paramName: string]: string;
24
- };
25
- }
@@ -1,11 +0,0 @@
1
- export type DXCInputField = DXCTextField | DXCPasswordField;
2
- export interface DXCTextField {
3
- type: 'text' | 'email' | 'otp';
4
- label?: string;
5
- placeholder?: string;
6
- }
7
- export interface DXCPasswordField {
8
- type: 'password';
9
- label?: string;
10
- placeholder?: string;
11
- }
@@ -1,93 +0,0 @@
1
- import { DXCAlert } from './DXCAlert';
2
- import { DXCInputField } from './DXCInputField';
3
- export type DXCUserInteraction = DXCGenericUserInteraction | DXCEmailPrompt | DXCOTPPrompt | DXCMessageAlert | DXCLogoutConfirmation;
4
- export interface DXCGenericUserInteraction<Type extends string = "generic", TFields extends {
5
- [name: string]: DXCInputField;
6
- } = any> {
7
- type: Type;
8
- title: string;
9
- alerts: DXCAlert[];
10
- fields: TFields;
11
- submitLabel: string;
12
- cancelLabel: string | null;
13
- onSubmit: (params: {
14
- [P in keyof TFields]: string;
15
- }) => void;
16
- onCancel: () => void;
17
- }
18
- /** When the system needs to prompt for an email address for login.
19
- *
20
- */
21
- export interface DXCEmailPrompt {
22
- type: 'email';
23
- title: string;
24
- alerts: DXCAlert[];
25
- fields: {
26
- email: {
27
- type: 'text';
28
- placeholder: string;
29
- };
30
- };
31
- submitLabel: string;
32
- cancelLabel: string;
33
- onSubmit: (params: {
34
- email: string;
35
- } | {
36
- [paramName: string]: string;
37
- }) => void;
38
- onCancel: () => void;
39
- }
40
- /** When the system needs to prompt for an OTP code.
41
- *
42
- */
43
- export interface DXCOTPPrompt {
44
- type: 'otp';
45
- title: string;
46
- alerts: DXCAlert[];
47
- fields: {
48
- otp: {
49
- type: 'text';
50
- label: string;
51
- };
52
- };
53
- submitLabel: string;
54
- cancelLabel: string;
55
- onSubmit: (params: {
56
- otp: string;
57
- } | {
58
- [paramName: string]: string;
59
- }) => void;
60
- onCancel: () => void;
61
- }
62
- /** When the system must inform about errors, warnings or information */
63
- export interface DXCMessageAlert {
64
- type: 'message-alert';
65
- title: string;
66
- alerts: DXCAlert[];
67
- fields: {
68
- [name: string]: DXCInputField;
69
- };
70
- submitLabel: string;
71
- cancelLabel?: null;
72
- onSubmit: (params: {
73
- [paramName: string]: string;
74
- }) => void;
75
- onCancel: () => void;
76
- }
77
- /** When the system needs confirmation to logout current user when
78
- * there are unsynced changes that would be lost.
79
- */
80
- export interface DXCLogoutConfirmation {
81
- type: 'logout-confirmation';
82
- title: string;
83
- alerts: DXCAlert[];
84
- fields: {
85
- [name: string]: DXCInputField;
86
- };
87
- submitLabel: string;
88
- cancelLabel: string;
89
- onSubmit: (params: {
90
- [paramName: string]: string;
91
- }) => void;
92
- onCancel: () => void;
93
- }
@@ -1,3 +0,0 @@
1
- export interface NewIdOptions {
2
- colocateWith?: string;
3
- }
@@ -1,3 +0,0 @@
1
- export interface SWMessageEvent extends MessageEvent {
2
- waitUntil(promise: Promise<any>): void;
3
- }
@@ -1,4 +0,0 @@
1
- export type SyncEvent = Event & {
2
- tag: string;
3
- waitUntil(promise: Promise<any>): void;
4
- };
@@ -1,9 +0,0 @@
1
- export type SyncStatePhase = "initial" | "not-in-sync" | "pushing" | "pulling" | "in-sync" | 'error' | 'offline';
2
- export type SyncStatus = "not-started" | "connecting" | "connected" | "disconnected" | "error" | "offline";
3
- export interface SyncState {
4
- status: SyncStatus;
5
- phase: SyncStatePhase;
6
- progress?: number;
7
- error?: Error;
8
- license?: 'ok' | 'expired' | 'deactivated';
9
- }
@@ -1,11 +0,0 @@
1
- import { DexieCloudSchema } from "dexie-cloud-common";
2
- import { UserLogin } from '../db/entities/UserLogin';
3
- export interface TXExpandos {
4
- txid: string;
5
- currentUser: UserLogin;
6
- schema: DexieCloudSchema;
7
- disableChangeTracking?: boolean;
8
- disableAccessControl?: boolean;
9
- mutationsAdded?: boolean;
10
- opCount: number;
11
- }
@@ -1,3 +0,0 @@
1
- import { DexieCloudSchema } from "dexie-cloud-common";
2
- import { DexieCloudOptions } from "./DexieCloudOptions";
3
- export declare function updateSchemaFromOptions(schema?: DexieCloudSchema | null, options?: DexieCloudOptions | null): void;
@@ -1,7 +0,0 @@
1
- import { BehaviorSubject } from 'rxjs';
2
- export declare const userIsActive: BehaviorSubject<boolean>;
3
- export declare const userIsReallyActive: BehaviorSubject<boolean>;
4
- export declare const visibilityStateIsChanged: import("rxjs").Observable<{}>;
5
- export declare const documentBecomesHidden: import("rxjs").Observable<{}>;
6
- export declare const documentBecomesVisible: import("rxjs").Observable<{}>;
7
- export declare const userDoesSomething: import("rxjs").Observable<Event | {}>;
@@ -1,2 +0,0 @@
1
- import { DexieCloudOptions } from "./DexieCloudOptions";
2
- export declare function verifyConfig({ databaseUrl }?: DexieCloudOptions): void;
@@ -1,2 +0,0 @@
1
- import { DexieCloudDB } from "./db/DexieCloudDB";
2
- export declare function verifySchema(db: DexieCloudDB): void;
@@ -1,3 +0,0 @@
1
- import type { YSyncState } from 'y-dexie';
2
- export interface YDexieCloudSyncState extends YSyncState {
3
- }
@@ -1,3 +0,0 @@
1
- import { EntityTable } from "dexie";
2
- import type { YUpdateRow } from "y-dexie";
3
- export type YTable = EntityTable<YUpdateRow, "i">;
@@ -1,9 +0,0 @@
1
- import { DexieCloudDB } from '../db/DexieCloudDB';
2
- import { YServerMessage } from 'dexie-cloud-common';
3
- export declare function applyYServerMessages(yMessages: YServerMessage[], db: DexieCloudDB): Promise<{
4
- receivedUntils: {
5
- [yTable: string]: number;
6
- };
7
- resyncNeeded: boolean;
8
- yServerRevision?: string;
9
- }>;
@@ -1,3 +0,0 @@
1
- import type { Awareness } from 'y-protocols/awareness';
2
- export declare const awarenessWeakMap: WeakMap<any, Awareness>;
3
- export declare const getDocAwareness: (doc: any) => Awareness | undefined;
@@ -1,4 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { YClientMessage } from 'dexie-cloud-common';
3
- import { DexieCloudDB } from '../db/DexieCloudDB';
4
- export declare function createYClientUpdateObservable(db: DexieCloudDB): Observable<YClientMessage>;
@@ -1,2 +0,0 @@
1
- import type { DexieCloudDB } from '../db/DexieCloudDB';
2
- export declare function createYHandler(db: DexieCloudDB): (provider: import("y-dexie").DexieYProvider) => void;
@@ -1,3 +0,0 @@
1
- import { DexieCloudDB } from '../db/DexieCloudDB';
2
- import { PersistedSyncState } from '../db/entities/PersistedSyncState';
3
- export declare function downloadYDocsFromServer(db: DexieCloudDB, databaseUrl: string, { yDownloadedRealms, realms }: PersistedSyncState): Promise<void>;
@@ -1,3 +0,0 @@
1
- import { DexieCloudDB } from "../db/DexieCloudDB";
2
- import { YTable } from "./YTable";
3
- export declare function getUpdatesTable(db: DexieCloudDB, table: string, ydocProp: string): YTable | undefined;
@@ -1,3 +0,0 @@
1
- import type { Table } from 'dexie';
2
- import type { YUpdateRow } from 'y-dexie';
3
- export declare function listUpdatesSince(yTable: Table, sinceIncluding: number): Promise<YUpdateRow[]>;
@@ -1,26 +0,0 @@
1
- import type { Table } from 'dexie';
2
- import type { YClientMessage } from 'dexie-cloud-common';
3
- import { DexieCloudDB } from '../db/DexieCloudDB';
4
- import { EntityCommon } from '../db/entities/EntityCommon';
5
- /** Queries the local database for YMessages to send to server.
6
- *
7
- * There are 2 messages that this function can provide:
8
- * YUpdateFromClientRequest ( for local updates )
9
- * YStateVector ( for state vector of foreign updates so that server can reduce the number of udpates to send back )
10
- *
11
- * Notice that we do not do a step 1 sync phase here to get a state vector from the server. Reason we can avoid
12
- * the 2-step sync is that we are client-server and not client-client here and we keep track of the client changes
13
- * sent to server by letting server acknowledge them. There is always a chance that some client update has already
14
- * been sent and that the client failed to receive the ack. However, if this happens it does not matter - the change
15
- * would be sent again and Yjs handles duplicate changes anyway. And it's rare so we earn the cost of roundtrips by
16
- * avoiding the step1 sync and instead keep track of this in the `unsentFrom` property of the SyncState.
17
- *
18
- * @param db
19
- * @returns
20
- */
21
- export declare function listYClientMessagesAndStateVector(db: DexieCloudDB, tablesToSync: Table<EntityCommon>[]): Promise<{
22
- yMessages: YClientMessage[];
23
- lastUpdateIds: {
24
- [yTable: string]: number;
25
- };
26
- }>;
@@ -1,10 +0,0 @@
1
- import { Subject } from "rxjs";
2
- import type * as Y from "yjs";
3
- /** A property (package-private) on Y.Doc that is used
4
- * to signal that the server wants us to send a 'doc-open' message
5
- * to the server for this document.
6
- *
7
- * @param doc
8
- * @returns
9
- */
10
- export declare function getOpenDocSignal(doc: Y.Doc): Subject<void>;
@@ -1,6 +0,0 @@
1
- import { DexieCloudDB } from '../db/DexieCloudDB';
2
- export declare function updateYSyncStates(lastUpdateIdsBeforeSync: {
3
- [yTable: string]: number;
4
- }, receivedUntilsAfterSync: {
5
- [yTable: string]: number;
6
- }, db: DexieCloudDB): Promise<void>;