@prestizni-software/server-dem 0.7.1 → 0.7.4

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 (38) hide show
  1. package/dist/AutoUpdateManagerClass.d.ts +67 -1
  2. package/dist/AutoUpdateManagerClass.js +39 -2
  3. package/dist/AutoUpdateManagerClass.js.map +1 -1
  4. package/dist/AutoUpdateServerManagerClass.d.ts +109 -1
  5. package/dist/AutoUpdateServerManagerClass.js +185 -9
  6. package/dist/AutoUpdateServerManagerClass.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/AutoUpdatedServerObjectClass.d.ts +96 -2
  11. package/dist/AutoUpdatedServerObjectClass.js +88 -7
  12. package/dist/AutoUpdatedServerObjectClass.js.map +1 -1
  13. package/dist/CommonTypes.d.ts +56 -1
  14. package/dist/CommonTypes.js +48 -1
  15. package/dist/CommonTypes.js.map +1 -1
  16. package/dist/DEMErrors.d.ts +89 -0
  17. package/dist/DEMErrors.js +155 -0
  18. package/dist/DEMErrors.js.map +1 -0
  19. package/dist/server.d.ts +1 -0
  20. package/dist/server.js +1 -0
  21. package/dist/server.js.map +1 -1
  22. package/dist/sync/ClientStateReconciler.d.ts +20 -0
  23. package/dist/sync/ClientStateReconciler.js +20 -0
  24. package/dist/sync/ClientStateReconciler.js.map +1 -1
  25. package/dist/sync/ServerChangeTracker.d.ts +46 -0
  26. package/dist/sync/ServerChangeTracker.js +46 -0
  27. package/dist/sync/ServerChangeTracker.js.map +1 -1
  28. package/dist/sync/storage/IndexedDbStorageAdapter.d.ts +31 -0
  29. package/dist/sync/storage/IndexedDbStorageAdapter.js +33 -1
  30. package/dist/sync/storage/IndexedDbStorageAdapter.js.map +1 -1
  31. package/dist/sync/storage/LocalStorageAdapter.d.ts +32 -0
  32. package/dist/sync/storage/LocalStorageAdapter.js +32 -0
  33. package/dist/sync/storage/LocalStorageAdapter.js.map +1 -1
  34. package/dist/sync/storage/MemoryStorageAdapter.d.ts +21 -0
  35. package/dist/sync/storage/MemoryStorageAdapter.js +21 -1
  36. package/dist/sync/storage/MemoryStorageAdapter.js.map +1 -1
  37. package/dist/tsconfig.tsbuildinfo +1 -1
  38. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import { AutoUpdatedClientObject } from "./AutoUpdatedClientObjectClass.js";
2
2
  import { AutoUpdateServerManager } from "./AutoUpdateServerManagerClass.js";
3
- import { Constructor, IsData, LoggersType, EventEmitter3, IAutoUpdatedClientObject, IAutoUpdatedServerObject, ExtractedData } from "./CommonTypes.js";
3
+ import { Constructor, IsData, LoggersType, EventEmitter3, IAutoUpdatedClientObject, IAutoUpdatedServerObject, ExtractedData, DEMErrorCode } from "./CommonTypes.js";
4
4
  import { DocumentType } from "@typegoose/typegoose";
