@prestizni-software/client-dem 0.7.2 → 0.7.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 (35) hide show
  1. package/dist/AutoUpdateClientManagerClass.d.ts +92 -1
  2. package/dist/AutoUpdateClientManagerClass.js +106 -16
  3. package/dist/AutoUpdateClientManagerClass.js.map +1 -1
  4. package/dist/AutoUpdateManagerClass.d.ts +67 -1
  5. package/dist/AutoUpdateManagerClass.js +39 -2
  6. package/dist/AutoUpdateManagerClass.js.map +1 -1
  7. package/dist/AutoUpdatedClientObjectClass.d.ts +119 -1
  8. package/dist/AutoUpdatedClientObjectClass.js +127 -10
  9. package/dist/AutoUpdatedClientObjectClass.js.map +1 -1
  10. package/dist/CommonTypes.d.ts +56 -1
  11. package/dist/CommonTypes.js +48 -1
  12. package/dist/CommonTypes.js.map +1 -1
  13. package/dist/DEMErrors.d.ts +89 -0
  14. package/dist/DEMErrors.js +155 -0
  15. package/dist/DEMErrors.js.map +1 -0
  16. package/dist/client.d.ts +1 -0
  17. package/dist/client.js +1 -0
  18. package/dist/client.js.map +1 -1
  19. package/dist/sync/ClientStateReconciler.d.ts +20 -0
  20. package/dist/sync/ClientStateReconciler.js +20 -0
  21. package/dist/sync/ClientStateReconciler.js.map +1 -1
  22. package/dist/sync/ServerChangeTracker.d.ts +46 -0
  23. package/dist/sync/ServerChangeTracker.js +46 -0
  24. package/dist/sync/ServerChangeTracker.js.map +1 -1
  25. package/dist/sync/storage/IndexedDbStorageAdapter.d.ts +31 -0
  26. package/dist/sync/storage/IndexedDbStorageAdapter.js +33 -1
  27. package/dist/sync/storage/IndexedDbStorageAdapter.js.map +1 -1
  28. package/dist/sync/storage/LocalStorageAdapter.d.ts +32 -0
  29. package/dist/sync/storage/LocalStorageAdapter.js +32 -0
  30. package/dist/sync/storage/LocalStorageAdapter.js.map +1 -1
  31. package/dist/sync/storage/MemoryStorageAdapter.d.ts +21 -0
  32. package/dist/sync/storage/MemoryStorageAdapter.js +21 -1
  33. package/dist/sync/storage/MemoryStorageAdapter.js.map +1 -1
  34. package/dist/tsconfig.tsbuildinfo +1 -1
  35. package/package.json +1 -1
