@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.
- package/dist/AutoUpdateManagerClass.d.ts +67 -1
- package/dist/AutoUpdateManagerClass.js +39 -2
- package/dist/AutoUpdateManagerClass.js.map +1 -1
- package/dist/AutoUpdateServerManagerClass.d.ts +109 -1
- package/dist/AutoUpdateServerManagerClass.js +185 -9
- package/dist/AutoUpdateServerManagerClass.js.map +1 -1
- package/dist/AutoUpdatedClientObjectClass.d.ts +119 -1
- package/dist/AutoUpdatedClientObjectClass.js +127 -10
- package/dist/AutoUpdatedClientObjectClass.js.map +1 -1
- package/dist/AutoUpdatedServerObjectClass.d.ts +96 -2
- package/dist/AutoUpdatedServerObjectClass.js +88 -7
- package/dist/AutoUpdatedServerObjectClass.js.map +1 -1
- package/dist/CommonTypes.d.ts +56 -1
- package/dist/CommonTypes.js +48 -1
- package/dist/CommonTypes.js.map +1 -1
- package/dist/DEMErrors.d.ts +89 -0
- package/dist/DEMErrors.js +155 -0
- package/dist/DEMErrors.js.map +1 -0
- package/dist/server.d.ts +1 -0
- package/dist/server.js +1 -0
- package/dist/server.js.map +1 -1
- package/dist/sync/ClientStateReconciler.d.ts +20 -0
- package/dist/sync/ClientStateReconciler.js +20 -0
- package/dist/sync/ClientStateReconciler.js.map +1 -1
- package/dist/sync/ServerChangeTracker.d.ts +46 -0
- package/dist/sync/ServerChangeTracker.js +46 -0
- package/dist/sync/ServerChangeTracker.js.map +1 -1
- package/dist/sync/storage/IndexedDbStorageAdapter.d.ts +31 -0
- package/dist/sync/storage/IndexedDbStorageAdapter.js +33 -1
- package/dist/sync/storage/IndexedDbStorageAdapter.js.map +1 -1
- package/dist/sync/storage/LocalStorageAdapter.d.ts +32 -0
- package/dist/sync/storage/LocalStorageAdapter.js +32 -0
- package/dist/sync/storage/LocalStorageAdapter.js.map +1 -1
- package/dist/sync/storage/MemoryStorageAdapter.d.ts +21 -0
- package/dist/sync/storage/MemoryStorageAdapter.js +21 -1
- package/dist/sync/storage/MemoryStorageAdapter.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- 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
|
-
/**
|
|
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
|
|
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
|
|
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
|
|
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
|
-
/**
|
|
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
|
|
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
|
|
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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"}
|
package/dist/CommonTypes.d.ts
CHANGED
|
@@ -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
|
-
*
|
|
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";
|
package/dist/CommonTypes.js
CHANGED
|
@@ -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
|
-
*
|
|
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
|
package/dist/CommonTypes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommonTypes.js","sourceRoot":"","sources":["../CommonTypes.ts"],"names":[],"mappings":"AAEA,OAAO,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"CommonTypes.js","sourceRoot":"","sources":["../CommonTypes.ts"],"names":[],"mappings":"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"}
|