5
5
  export declare abstract class AutoUpdatedServerObject<T extends IAutoUpdatedClientObject<T>> extends AutoUpdatedClientObject<T> implements IAutoUpdatedServerObject<T> {
6
6
  protected readonly isServer: boolean;
@@ -9,32 +9,126 @@ export declare abstract class AutoUpdatedServerObject<T extends IAutoUpdatedClie
9
9
  private saveLock;
10
10
  private loadPromise;
11
11
  private _isUpdating;
12
+ /**
13
+ * Initializes an AutoUpdatedServerObject instance.
14
+ *
15
+ * @param classParam - Target entity constructor class.
16
+ * @param socket - Socket server or transport instance.
17
+ * @param data - Initial entity data payload.
18
+ * @param loggers - Logging interfaces.
19
+ * @param className - Managed entity class name.
20
+ * @param parentManager - Host server manager.
21
+ * @param emitter - Shared event emitter.
22
+ * @throws {DEMError} Throws DEMErrorCode.MISSING_ARGUMENT when required arguments are omitted.
23
+ */
12
24
  constructor();
13
25
  constructor(classParam: Constructor<T>, socket: unknown, data: IsData<T>, loggers: LoggersType, className: string, parentManager: AutoUpdateServerManager<T, any>, emitter: EventEmitter3);
26
+ /**
27
+ * Persists active document changes to MongoDB with queue serialization.
28
+ *
29
+ * @returns Promise resolving when database write finishes.
30
+ */
14
31
  save(): Promise<void>;
32
+ /**
33
+ * Loads entity document data directly from MongoDB by ID.
34
+ *
35
+ * @returns Promise resolving when data is populated.
36
+ * @throws {DEMError} Throws DEMErrorCode.MISSING_ID or DOCUMENT_NOT_FOUND.
37
+ */
15
38
  loadFromDB(): Promise<void>;
39
+ /**
40
+ * Ingests existing MongoDB Mongoose document into instance state.
41
+ *
42
+ * @param document - Mongoose Typegoose document.
43
+ */
16
44
  loadFromDocument(document: DocumentType<T>): void;
17
45
  private _cachedExtractedData;
46
+ /**
47
+ * Cleans raw object data and invalidates the cached extracted data representation.
48
+ *
49
+ * @param data - Raw entity data object.
50
+ * @returns Cleaned entity data object.
51
+ */
18
52
  handleDataCleanup(data: IsData<T>): IsData<T>;
19
- /** Override extractedData to return processed copy with cache */
53
+ /**
54
+ * Serialized data payload with resolved reference identifiers, cached for performance.
55
+ *
56
+ * @returns Extracted data representation of the entity.
57
+ */
20
58
  get extractedData(): ExtractedData<T, IAutoUpdatedClientObject<any>>;
59
+ /**
60
+ * Sets a property value on the entity with deadlock-safe queueing during onUpdate hooks.
61
+ *
62
+ * @param key - Property key to modify.
63
+ * @param val - Value to set.
64
+ * @returns Promise resolving to operation outcome.
65
+ */
21
66
  setValue<K extends string>(key: K, val: any): Promise<{
22
67
  success: boolean;
23
68
  msg: string;
24
69
  }>;
70
+ /**
71
+ * Internal setter with re-entrant write queue lock support.
72
+ *
73
+ * @param key - Property key.
74
+ * @param val - Value to set.
75
+ * @param silent - Whether socket broadcast is skipped.
76
+ * @param noGet - Whether local update bypasses get.
77
+ * @param noUpdate - Whether onUpdate hook is skipped.
78
+ * @param isParentUpdate - Whether mutation originated from parent.
79
+ * @returns Promise resolving to update outcome.
80
+ */
25
81
  protected setValue__(key: string, val: unknown, silent?: boolean, noGet?: boolean, noUpdate?: boolean, isParentUpdate?: boolean): Promise<{
26
82
  success: boolean;
27
83
  msg: string;
28
84
  }>;
85
+ /**
86
+ * Internal database and memory setter executing MongoDB updates and socket events.
87
+ *
88
+ * @param key - Property key to modify.
89
+ * @param value - Value to set.
90
+ * @param silent - Whether socket broadcast is bypassed.
91
+ * @param noUpdate - Whether onUpdate hook is bypassed.
92
+ * @returns Promise resolving to setter outcome.
93
+ */
29
94
  protected setValueInternal(key: string, value: unknown, silent?: boolean, noUpdate?: boolean): Promise<{
30
95
  success: boolean;
31
96
  msg: string;
97
+ code?: DEMErrorCode;
32
98
  }>;
99
+ /**
100
+ * Deletes entity from MongoDB and emits delete socket events.
101
+ *
102
+ * @param once - Internal flag for single-pass deletion.
103
+ * @returns Promise resolving to deletion outcome.
104
+ */
33
105
  destroy(once?: boolean): Promise<{
34
106
  success: boolean;
35
107
  message: string;
36
108
  }>;
109
+ /**
110
+ * Executes configured onUpdate hook with deadlock-safe write execution.
111
+ *
112
+ * @param noUpdate - Whether hook execution is skipped.
113
+ * @param key - Modified property key.
114
+ */
37
115
  protected onUpdate(noUpdate: boolean | undefined, key: string): Promise<void>;
116
+ /**
117
+ * Executes configured onDeletion hook prior to database removal.
118
+ */
38
119
  protected onDeletion(): Promise<void>;
39
120
  }