@@ -0,0 +1,155 @@
1
+ /**
2
+ * Standard error codes for the DEM library.
3
+ */
4
+ export var DEMErrorCode;
5
+ (function (DEMErrorCode) {
6
+ // Database and connection errors
7
+ DEMErrorCode["DB_NOT_CONNECTED"] = "DEM_ERR_DB_NOT_CONNECTED";
8
+ DEMErrorCode["DB_OPERATION_FAILED"] = "DEM_ERR_DB_OPERATION_FAILED";
9
+ DEMErrorCode["DB_SAVE_FAILED"] = "DEM_ERR_DB_SAVE_FAILED";
10
+ DEMErrorCode["DB_DELETE_FAILED"] = "DEM_ERR_DB_DELETE_FAILED";
11
+ // Lifecycle and loading errors
12
+ DEMErrorCode["MANAGERS_NOT_INITIALIZED"] = "DEM_ERR_MANAGERS_NOT_INITIALIZED";
13
+ DEMErrorCode["PRELOAD_FAILED"] = "DEM_ERR_PRELOAD_FAILED";
14
+ DEMErrorCode["LOAD_REFERENCES_FAILED"] = "DEM_ERR_LOAD_REFERENCES_FAILED";
15
+ DEMErrorCode["OBJECT_LOAD_FAILED"] = "DEM_ERR_OBJECT_LOAD_FAILED";
16
+ DEMErrorCode["STARTUP_FAILED"] = "DEM_ERR_STARTUP_FAILED";
17
+ DEMErrorCode["VERSION_MISMATCH"] = "DEM_ERR_VERSION_MISMATCH";
18
+ // Validation and argument errors
19
+ DEMErrorCode["MISSING_ARGUMENT"] = "DEM_ERR_MISSING_ARGUMENT";
20
+ DEMErrorCode["MISSING_ID"] = "DEM_ERR_MISSING_ID";
21
+ DEMErrorCode["INVALID_ARGUMENT"] = "DEM_ERR_INVALID_ARGUMENT";
22
+ DEMErrorCode["INVALID_CONSTRUCTOR"] = "DEM_ERR_INVALID_CONSTRUCTOR";
23
+ DEMErrorCode["INVALID_MODEL"] = "DEM_ERR_INVALID_MODEL";
24
+ DEMErrorCode["INVALID_EVENT"] = "DEM_ERR_INVALID_EVENT";
25
+ DEMErrorCode["UNKNOWN_EVENT"] = "DEM_ERR_UNKNOWN_EVENT";
26
+ DEMErrorCode["UNDEFINED_EVENT"] = "DEM_ERR_UNDEFINED_EVENT";
27
+ DEMErrorCode["PROPERTY_NOT_FOUND"] = "DEM_ERR_PROPERTY_NOT_FOUND";
28
+ DEMErrorCode["CANNOT_SET_REF_DIRECTLY"] = "DEM_ERR_CANNOT_SET_REF_DIRECTLY";
29
+ // Entity and reference errors
30
+ DEMErrorCode["OBJECT_NOT_FOUND"] = "DEM_ERR_OBJECT_NOT_FOUND";
31
+ DEMErrorCode["DOCUMENT_NOT_FOUND"] = "DEM_ERR_DOCUMENT_NOT_FOUND";
32
+ DEMErrorCode["OBJECT_CREATE_FAILED"] = "DEM_ERR_OBJECT_CREATE_FAILED";
33
+ DEMErrorCode["OBJECT_DELETE_FAILED"] = "DEM_ERR_OBJECT_DELETE_FAILED";
34
+ DEMErrorCode["OBJECT_GET_FAILED"] = "DEM_ERR_OBJECT_GET_FAILED";
35
+ DEMErrorCode["REFERENCE_RESOLUTION_FAILED"] = "DEM_ERR_REFERENCE_RESOLUTION_FAILED";
36
+ DEMErrorCode["PRELOAD_TIMEOUT"] = "DEM_ERR_PRELOAD_TIMEOUT";
37
+ // Access and security errors
38
+ DEMErrorCode["ACCESS_DENIED"] = "DEM_ERR_ACCESS_DENIED";
39
+ DEMErrorCode["UNAUTHORIZED"] = "DEM_ERR_UNAUTHORIZED";
40
+ // Network and socket errors
41
+ DEMErrorCode["SOCKET_NOT_CONNECTED"] = "DEM_ERR_SOCKET_NOT_CONNECTED";
42
+ DEMErrorCode["SOCKET_FAILURE"] = "DEM_ERR_SOCKET_FAILURE";
43
+ DEMErrorCode["TIMEOUT"] = "DEM_ERR_TIMEOUT";
44
+ // Storage and sync errors
45
+ DEMErrorCode["STORAGE_NOT_SUPPORTED"] = "DEM_ERR_STORAGE_NOT_SUPPORTED";
46
+ DEMErrorCode["STORAGE_OPERATION_FAILED"] = "DEM_ERR_STORAGE_OPERATION_FAILED";
47
+ DEMErrorCode["DELTA_SYNC_FAILED"] = "DEM_ERR_DELTA_SYNC_FAILED";
48
+ // General internal error
49
+ DEMErrorCode["INTERNAL_ERROR"] = "DEM_ERR_INTERNAL_ERROR";
50
+ })(DEMErrorCode || (DEMErrorCode = {}));
51
+ /**
52
+ * Standard descriptions for DEM error codes.
53
+ */
54
+ export const DEM_ERROR_DESCRIPTIONS = {
55
+ [DEMErrorCode.DB_NOT_CONNECTED]: "Database is not in connected state. Establish connection before loading.",
56
+ [DEMErrorCode.DB_OPERATION_FAILED]: "Database operation failed during execution.",
57
+ [DEMErrorCode.DB_SAVE_FAILED]: "Saving document to database failed.",
58
+ [DEMErrorCode.DB_DELETE_FAILED]: "Deleting document from database failed.",
59
+ [DEMErrorCode.MANAGERS_NOT_INITIALIZED]: "Manager registry is not initialized.",
60
+ [DEMErrorCode.PRELOAD_FAILED]: "Pre-loading data from data source failed.",
61
+ [DEMErrorCode.LOAD_REFERENCES_FAILED]: "Resolving cross-manager references failed.",
62
+ [DEMErrorCode.OBJECT_LOAD_FAILED]: "Loading object data failed.",
63
+ [DEMErrorCode.STARTUP_FAILED]: "Receiving initial startup data from server failed.",
64
+ [DEMErrorCode.VERSION_MISMATCH]: "DEM version mismatch detected between client and server.",
65
+ [DEMErrorCode.MISSING_ARGUMENT]: "A required argument is missing.",
66
+ [DEMErrorCode.MISSING_ID]: "Object identifier is missing or invalid.",
67
+ [DEMErrorCode.INVALID_ARGUMENT]: "Provided argument is invalid.",
68
+ [DEMErrorCode.INVALID_CONSTRUCTOR]: "Model constructor provided to manager is invalid.",
69
+ [DEMErrorCode.INVALID_MODEL]: "Mongoose model for class is invalid or unavailable.",
70
+ [DEMErrorCode.INVALID_EVENT]: "Incoming socket event payload format is invalid.",
71
+ [DEMErrorCode.UNKNOWN_EVENT]: "Socket event type is unrecognized.",
72
+ [DEMErrorCode.UNDEFINED_EVENT]: "Socket event listener is not registered.",
73
+ [DEMErrorCode.PROPERTY_NOT_FOUND]: "Requested property does not exist on object.",
74
+ [DEMErrorCode.CANNOT_SET_REF_DIRECTLY]: "Reference pointers cannot receive direct value assignments.",
75
+ [DEMErrorCode.OBJECT_NOT_FOUND]: "Requested object was not found in cache or collection.",
76
+ [DEMErrorCode.DOCUMENT_NOT_FOUND]: "Requested document was not found in database.",
77
+ [DEMErrorCode.OBJECT_CREATE_FAILED]: "Creating new object failed.",
78
+ [DEMErrorCode.OBJECT_DELETE_FAILED]: "Deleting object failed.",
79
+ [DEMErrorCode.OBJECT_GET_FAILED]: "Fetching object failed.",
80
+ [DEMErrorCode.REFERENCE_RESOLUTION_FAILED]: "Resolving property reference failed.",
81
+ [DEMErrorCode.PRELOAD_TIMEOUT]: "Preload operation exceeded timeout limit.",
82
+ [DEMErrorCode.ACCESS_DENIED]: "Access denied by authorization middleware.",
83
+ [DEMErrorCode.UNAUTHORIZED]: "Request is unauthorized.",
84
+ [DEMErrorCode.SOCKET_NOT_CONNECTED]: "Socket connection is not open.",
85
+ [DEMErrorCode.SOCKET_FAILURE]: "Socket transport communication failed.",
86
+ [DEMErrorCode.TIMEOUT]: "Operation timed out.",
87
+ [DEMErrorCode.STORAGE_NOT_SUPPORTED]: "Storage adapter is not supported in this runtime environment.",
88
+ [DEMErrorCode.STORAGE_OPERATION_FAILED]: "Storage read or write operation failed.",
89
+ [DEMErrorCode.DELTA_SYNC_FAILED]: "Delta synchronization reconciliation failed.",
90
+ [DEMErrorCode.INTERNAL_ERROR]: "Internal DEM library error occurred.",
91
+ };
92
+ /**
93
+ * Returns the human-readable description for a given error code.
94
+ *
95
+ * @param code - The DEM error code enum value.
96
+ * @returns Standard descriptive message corresponding to the error code.
97
+ */
98
+ export function getDEMErrorDescription(code) {
99
+ return DEM_ERROR_DESCRIPTIONS[code] || "Unknown error.";
100
+ }
101
+ /**
102
+ * Standard typed Error class for DEM.
103
+ * Enforces structured error codes and optional diagnostic payloads.
104
+ */
105
+ export class DEMError extends Error {
106
+ code;
107
+ details;
108
+ timestamp;
109
+ /**
110
+ * Constructs a new DEMError instance.
111
+ *
112
+ * @param code - The typed error code.
113
+ * @param message - Descriptive error message.
114
+ * @param details - Optional arbitrary diagnostic data.
115
+ */
116
+ constructor(code, message, details) {
117
+ super(`[${code}] ${message}`);
118
+ this.name = "DEMError";
119
+ this.code = code;
120
+ this.details = details;
121
+ this.timestamp = Date.now();
122
+ Object.setPrototypeOf(this, DEMError.prototype);
123
+ }
124
+ /**
125
+ * Serializes the error instance to a JSON-compatible object.
126
+ *
127
+ * @returns Plain object representation of the DEMError.
128
+ */
129
+ toJSON() {
130
+ return {
131
+ name: this.name,
132
+ code: this.code,
133
+ message: this.message,
134
+ details: this.details,
135
+ timestamp: this.timestamp,
136
+ };
137
+ }
138
+ }
139
+ /**
140
+ * Converts an unknown caught error or object into a typed DEMError instance.
141
+ *
142
+ * @param err - The caught error or value.
143
+ * @param defaultCode - Fallback error code when the source is not a DEMError.
144
+ * @returns Standard DEMError instance.
145
+ */
146
+ export function toDEMError(err, defaultCode = DEMErrorCode.INTERNAL_ERROR) {
147
+ if (err instanceof DEMError) {
148
+ return err;
149
+ }
150
+ if (err instanceof Error) {
151
+ return new DEMError(defaultCode, err.message, { originalError: err });
152
+ }
153
+ return new DEMError(defaultCode, String(err));
154
+ }
155
+ //# sourceMappingURL=DEMErrors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DEMErrors.js","sourceRoot":"","sources":["../DEMErrors.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -3,3 +3,4 @@ export * as AutoUpdateManagerClass from "./AutoUpdateManagerClass.js";
3
3
  export * as AutoUpdateClientManagerClass from "./AutoUpdateClientManagerClass.js";