121
+ /**
122
+ * Instantiates and loads an AutoUpdatedServerObject instance.
123
+ *
124
+ * @param classParam - Constructor of the server entity class.
125
+ * @param className - Managed entity class name.
126
+ * @param socket - Socket server or transport instance.
127
+ * @param data - Entity identifier or initial data object.
128
+ * @param loggers - Logging interfaces.
129
+ * @param parentManager - Host server manager.
130
+ * @param emitter - Shared event emitter.
131
+ * @param document - Optional pre-loaded Mongoose document.
132
+ * @returns Promise resolving to the initialized server entity.
133
+ */
40
134
  export declare function createAutoUpdatedClass<T extends IAutoUpdatedServerObject<T>>(classParam: Constructor<T>, className: string, socket: unknown, data: string | IsData<T>, loggers: LoggersType, parentManager: AutoUpdateServerManager<T, any>, emitter: EventEmitter3, document?: DocumentType<T>): Promise<IAutoUpdatedServerObject<T>>;
@@ -1,5 +1,5 @@
1
1
  import { AutoUpdatedClientObject, getMetadataRecursive, processIsRefProperties, } from "./AutoUpdatedClientObjectClass.js";
2
- import { EVENT_UPDATE, EVENT_DELETE, EVENT_INTERNAL_PRE_LOADED, } from "./CommonTypes.js";
2
+ import { EVENT_UPDATE, EVENT_DELETE, EVENT_INTERNAL_PRE_LOADED, DEMError, DEMErrorCode, } from "./CommonTypes.js";
3
3
  import { ObjectId } from "mongodb";
4
4
  export class AutoUpdatedServerObject extends AutoUpdatedClientObject {
5
5
  isServer;
@@ -29,7 +29,7 @@ export class AutoUpdatedServerObject extends AutoUpdatedClientObject {
29
29
  return;
30
30
  }
31
31
  else
32
- throw new Error("Missing arguments for AutoUpdatedServerObject: " + className);
32
+ throw new DEMError(DEMErrorCode.MISSING_ARGUMENT, "Missing arguments for AutoUpdatedServerObject: " + className);
33
33
  }
34
34
  super(classParam, socket, data, loggers, className, parentManager, {
35
35
  update: (_x, _key) => { },
@@ -72,6 +72,11 @@ export class AutoUpdatedServerObject extends AutoUpdatedClientObject {
72
72
  }
73
73
  }
74
74
  }
75
+ /**
76
+ * Persists active document changes to MongoDB with queue serialization.
77
+ *
78
+ * @returns Promise resolving when database write finishes.
79
+ */
75
80
  async save() {
76
81
  this.saveLock = (this.saveLock ?? Promise.resolve())
77
82
  .catch(() => { })
@@ -85,17 +90,23 @@ export class AutoUpdatedServerObject extends AutoUpdatedClientObject {
85
90
  });
86
91
  await this.saveLock;
87
92
  }
93
+ /**
94
+ * Loads entity document data directly from MongoDB by ID.
95
+ *
96
+ * @returns Promise resolving when data is populated.
97
+ * @throws {DEMError} Throws DEMErrorCode.MISSING_ID or DOCUMENT_NOT_FOUND.
98
+ */
88
99
  async loadFromDB() {
89
100
  if (this.loadPromise)
90
101
  return this.loadPromise;
91
102
  this.loadPromise = (async () => {
92
103
  const _id = this.data._id;
93
104
  if (!_id)
94
- throw new Error("No id.");
105
+ throw new DEMError(DEMErrorCode.MISSING_ID, "No id.");
95
106
  // Use the model from the parent manager
96
107
  this.entry = await this.parentManager.model.findById(_id);
97
108
  if (!this.entry)
98
- throw new Error(`Object not found in DB: ${this.className} with ID ${_id}`);
109
+ throw new DEMError(DEMErrorCode.DOCUMENT_NOT_FOUND, `Object not found in DB: ${this.className} with ID ${_id}`);
99
110
  const docObj = typeof this.entry.toObject === "function" ? this.entry.toObject() : this.entry;
100
111
  this.data = this.handleDataCleanup(docObj);
101
112
  this.isLoading = false;
@@ -104,6 +115,11 @@ export class AutoUpdatedServerObject extends AutoUpdatedClientObject {
104
115
  })();
105
116
  return this.loadPromise;
106
117
  }
118
+ /**
119
+ * Ingests existing MongoDB Mongoose document into instance state.
120
+ *
121
+ * @param document - Mongoose Typegoose document.
122
+ */
107
123
  loadFromDocument(document) {
108
124
  this.entry = document;
109
125
  const docObj = typeof document.toObject === "function" ? document.toObject() : document;
@@ -113,11 +129,21 @@ export class AutoUpdatedServerObject extends AutoUpdatedClientObject {
113
129
  this.emitter.emit(EVENT_INTERNAL_PRE_LOADED + this.EmitterID);
114
130
  }
115
131
  _cachedExtractedData = null;
132
+ /**
133
+ * Cleans raw object data and invalidates the cached extracted data representation.
134
+ *
135
+ * @param data - Raw entity data object.
136
+ * @returns Cleaned entity data object.
137
+ */
116
138
  handleDataCleanup(data) {
117
139
  this._cachedExtractedData = null;
118
140
  return super.handleDataCleanup(data);
119
141
  }
120
- /** Override extractedData to return processed copy with cache */
142
+ /**
143
+ * Serialized data payload with resolved reference identifiers, cached for performance.
144
+ *
145
+ * @returns Extracted data representation of the entity.
146
+ */
121
147
  get extractedData() {
122
148
  if (this._cachedExtractedData)
123
149
  return this._cachedExtractedData;
@@ -125,6 +151,13 @@ export class AutoUpdatedServerObject extends AutoUpdatedClientObject {
125
151
  this._cachedExtractedData = extracted;
126
152
  return extracted;
127
153
  }
154
+ /**
155
+ * Sets a property value on the entity with deadlock-safe queueing during onUpdate hooks.
156
+ *
157
+ * @param key - Property key to modify.
158
+ * @param val - Value to set.
159
+ * @returns Promise resolving to operation outcome.
160
+ */
128
161
  async setValue(key, val) {
129
162
  if (this._isUpdating &&
130
163
  typeof this.setValueQueueInternal === "function") {
@@ -132,6 +165,17 @@ export class AutoUpdatedServerObject extends AutoUpdatedClientObject {
132
165
  }
133
166
  return await super.setValue(key, val);
134
167
  }
168
+ /**
169
+ * Internal setter with re-entrant write queue lock support.
170
+ *
171
+ * @param key - Property key.
172
+ * @param val - Value to set.
173
+ * @param silent - Whether socket broadcast is skipped.
174
+ * @param noGet - Whether local update bypasses get.
175
+ * @param noUpdate - Whether onUpdate hook is skipped.
176
+ * @param isParentUpdate - Whether mutation originated from parent.
177
+ * @returns Promise resolving to update outcome.
178
+ */
135
179
  async setValue__(key, val, silent = false, noGet = false, noUpdate = false, isParentUpdate = false) {
136
180
  if (this._isUpdating &&
137
181
  typeof this.setValueQueueInternal === "function") {
@@ -139,6 +183,15 @@ export class AutoUpdatedServerObject extends AutoUpdatedClientObject {
139
183
  }
140
184
  return await super.setValue__(key, val, silent, noGet, noUpdate, isParentUpdate);
141
185
  }
186
+ /**
187
+ * Internal database and memory setter executing MongoDB updates and socket events.
188
+ *
189
+ * @param key - Property key to modify.
190
+ * @param value - Value to set.
191
+ * @param silent - Whether socket broadcast is bypassed.
192
+ * @param noUpdate - Whether onUpdate hook is bypassed.
193
+ * @returns Promise resolving to setter outcome.
194
+ */
142
195
  async setValueInternal(key, value, silent = false, noUpdate = false) {
143
196
  if (key === "__proto__" ||
144
197
  key === "constructor" ||
@@ -148,10 +201,10 @@ export class AutoUpdatedServerObject extends AutoUpdatedClientObject {
148
201
  try {
149
202
  const _id = this.data._id;
150
203
  if (!_id)
151
- throw new Error(`Cannot update object ${this.className} - missing _id.`);
204
+ throw new DEMError(DEMErrorCode.MISSING_ID, `Cannot update object ${this.className} - missing _id.`);
152
205
  this.entry ??= await this.parentManager.model.findById(_id);
153
206
  if (!this.entry)
154
- throw new Error("Object not found in DB.");
207
+ throw new DEMError(DEMErrorCode.OBJECT_NOT_FOUND, "Object not found in DB.");
155
208
  // Check if property is part of properties or schema, regardless of current undefined value
156
209
  const isPersisted = this.properties.includes(key) ||
157
210
  this.entry[key] !== undefined ||
@@ -197,6 +250,12 @@ export class AutoUpdatedServerObject extends AutoUpdatedClientObject {
197
250
  return { success: false, msg: "Error saving object: " + error.message };
198
251
  }
199
252
  }
253
+ /**
254
+ * Deletes entity from MongoDB and emits delete socket events.
255
+ *
256
+ * @param once - Internal flag for single-pass deletion.
257
+ * @returns Promise resolving to deletion outcome.
258
+ */
200
259
  async destroy(once = false) {
201
260
  const _id = this.data._id;
202
261
  if (!_id)
@@ -225,6 +284,12 @@ export class AutoUpdatedServerObject extends AutoUpdatedClientObject {
225
284
  await this.wipeSelf();
226
285
  return { success: true, message: "Deleted" };
227
286
  }
287
+ /**
288
+ * Executes configured onUpdate hook with deadlock-safe write execution.
289
+ *
290
+ * @param noUpdate - Whether hook execution is skipped.
291
+ * @param key - Modified property key.
292
+ */
228
293
  async onUpdate(noUpdate = false, key) {
229
294
  if (noUpdate || this._isUpdating)
230
295
  return;
@@ -246,12 +311,28 @@ export class AutoUpdatedServerObject extends AutoUpdatedClientObject {
246
311
  }
247
312
  }
248
313
  }
314
+ /**
315
+ * Executes configured onDeletion hook prior to database removal.
316
+ */
249
317
  async onDeletion() {
250
318
  if (this.parentManager.options?.onDeletion) {
251
319
  await this.parentManager.options.onDeletion(this);
252
320
  }
253
321
  }
254
322
  }
323
+ /**
324
+ * Instantiates and loads an AutoUpdatedServerObject instance.
325
+ *
326
+ * @param classParam - Constructor of the server entity class.
327
+ * @param className - Managed entity class name.
328
+ * @param socket - Socket server or transport instance.
329
+ * @param data - Entity identifier or initial data object.
330
+ * @param loggers - Logging interfaces.
331
+ * @param parentManager - Host server manager.
332
+ * @param emitter - Shared event emitter.
333
+ * @param document - Optional pre-loaded Mongoose document.
334
+ * @returns Promise resolving to the initialized server entity.
335
+ */
255
336
  export async function createAutoUpdatedClass(classParam, className, socket, data, loggers, parentManager, emitter, document) {
256
337
  const obj = new classParam(classParam, socket, data, loggers, className, parentManager, emitter);
257
338
  if (document) {
@@ -1 +1 @@
1
- {"version":3,"file":"AutoUpdatedServerObjectClass.js","sourceRoot":"","sources":["../AutoUpdatedServerObjectClass.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AutoUpdatedServerObjectClass.js","sourceRoot":"","sources":["../AutoUpdatedServerObjectClass.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { EventEmitter } from "eventemitter3";
2
2
  import { ObjectId, ObjectIdLike } from "bson";
3
3
  import "reflect-metadata";
4
+ import { DEMErrorCode } from "./DEMErrors.js";
4
5
  export type MongoId = string | ObjectId;
5
6
  export type EventEmitter3 = EventEmitter;
6
7
  export interface IAutoUpdateManager<T extends IAutoUpdatedClientObjectBase> {
@@ -11,6 +12,7 @@ export interface IAutoUpdateManager<T extends IAutoUpdatedClientObjectBase> {
11
12
  deleteObject(_id: MongoId): Promise<{
12
13
  success: boolean;
13
14
  message: string;
15
+ code?: DEMErrorCode;
14
16
  }>;
15
17
  readonly objectsAsArray: T[];
16
18
  readonly isLoaded: boolean;
@@ -25,6 +27,7 @@ export interface IAutoUpdatedClientObjectBase {
25
27
  destroy(once?: boolean): Promise<{
26
28
  success: boolean;
27
29
  message: string;
30
+ code?: DEMErrorCode;
28
31
  }>;
29
32
  isPreLoadedAsync(): Promise<boolean>;
30
33
  contactChildren(): Promise<void>;
@@ -32,6 +35,7 @@ export interface IAutoUpdatedClientObjectBase {
32
35
  setValue(key: string, val: unknown): Promise<{
33
36
  success: boolean;
34
37
  msg: string;
38
+ code?: DEMErrorCode;
35
39
  }>;
36
40
  readonly parentManager: IAutoUpdateManager<IAutoUpdatedClientObjectBase>;
37
41
  readonly callbacks: any;
@@ -43,6 +47,7 @@ export interface IAutoUpdatedClientObject<T extends object = any> extends IAutoU
43
47
  setValue<K extends Paths<T, IAutoUpdatedClientObject<any>>>(key: K, val: PathValueOf<IsData<T>, K>): Promise<{
44
48
  success: boolean;
45
49
  msg: string;
50
+ code?: DEMErrorCode;
46
51
  }>;
47
52
  }
48
53
  export interface IAutoUpdatedServerObject<T extends object = any> extends IAutoUpdatedClientObject<T> {
@@ -90,9 +95,12 @@ export type SocketEvent = [
90
95
  export type ServerResponse<T> = {
91
96
  data: T;
92
97
  message?: string;
98
+ code?: DEMErrorCode;
93
99
  success: true;
94
100
  } | {
95
101
  message: string;
102
+ code?: DEMErrorCode;
103
+ details?: unknown;
96
104
  success: false;
97
105
  };
98
106
  export type ServerUpdateRequest<T = unknown> = {
@@ -100,8 +108,25 @@ export type ServerUpdateRequest<T = unknown> = {
100
108
  key: string;
101
109
  value: unknown;
102
110
  };
111
+ /**
112
+ * Property decorator that registers a property into the class reflection metadata.
113
+ *
114
+ * @param target - Prototype of the target class.
115
+ * @param propertyKey - Property name to register.
116
+ */
103
117
  export declare function classProp(target: object, propertyKey: string): void;
118
+ /**
119
+ * Property decorator for populated references pointing to another managed entity class.
120
+ *
121
+ * @param where - The target managed class name this property references.
122
+ * @returns Property decorator function.
123
+ */
104
124
  export declare function populatedRef(where: string): (target: object, propertyKey: string) => void;
125
+ /**
126
+ * Property decorator marking a property as an unresolved reference pointer.
127
+ *
128
+ * @returns Property decorator function.
129
+ */
105
130
  export declare function classRef(): (target: object, propertyKey: string) => void;
106
131
  export type Pretty<T> = {
107
132
  [K in keyof T]: T[K];
@@ -180,24 +205,53 @@ export interface ParsedSemVer {
180
205
  }
181
206
  /**
182
207
  * Parses a semantic version string (e.g. "0.6.5", "v1.2.3-alpha").
208
+ *
209
+ * @param version - Semantic version string to parse.
210
+ * @returns ParsedSemVer object containing major, minor, patch, and prerelease fields, or null if invalid.
183
211
  */
184
212
  export declare function parseSemVer(version: string): ParsedSemVer | null;
185
213
  /**
186
214
  * Compares two semantic version strings.
187
- * Returns -1 if v1 < v2, 0 if v1 === v2, 1 if v1 > v2.
215
+ *
216
+ * @param v1 - First version string.
217
+ * @param v2 - Second version string.
218
+ * @returns -1 if v1 < v2, 0 if v1 === v2, 1 if v1 > v2.
188
219
  */
189
220
  export declare function compareSemVer(v1: string, v2: string): number;
190
221
  /**
191
222
  * Verifies compatibility between client and server DEM versions.
223
+ * Evaluates SemVer rules, custom validators, and minimum required versions.
224
+ *
225
+ * @param clientVersion - DEM version of the client.
226
+ * @param serverVersion - DEM version of the server.
227
+ * @param options - Optional verification rules and callbacks.
228
+ * @returns Object describing compatibility result and status code.
192
229
  */
193
230
  export declare function verifyDEMVersion(clientVersion: string, serverVersion: string, options?: DEMVersionOptions): DEMVersionVerificationResult;
231
+ /**
232
+ * Safely stringifies a value to JSON, catching circular reference errors.
233
+ *
234
+ * @param obj - The value to stringify.
235
+ * @returns JSON string or fallback warning message.
236
+ */
194
237
  export declare function safeStringify(obj: unknown): string;
238
+ /**
239
+ * Global cache storing object references across managers.
240
+ */
195
241
  export declare class DEMGlobalCache {
196
242
  objects: Record<string, {
197
243
  className: string;
198
244
  object: IAutoUpdatedClientObjectBase;
199
245
  }>;
246
+ /**
247
+ * Clears all objects in the cache.
248
+ */
200
249
  clear(): void;
250
+ /**
251
+ * Retrieves the number of stored objects.
252
+ *
253
+ * @returns Total count of cached objects.
254
+ */
201
255
  get size(): number;
202
256
  }
203
257
  export type GlobalCache = DEMGlobalCache;
@@ -209,3 +263,4 @@ export * from "./sync/storage/LocalStorageAdapter.js";
209
263
  export * from "./sync/storage/IndexedDbStorageAdapter.js";
210
264
  export * from "./sync/ServerChangeTracker.js";
211
265
  export * from "./sync/ClientStateReconciler.js";
266
+ export * from "./DEMErrors.js";
@@ -1,4 +1,10 @@
1
1
  import "reflect-metadata";
2
+ /**
3
+ * Property decorator that registers a property into the class reflection metadata.
4
+ *
5
+ * @param target - Prototype of the target class.
6
+ * @param propertyKey - Property name to register.
7
+ */
2
8
  export function classProp(target, propertyKey) {
3
9
  const props = Reflect.getOwnMetadata("props", target) || [];
4
10
  if (props.includes(propertyKey))
@@ -6,6 +12,12 @@ export function classProp(target, propertyKey) {
6
12
  const newProps = [...props, propertyKey];
7
13
  Reflect.defineMetadata("props", newProps, target);
8
14
  }
15
+ /**
16
+ * Property decorator for populated references pointing to another managed entity class.
17
+ *
18
+ * @param where - The target managed class name this property references.
19
+ * @returns Property decorator function.
20
+ */
9
21
  export function populatedRef(where) {
10
22
  return function (target, propertyKey) {
11
23
  classProp(target, propertyKey);
@@ -13,6 +25,11 @@ export function populatedRef(where) {
13
25
  Reflect.defineMetadata("refsTo", where, target, propertyKey);
14
26
  };
15
27
  }
28
+ /**
29
+ * Property decorator marking a property as an unresolved reference pointer.
30
+ *
31
+ * @returns Property decorator function.
32
+ */
16
33
  export function classRef() {
17
34
  return function (target, propertyKey) {
18
35
  classProp(target, propertyKey);
@@ -36,6 +53,9 @@ export const DEM_VERSION = "0.6.5";
36
53
  export const DEM_PROTOCOL_VERSION = "1.0.0";
37
54
  /**
38
55
  * Parses a semantic version string (e.g. "0.6.5", "v1.2.3-alpha").
56
+ *
57
+ * @param version - Semantic version string to parse.
58
+ * @returns ParsedSemVer object containing major, minor, patch, and prerelease fields, or null if invalid.
39
59
  */
40
60
  export function parseSemVer(version) {
41
61
  if (!version || typeof version !== "string")
@@ -53,7 +73,10 @@ export function parseSemVer(version) {
53
73
  }
54
74
  /**
55
75
  * Compares two semantic version strings.
56
- * Returns -1 if v1 < v2, 0 if v1 === v2, 1 if v1 > v2.
76
+ *
77
+ * @param v1 - First version string.
78
+ * @param v2 - Second version string.
79
+ * @returns -1 if v1 < v2, 0 if v1 === v2, 1 if v1 > v2.
57
80
  */
58
81
  export function compareSemVer(v1, v2) {
59
82
  const p1 = parseSemVer(v1);
@@ -74,6 +97,12 @@ export function compareSemVer(v1, v2) {
74
97
  }
75
98
  /**
76
99
  * Verifies compatibility between client and server DEM versions.
100
+ * Evaluates SemVer rules, custom validators, and minimum required versions.
101
+ *
102
+ * @param clientVersion - DEM version of the client.
103
+ * @param serverVersion - DEM version of the server.
104
+ * @param options - Optional verification rules and callbacks.
105
+ * @returns Object describing compatibility result and status code.
77
106
  */
78
107
  export function verifyDEMVersion(clientVersion, serverVersion, options) {
79
108
  const cParsed = parseSemVer(clientVersion);
@@ -174,6 +203,12 @@ export function verifyDEMVersion(clientVersion, serverVersion, options) {
174
203
  message: `DEM patch version notice: Client (${clientVersion}) and Server (${serverVersion}).`,
175
204
  };
176
205
  }
206
+ /**
207
+ * Safely stringifies a value to JSON, catching circular reference errors.
208
+ *
209
+ * @param obj - The value to stringify.
210
+ * @returns JSON string or fallback warning message.
211
+ */
177
212
  export function safeStringify(obj) {
178
213
  try {
179
214
  return JSON.stringify(obj);
@@ -182,11 +217,22 @@ export function safeStringify(obj) {
182
217
  return "[Circular or non-serializable object]";
183
218
  }
184
219
  }
220
+ /**
221
+ * Global cache storing object references across managers.
222
+ */
185
223
  export class DEMGlobalCache {
186
224
  objects = {};
225
+ /**
226
+ * Clears all objects in the cache.
227
+ */
187
228
  clear() {
188
229
  this.objects = {};
189
230
  }
231
+ /**
232
+ * Retrieves the number of stored objects.
233
+ *
234
+ * @returns Total count of cached objects.
235
+ */
190
236
  get size() {
191
237
  return Object.keys(this.objects).length;
192
238
  }
@@ -199,4 +245,5 @@ export * from "./sync/storage/LocalStorageAdapter.js";
199
245
  export * from "./sync/storage/IndexedDbStorageAdapter.js";
200
246
  export * from "./sync/ServerChangeTracker.js";
201
247
  export * from "./sync/ClientStateReconciler.js";
248
+ export * from "./DEMErrors.js";
202
249
  //# sourceMappingURL=CommonTypes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommonTypes.js","sourceRoot":"","sources":["../CommonTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommonTypes.js","sourceRoot":"","sources":["../CommonTypes.ts"],"names":[],"mappings":"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"}