4
4
  export * as CommonTypes from "./CommonTypes.js";
5
5
  export * as sync from "./sync/index.js";
6
+ export * from "./DEMErrors.js";
package/dist/client.js CHANGED
@@ -3,4 +3,5 @@ export * as AutoUpdateManagerClass from "./AutoUpdateManagerClass.js";
3
3
  export * as AutoUpdateClientManagerClass from "./AutoUpdateClientManagerClass.js";
4
4
  export * as CommonTypes from "./CommonTypes.js";
5
5
  export * as sync from "./sync/index.js";
6
+ export * from "./DEMErrors.js";
6
7
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,4BAA4B,MAAM,mCAAmC,CAAC;AAClF,OAAO,KAAK,sBAAsB,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,4BAA4B,MAAM,mCAAmC,CAAC;AAClF,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,4BAA4B,MAAM,mCAAmC,CAAC;AAClF,OAAO,KAAK,sBAAsB,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,4BAA4B,MAAM,mCAAmC,CAAC;AAClF,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,cAAc,gBAAgB,CAAC"}
@@ -23,6 +23,10 @@ export interface ReconcilableClientManager<T extends IAutoUpdatedClientObjectBas
23
23
  export declare class ClientStateReconciler {
24
24
  /**
25
25
  * Restores client manager objects in-memory from a persistent storage adapter.
26
+ *
27
+ * @param manager - Reconcilable client manager instance.
28
+ * @param storageAdapter - Storage adapter implementing IClientStorageAdapter.
29
+ * @returns Object indicating restoration success, stored revision, and restored entity count.
26
30
  */
27
31
  static restoreFromStorage<T extends IAutoUpdatedClientObjectBase>(manager: ReconcilableClientManager<T>, storageAdapter: IClientStorageAdapter): Promise<{
28
32
  restored: boolean;
@@ -31,11 +35,27 @@ export declare class ClientStateReconciler {
31
35
  }>;
32
36
  /**
33
37
  * Persists current manager in-memory state to storage adapter.
38
+ *
39
+ * @param manager - Reconcilable client manager instance.
40
+ * @param revision - Monotonic revision number to record with the snapshot.
41
+ * @param storageAdapter - Storage adapter to receive the persisted state.
34
42
  */
35
43
  static persistToStorage<T extends IAutoUpdatedClientObjectBase>(manager: ReconcilableClientManager<T>, revision: number, storageAdapter: IClientStorageAdapter): Promise<void>;
36
44
  /**
37
45
  * Applies a delta changes payload to the in-memory client manager.
46
+ * Handles creates, updates, and deletes with callback dispatch and local state persistence.
47
+ *
48
+ * @param manager - Reconcilable client manager instance.
49
+ * @param payload - Delta sync payload containing status, revision, and changes array.
50
+ * @param storageAdapter - Optional storage adapter to persist reconciled state.
38
51
  */
39
52
  static applyDelta<T extends IAutoUpdatedClientObjectBase>(manager: ReconcilableClientManager<T>, payload: DeltaSyncPayload<any>, storageAdapter?: IClientStorageAdapter): Promise<void>;
53
+ /**
54
+ * Patches changed fields onto an existing client object instance and triggers update callback.
55
+ *
56
+ * @param targetObj - Target client object to patch.
57
+ * @param patchData - Key-value map of properties to apply.
58
+ * @param callbacks - Optional manager callbacks interface.
59
+ */
40
60
  private static patchObjectProperties;
41
61
  }
@@ -2,6 +2,10 @@ import { globalCache } from "../CommonTypes.js";
2
2
  export class ClientStateReconciler {
3
3
  /**
4
4
  * Restores client manager objects in-memory from a persistent storage adapter.
5
+ *
6
+ * @param manager - Reconcilable client manager instance.
7
+ * @param storageAdapter - Storage adapter implementing IClientStorageAdapter.
8
+ * @returns Object indicating restoration success, stored revision, and restored entity count.
5
9
  */
6
10
  static async restoreFromStorage(manager, storageAdapter) {
7
11
  try {
@@ -50,6 +54,10 @@ export class ClientStateReconciler {
50
54
  }
51
55
  /**
52
56
  * Persists current manager in-memory state to storage adapter.
57
+ *
58
+ * @param manager - Reconcilable client manager instance.
59
+ * @param revision - Monotonic revision number to record with the snapshot.
60
+ * @param storageAdapter - Storage adapter to receive the persisted state.
53
61
  */
54
62
  static async persistToStorage(manager, revision, storageAdapter) {
55
63
  try {
@@ -77,6 +85,11 @@ export class ClientStateReconciler {
77
85
  }
78
86
  /**
79
87
  * Applies a delta changes payload to the in-memory client manager.
88
+ * Handles creates, updates, and deletes with callback dispatch and local state persistence.
89
+ *
90
+ * @param manager - Reconcilable client manager instance.
91
+ * @param payload - Delta sync payload containing status, revision, and changes array.
92
+ * @param storageAdapter - Optional storage adapter to persist reconciled state.
80
93
  */
81
94
  static async applyDelta(manager, payload, storageAdapter) {
82
95
  const changes = payload.changes ?? [];
@@ -141,6 +154,13 @@ export class ClientStateReconciler {
141
154
  await this.persistToStorage(manager, payload.revision, storageAdapter);
142
155
  }
143
156
  }
157
+ /**
158
+ * Patches changed fields onto an existing client object instance and triggers update callback.
159
+ *
160
+ * @param targetObj - Target client object to patch.
161
+ * @param patchData - Key-value map of properties to apply.
162
+ * @param callbacks - Optional manager callbacks interface.
163
+ */
144
164
  static async patchObjectProperties(targetObj, patchData, callbacks) {
145
165
  for (const key of Object.keys(patchData)) {
146
166
  if (key === "_id")
@@ -1 +1 @@
1
- {"version":3,"file":"ClientStateReconciler.js","sourceRoot":"","sources":["../../sync/ClientStateReconciler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClientStateReconciler.js","sourceRoot":"","sources":["../../sync/ClientStateReconciler.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  import { ChangeEntry, ChangeLogOptions, ChangeType, PruneMode } from "./types.js";
2
2
  /**
3
3
  * Calculates a fast approximation of the memory/JSON byte footprint of a JavaScript object/value.
4
+ *
5
+ * @param obj - The value or object to estimate.
6
+ * @returns Estimated size in bytes.
4
7
  */
5
8
  export declare function estimateObjectSizeBytes(obj: unknown): number;
6
9
  export declare class ServerChangeTracker<T = unknown> {
@@ -13,27 +16,70 @@ export declare class ServerChangeTracker<T = unknown> {
13
16
  maxSizeBytes?: number;
14
17
  maxEntries?: number;
15
18
  pruneMode: PruneMode;
19
+ /**
20
+ * Initializes a new ServerChangeTracker instance.
21
+ *
22
+ * @param className - Managed entity class name.
23
+ * @param options - Pruning options such as maxAgeMs, maxSizeBytes, maxEntries, and pruneMode.
24
+ */
16
25
  constructor(className: string, options?: ChangeLogOptions);
17
26
  /**
18
27
  * Dynamically updates limits (MB size, TTL age, entries, pruneMode) mid-run and triggers pruning.
28
+ *
29
+ * @param options - Partial set of options to overwrite.
19
30
  */
20
31
  updateOptions(options: Partial<ChangeLogOptions>): void;
32
+ /**
33
+ * Retrieves the current monotonic revision number.
34
+ *
35
+ * @returns Latest revision counter.
36
+ */
21
37
  getCurrentRevision(): number;
38
+ /**
39
+ * Retrieves the lowest revision number retained in the mutation log.
40
+ *
41
+ * @returns Oldest retained revision number.
42
+ */
22
43
  getLowestRetainedRevision(): number;
44
+ /**
45
+ * Retrieves the estimated total memory usage of all retained entries in bytes.
46
+ *
47
+ * @returns Total bytes consumed by retained entries.
48
+ */
23
49
  getEstimatedSizeBytes(): number;
50
+ /**
51
+ * Retrieves the total count of currently retained change entries.
52
+ *
53
+ * @returns Number of retained mutation entries.
54
+ */
24
55
  getEntryCount(): number;
25
56
  /**
26
57
  * Records a mutation and assigns a new monotonic revision number.
58
+ *
59
+ * @param type - Mutation type ('create', 'update', or 'delete').
60
+ * @param id - String identifier of mutated entity.
61
+ * @param data - Optional mutated property payload.
62
+ * @returns Assigned monotonic revision number.
27
63
  */
28
64
  recordChange(type: ChangeType, id: string, data?: Partial<T>): number;
29
65
  /**
30
66
  * Records a mutation with an explicit timestamp (useful for testing or replay).
67
+ *
68
+ * @param type - Mutation type ('create', 'update', or 'delete').
69
+ * @param id - String identifier of mutated entity.
70
+ * @param data - Optional mutated property payload.
71
+ * @param timestamp - Explicit Unix timestamp in milliseconds.
72
+ * @returns Assigned monotonic revision number.
31
73
  */
32
74
  recordChangeWithTimestamp(type: ChangeType, id: string, data: Partial<T> | undefined, timestamp: number): number;
33
75
  /**
34
76
  * Retrieves all mutations occurring strictly after `clientRevision`.
35
77
  * If `clientRevision` is older than the lowest retained revision in history,
36
78
  * returns `isExpired: true` indicating a full sync is necessary.
79
+ *
80
+ * @param clientRevision - The last revision known by the client.
81
+ * @param allowedIds - Optional Set of allowed IDs for permission filtering.
82
+ * @returns Object containing isExpired flag and array of change entries.
37
83
  */
38
84
  getChangesSince(clientRevision: number, allowedIds?: Set<string>): {
39
85
  isExpired: boolean;
@@ -1,5 +1,8 @@
1
1
  /**
2
2
  * Calculates a fast approximation of the memory/JSON byte footprint of a JavaScript object/value.
3
+ *
4
+ * @param obj - The value or object to estimate.
5
+ * @returns Estimated size in bytes.
3
6
  */
4
7
  export function estimateObjectSizeBytes(obj) {
5
8
  if (obj === null || obj === undefined)
@@ -39,6 +42,12 @@ export class ServerChangeTracker {
39
42
  maxSizeBytes;
40
43
  maxEntries;
41
44
  pruneMode;
45
+ /**
46
+ * Initializes a new ServerChangeTracker instance.
47
+ *
48
+ * @param className - Managed entity class name.
49
+ * @param options - Pruning options such as maxAgeMs, maxSizeBytes, maxEntries, and pruneMode.
50
+ */
42
51
  constructor(className, options) {
43
52
  this.className = className;
44
53
  this.maxAgeMs = options?.maxAgeMs;
@@ -48,6 +57,8 @@ export class ServerChangeTracker {
48
57
  }
49
58
  /**
50
59
  * Dynamically updates limits (MB size, TTL age, entries, pruneMode) mid-run and triggers pruning.
60
+ *
61
+ * @param options - Partial set of options to overwrite.
51
62
  */
52
63
  updateOptions(options) {
53
64
  if (options.maxAgeMs !== undefined)
@@ -60,26 +71,57 @@ export class ServerChangeTracker {
60
71
  this.pruneMode = options.pruneMode;
61
72
  this.prune();
62
73
  }
74
+ /**
75
+ * Retrieves the current monotonic revision number.
76
+ *
77
+ * @returns Latest revision counter.
78
+ */
63
79
  getCurrentRevision() {
64
80
  return this.currentRevision;
65
81
  }
82
+ /**
83
+ * Retrieves the lowest revision number retained in the mutation log.
84
+ *
85
+ * @returns Oldest retained revision number.
86
+ */
66
87
  getLowestRetainedRevision() {
67
88
  return this.lowestRetainedRevision;
68
89
  }
90
+ /**
91
+ * Retrieves the estimated total memory usage of all retained entries in bytes.
92
+ *
93
+ * @returns Total bytes consumed by retained entries.
94
+ */
69
95
  getEstimatedSizeBytes() {
70
96
  return this.totalEstimatedBytes;
71
97
  }
98
+ /**
99
+ * Retrieves the total count of currently retained change entries.
100
+ *
101
+ * @returns Number of retained mutation entries.
102
+ */
72
103
  getEntryCount() {
73
104
  return this.entries.length;
74
105
  }
75
106
  /**
76
107
  * Records a mutation and assigns a new monotonic revision number.
108
+ *
109
+ * @param type - Mutation type ('create', 'update', or 'delete').
110
+ * @param id - String identifier of mutated entity.
111
+ * @param data - Optional mutated property payload.
112
+ * @returns Assigned monotonic revision number.
77
113
  */
78
114
  recordChange(type, id, data) {
79
115
  return this.recordChangeWithTimestamp(type, id, data, Date.now());
80
116
  }
81
117
  /**
82
118
  * Records a mutation with an explicit timestamp (useful for testing or replay).
119
+ *
120
+ * @param type - Mutation type ('create', 'update', or 'delete').
121
+ * @param id - String identifier of mutated entity.
122
+ * @param data - Optional mutated property payload.
123
+ * @param timestamp - Explicit Unix timestamp in milliseconds.
124
+ * @returns Assigned monotonic revision number.
83
125
  */
84
126
  recordChangeWithTimestamp(type, id, data, timestamp) {
85
127
  this.currentRevision += 1;
@@ -104,6 +146,10 @@ export class ServerChangeTracker {
104
146
  * Retrieves all mutations occurring strictly after `clientRevision`.
105
147
  * If `clientRevision` is older than the lowest retained revision in history,
106
148
  * returns `isExpired: true` indicating a full sync is necessary.
149
+ *
150
+ * @param clientRevision - The last revision known by the client.
151
+ * @param allowedIds - Optional Set of allowed IDs for permission filtering.
152
+ * @returns Object containing isExpired flag and array of change entries.
107
153
  */
108
154
  getChangesSince(clientRevision, allowedIds) {
109
155
  if (clientRevision >= this.currentRevision) {
@@ -1 +1 @@
1
- {"version":3,"file":"ServerChangeTracker.js","sourceRoot":"","sources":["../../sync/ServerChangeTracker.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAAY;IAClD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC;IACxB,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IACjC,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IAChC,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAQ,GAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IACzD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,IAAI,IAAI,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;gBACtB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;oBACnD,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,uBAAuB,CAAE,GAA+B,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1F,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,OAAO,mBAAmB;IAYZ,SAAS;IAXnB,eAAe,GAAG,CAAC,CAAC;IACpB,sBAAsB,GAAG,CAAC,CAAC;IAC3B,OAAO,GAAqB,EAAE,CAAC;IAC/B,mBAAmB,GAAG,CAAC,CAAC;IAEzB,QAAQ,CAAU;IAClB,YAAY,CAAU;IACtB,UAAU,CAAU;IACpB,SAAS,CAAY;IAE5B,YACkB,SAAiB,EACjC,OAA0B;yBADV,SAAS;QAGzB,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,OAAO,EAAE,YAAY,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,QAAQ,CAAC;IAClD,CAAC;IAED;;OAEG;IACI,aAAa,CAAC,OAAkC;QACrD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACrE,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;YAAE,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACjF,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;YAAE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAC3E,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACxE,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAEM,kBAAkB;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAEM,yBAAyB;QAC9B,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;IAEM,qBAAqB;QAC1B,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED;;OAEG;IACI,YAAY,CACjB,IAAgB,EAChB,EAAU,EACV,IAAiB;QAEjB,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACI,yBAAyB,CAC9B,IAAgB,EAChB,EAAU,EACV,IAA4B,EAC5B,SAAiB;QAEjB,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC;QAEjC,MAAM,cAAc,GAClB,EAAE,GAAG,oDAAoD;YACzD,EAAE,CAAC,MAAM,GAAG,CAAC;YACb,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7C,MAAM,KAAK,GAAmB;YAC5B,QAAQ,EAAE,GAAG;YACb,IAAI;YACJ,EAAE;YACF,IAAI;YACJ,SAAS;YACT,cAAc;SACf,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,mBAAmB,IAAI,cAAc,CAAC;QAE3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;OAIG;IACI,eAAe,CACpB,cAAsB,EACtB,UAAwB;QAExB,IAAI,cAAc,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3C,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAC3C,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,GAAG,IAAI,CAAC,sBAAsB,GAAG,CAAC,EAAE,CAAC;YAClF,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAC1C,CAAC;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,cAAc,CAAC,CAAC;QAEvE,IAAI,UAAU,EAAE,CAAC;YACf,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,QAAQ;SAClB,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,KAAK;QACV,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrF,MAAM,cAAc,GAClB,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC;YAC5E,MAAM,eAAe,GACnB,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;YAEjF,IAAI,WAAW,GAAG,KAAK,CAAC;YAExB,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;gBAC9B,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAC/C,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;gBAEpD,IAAI,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;oBAC1C,WAAW,GAAG,CAAC,aAAa,IAAI,cAAc,CAAC,IAAI,eAAe,CAAC;gBACrE,CAAC;qBAAM,CAAC;oBACN,WAAW,GAAG,aAAa,IAAI,cAAc,IAAI,eAAe,CAAC;gBACnE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,gBAAgB;gBAChB,WAAW,GAAG,aAAa,IAAI,cAAc,IAAI,eAAe,CAAC;YACnE,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC,mBAAmB,IAAI,KAAK,CAAC,cAAc,CAAC;gBACjD,WAAW,EAAE,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YACpC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;gBACvD,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK;QACV,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;IAClC,CAAC;CACF"}
1
+ {"version":3,"file":"ServerChangeTracker.js","sourceRoot":"","sources":["../../sync/ServerChangeTracker.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAAY;IAClD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC;IACxB,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IACjC,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IAChC,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAQ,GAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IACzD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpC,IAAI,IAAI,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;gBACtB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;oBACnD,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,uBAAuB,CAAE,GAA+B,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1F,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,OAAO,mBAAmB;IAkBZ,SAAS;IAjBnB,eAAe,GAAG,CAAC,CAAC;IACpB,sBAAsB,GAAG,CAAC,CAAC;IAC3B,OAAO,GAAqB,EAAE,CAAC;IAC/B,mBAAmB,GAAG,CAAC,CAAC;IAEzB,QAAQ,CAAU;IAClB,YAAY,CAAU;IACtB,UAAU,CAAU;IACpB,SAAS,CAAY;IAE5B;;;;;OAKG;IACH,YACkB,SAAiB,EACjC,OAA0B;yBADV,SAAS;QAGzB,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,OAAO,EAAE,YAAY,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,QAAQ,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACI,aAAa,CAAC,OAAkC;QACrD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACrE,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;YAAE,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACjF,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;YAAE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAC3E,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACxE,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED;;;;OAIG;IACI,kBAAkB;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACI,yBAAyB;QAC9B,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACI,qBAAqB;QAC1B,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACI,aAAa;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED;;;;;;;OAOG;IACI,YAAY,CACjB,IAAgB,EAChB,EAAU,EACV,IAAiB;QAEjB,OAAO,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;;OAQG;IACI,yBAAyB,CAC9B,IAAgB,EAChB,EAAU,EACV,IAA4B,EAC5B,SAAiB;QAEjB,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC;QAEjC,MAAM,cAAc,GAClB,EAAE,GAAG,oDAAoD;YACzD,EAAE,CAAC,MAAM,GAAG,CAAC;YACb,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7C,MAAM,KAAK,GAAmB;YAC5B,QAAQ,EAAE,GAAG;YACb,IAAI;YACJ,EAAE;YACF,IAAI;YACJ,SAAS;YACT,cAAc;SACf,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,mBAAmB,IAAI,cAAc,CAAC;QAE3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;OAQG;IACI,eAAe,CACpB,cAAsB,EACtB,UAAwB;QAExB,IAAI,cAAc,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3C,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAC3C,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,GAAG,IAAI,CAAC,sBAAsB,GAAG,CAAC,EAAE,CAAC;YAClF,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QAC1C,CAAC;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,cAAc,CAAC,CAAC;QAEvE,IAAI,UAAU,EAAE,CAAC;YACf,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,QAAQ;SAClB,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,KAAK;QACV,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;YACrF,MAAM,cAAc,GAClB,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC;YAC5E,MAAM,eAAe,GACnB,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;YAEjF,IAAI,WAAW,GAAG,KAAK,CAAC;YAExB,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;gBAC9B,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;gBAC/C,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;gBAEpD,IAAI,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;oBAC1C,WAAW,GAAG,CAAC,aAAa,IAAI,cAAc,CAAC,IAAI,eAAe,CAAC;gBACrE,CAAC;qBAAM,CAAC;oBACN,WAAW,GAAG,aAAa,IAAI,cAAc,IAAI,eAAe,CAAC;gBACnE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,gBAAgB;gBAChB,WAAW,GAAG,aAAa,IAAI,cAAc,IAAI,eAAe,CAAC;YACnE,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC,mBAAmB,IAAI,KAAK,CAAC,cAAc,CAAC;gBACjD,WAAW,EAAE,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YACpC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;gBACvD,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK;QACV,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;IAClC,CAAC;CACF"}
@@ -13,10 +13,41 @@ export declare class IndexedDbStorageAdapter implements IClientStorageAdapter {
13
13
  private storeName;
14
14
  private idbFactory;
15
15
  private dbPromise;
16
+ /**
17
+ * Initializes an IndexedDbStorageAdapter instance.
18
+ *
19
+ * @param options - Configuration options for database name, store name, and IDBFactory.
20
+ */
16
21
  constructor(options?: IndexedDbStorageAdapterOptions);
22
+ /**
23
+ * Retrieves or initializes the underlying IDBDatabase connection.
24
+ *
25
+ * @returns A promise resolving to the IDBDatabase instance.
26
+ * @throws {DEMError} Throws DEMErrorCode.STORAGE_NOT_SUPPORTED when IndexedDB is unavailable.
27
+ */
17
28
  private getDb;
29
+ /**
30
+ * Persists manager state record to IndexedDB object store.
31
+ *
32
+ * @param className - The name identifier of the manager class.
33
+ * @param state - Complete snapshot of the manager state.
34
+ */
18
35
  saveManagerState<T = unknown>(className: string, state: StoredManagerState<T>): Promise<void>;
36
+ /**
37
+ * Retrieves stored manager state from IndexedDB store.
38
+ *
39
+ * @param className - The name identifier of the manager class.
40
+ * @returns Parsed state object or null if absent.
41
+ */
19
42
  loadManagerState<T = unknown>(className: string): Promise<StoredManagerState<T> | null>;
43
+ /**
44
+ * Removes saved manager state for given class name from IndexedDB.
45
+ *
46
+ * @param className - The name identifier of the manager class.
47
+ */
20
48
  clearManagerState(className: string): Promise<void>;
49
+ /**
50
+ * Purges all stored records in the IndexedDB object store.
51
+ */
21
52
  clearAll(): Promise<void>;
22
53
  }
@@ -1,3 +1,4 @@
1
+ import { DEMError, DEMErrorCode } from "../../DEMErrors.js";
1
2
  /**
2
3
  * IndexedDB storage adapter for client-side DEM caching in browsers.
3
4
  */
@@ -6,6 +7,11 @@ export class IndexedDbStorageAdapter {
6
7
  storeName;
7
8
  idbFactory = null;
8
9
  dbPromise = null;
10
+ /**
11
+ * Initializes an IndexedDbStorageAdapter instance.
12
+ *
13
+ * @param options - Configuration options for database name, store name, and IDBFactory.
14
+ */
9
15
  constructor(options) {
10
16
  this.dbName = options?.dbName ?? "dem_offline_store";
11
17
  this.storeName = options?.storeName ?? "manager_states";
@@ -22,11 +28,17 @@ export class IndexedDbStorageAdapter {
22
28
  this.idbFactory = globalThis.indexedDB;
23
29
  }
24
30
  }
31
+ /**
32
+ * Retrieves or initializes the underlying IDBDatabase connection.
33
+ *
34
+ * @returns A promise resolving to the IDBDatabase instance.
35
+ * @throws {DEMError} Throws DEMErrorCode.STORAGE_NOT_SUPPORTED when IndexedDB is unavailable.
36
+ */
25
37
  async getDb() {
26
38
  if (this.dbPromise)
27
39
  return this.dbPromise;
28
40
  if (!this.idbFactory) {
29
- throw new Error("IndexedDB is not supported in the current environment.");
41
+ throw new DEMError(DEMErrorCode.STORAGE_NOT_SUPPORTED, "IndexedDB is not supported in the current environment.");
30
42
  }
31
43
  this.dbPromise = new Promise((resolve, reject) => {
32
44
  const request = this.idbFactory.open(this.dbName, 1);
@@ -45,6 +57,12 @@ export class IndexedDbStorageAdapter {
45
57
  });
46
58
  return this.dbPromise;
47
59
  }
60
+ /**
61
+ * Persists manager state record to IndexedDB object store.
62
+ *
63
+ * @param className - The name identifier of the manager class.
64
+ * @param state - Complete snapshot of the manager state.
65
+ */
48
66
  async saveManagerState(className, state) {
49
67
  if (!this.idbFactory)
50
68
  return;
@@ -63,6 +81,12 @@ export class IndexedDbStorageAdapter {
63
81
  // Graceful error fallback
64
82
  }
65
83
  }
84
+ /**
85
+ * Retrieves stored manager state from IndexedDB store.
86
+ *
87
+ * @param className - The name identifier of the manager class.
88
+ * @returns Parsed state object or null if absent.
89
+ */
66
90
  async loadManagerState(className) {
67
91
  if (!this.idbFactory)
68
92
  return null;
@@ -87,6 +111,11 @@ export class IndexedDbStorageAdapter {
87
111
  return null;
88
112
  }
89
113
  }
114
+ /**
115
+ * Removes saved manager state for given class name from IndexedDB.
116
+ *
117
+ * @param className - The name identifier of the manager class.
118
+ */
90
119
  async clearManagerState(className) {
91
120
  if (!this.idbFactory)
92
121
  return;
@@ -104,6 +133,9 @@ export class IndexedDbStorageAdapter {
104
133
  // Ignore
105
134
  }
106
135
  }
136
+ /**
137
+ * Purges all stored records in the IndexedDB object store.
138
+ */
107
139
  async clearAll() {
108
140
  if (!this.idbFactory)
109
141
  return;