@prestizni-software/client-dem 0.7.4 → 0.7.6
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/AutoUpdateClientManagerClass.d.ts +141 -0
- package/{dist/AutoUpdateClientManagerClass.js → AutoUpdateClientManagerClass.js} +103 -12
- package/AutoUpdateClientManagerClass.js.map +1 -0
- package/AutoUpdateManagerClass.d.ts +102 -0
- package/{dist/AutoUpdateManagerClass.js → AutoUpdateManagerClass.js} +37 -0
- package/AutoUpdateManagerClass.js.map +1 -0
- package/{dist/AutoUpdatedClientObjectClass.d.ts → AutoUpdatedClientObjectClass.d.ts} +114 -0
- package/{dist/AutoUpdatedClientObjectClass.js → AutoUpdatedClientObjectClass.js} +108 -0
- package/AutoUpdatedClientObjectClass.js.map +1 -0
- package/{dist/CommonTypes.d.ts → CommonTypes.d.ts} +48 -9
- package/{dist/CommonTypes.js → CommonTypes.js} +52 -22
- package/CommonTypes.js.map +1 -0
- package/{dist/DEMErrors.d.ts → DEMErrors.d.ts} +22 -2
- package/{dist/DEMErrors.js → DEMErrors.js} +22 -2
- package/{dist/DEMErrors.js.map → DEMErrors.js.map} +1 -1
- package/package.json +20 -40
- package/{dist/sync → sync}/ClientStateReconciler.d.ts +20 -0
- package/{dist/sync → sync}/ClientStateReconciler.js +20 -0
- package/sync/ClientStateReconciler.js.map +1 -0
- package/{dist/sync → sync}/ServerChangeTracker.d.ts +46 -0
- package/{dist/sync → sync}/ServerChangeTracker.js +46 -0
- package/sync/ServerChangeTracker.js.map +1 -0
- package/sync/storage/IndexedDbStorageAdapter.d.ts +53 -0
- package/{dist/sync → sync}/storage/IndexedDbStorageAdapter.js +31 -0
- package/sync/storage/IndexedDbStorageAdapter.js.map +1 -0
- package/sync/storage/LocalStorageAdapter.d.ts +59 -0
- package/{dist/sync → sync}/storage/LocalStorageAdapter.js +32 -0
- package/sync/storage/LocalStorageAdapter.js.map +1 -0
- package/sync/storage/MemoryStorageAdapter.d.ts +34 -0
- package/sync/storage/MemoryStorageAdapter.js +45 -0
- package/sync/storage/MemoryStorageAdapter.js.map +1 -0
- package/version.d.ts +21 -0
- package/version.js +22 -0
- package/version.js.map +1 -0
- package/README.md +0 -18
- package/dist/AutoUpdateClientManagerClass.d.ts +0 -51
- package/dist/AutoUpdateClientManagerClass.js.map +0 -1
- package/dist/AutoUpdateManagerClass.d.ts +0 -37
- package/dist/AutoUpdateManagerClass.js.map +0 -1
- package/dist/AutoUpdatedClientObjectClass.js.map +0 -1
- package/dist/CommonTypes.js.map +0 -1
- package/dist/sync/ClientStateReconciler.js.map +0 -1
- package/dist/sync/ServerChangeTracker.js.map +0 -1
- package/dist/sync/storage/IndexedDbStorageAdapter.d.ts +0 -22
- package/dist/sync/storage/IndexedDbStorageAdapter.js.map +0 -1
- package/dist/sync/storage/LocalStorageAdapter.d.ts +0 -27
- package/dist/sync/storage/LocalStorageAdapter.js.map +0 -1
- package/dist/sync/storage/MemoryStorageAdapter.d.ts +0 -13
- package/dist/sync/storage/MemoryStorageAdapter.js +0 -25
- package/dist/sync/storage/MemoryStorageAdapter.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- /package/{dist/client.d.ts → client.d.ts} +0 -0
- /package/{dist/client.js → client.js} +0 -0
- /package/{dist/client.js.map → client.js.map} +0 -0
- /package/{dist/sync → sync}/index.d.ts +0 -0
- /package/{dist/sync → sync}/index.js +0 -0
- /package/{dist/sync → sync}/index.js.map +0 -0
- /package/{dist/sync → sync}/storage/IClientStorageAdapter.d.ts +0 -0
- /package/{dist/sync → sync}/storage/IClientStorageAdapter.js +0 -0
- /package/{dist/sync → sync}/storage/IClientStorageAdapter.js.map +0 -0
- /package/{dist/sync → sync}/types.d.ts +0 -0
- /package/{dist/sync → sync}/types.js +0 -0
- /package/{dist/sync → sync}/types.js.map +0 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { StoredManagerState } from "../types.js";
|
|
2
|
+
import { IClientStorageAdapter } from "./IClientStorageAdapter.js";
|
|
3
|
+
export interface IndexedDbStorageAdapterOptions {
|
|
4
|
+
dbName?: string;
|
|
5
|
+
storeName?: string;
|
|
6
|
+
idbFactory?: IDBFactory;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* IndexedDB storage adapter for client-side DEM caching in browsers.
|
|
10
|
+
*/
|
|
11
|
+
export declare class IndexedDbStorageAdapter implements IClientStorageAdapter {
|
|
12
|
+
private dbName;
|
|
13
|
+
private storeName;
|
|
14
|
+
private idbFactory;
|
|
15
|
+
private dbPromise;
|
|
16
|
+
/**
|
|
17
|
+
* Initializes an IndexedDbStorageAdapter instance.
|
|
18
|
+
*
|
|
19
|
+
* @param options - Configuration options for database name, store name, and IDBFactory.
|
|
20
|
+
*/
|
|
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
|
+
*/
|
|
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
|
+
*/
|
|
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
|
+
*/
|
|
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
|
+
*/
|
|
48
|
+
clearManagerState(className: string): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Purges all stored records in the IndexedDB object store.
|
|
51
|
+
*/
|
|
52
|
+
clearAll(): Promise<void>;
|
|
53
|
+
}
|
|
@@ -7,6 +7,11 @@ export class IndexedDbStorageAdapter {
|
|
|
7
7
|
storeName;
|
|
8
8
|
idbFactory = null;
|
|
9
9
|
dbPromise = null;
|
|
10
|
+
/**
|
|
11
|
+
* Initializes an IndexedDbStorageAdapter instance.
|
|
12
|
+
*
|
|
13
|
+
* @param options - Configuration options for database name, store name, and IDBFactory.
|
|
14
|
+
*/
|
|
10
15
|
constructor(options) {
|
|
11
16
|
this.dbName = options?.dbName ?? "dem_offline_store";
|
|
12
17
|
this.storeName = options?.storeName ?? "manager_states";
|
|
@@ -23,6 +28,12 @@ export class IndexedDbStorageAdapter {
|
|
|
23
28
|
this.idbFactory = globalThis.indexedDB;
|
|
24
29
|
}
|
|
25
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
|
+
*/
|
|
26
37
|
async getDb() {
|
|
27
38
|
if (this.dbPromise)
|
|
28
39
|
return this.dbPromise;
|
|
@@ -46,6 +57,12 @@ export class IndexedDbStorageAdapter {
|
|
|
46
57
|
});
|
|
47
58
|
return this.dbPromise;
|
|
48
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
|
+
*/
|
|
49
66
|
async saveManagerState(className, state) {
|
|
50
67
|
if (!this.idbFactory)
|
|
51
68
|
return;
|
|
@@ -64,6 +81,12 @@ export class IndexedDbStorageAdapter {
|
|
|
64
81
|
// Graceful error fallback
|
|
65
82
|
}
|
|
66
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
|
+
*/
|
|
67
90
|
async loadManagerState(className) {
|
|
68
91
|
if (!this.idbFactory)
|
|
69
92
|
return null;
|
|
@@ -88,6 +111,11 @@ export class IndexedDbStorageAdapter {
|
|
|
88
111
|
return null;
|
|
89
112
|
}
|
|
90
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
|
+
*/
|
|
91
119
|
async clearManagerState(className) {
|
|
92
120
|
if (!this.idbFactory)
|
|
93
121
|
return;
|
|
@@ -105,6 +133,9 @@ export class IndexedDbStorageAdapter {
|
|
|
105
133
|
// Ignore
|
|
106
134
|
}
|
|
107
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* Purges all stored records in the IndexedDB object store.
|
|
138
|
+
*/
|
|
108
139
|
async clearAll() {
|
|
109
140
|
if (!this.idbFactory)
|
|
110
141
|
return;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IndexedDbStorageAdapter.js","sourceRoot":"","sources":["../../../sync/storage/IndexedDbStorageAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { StoredManagerState } from "../types.js";
|
|
2
|
+
import { IClientStorageAdapter } from "./IClientStorageAdapter.js";
|
|
3
|
+
export interface LocalStorageAdapterOptions {
|
|
4
|
+
prefix?: string;
|
|
5
|
+
storage?: {
|
|
6
|
+
getItem(key: string): string | null;
|
|
7
|
+
setItem(key: string, value: string): void;
|
|
8
|
+
removeItem(key: string): void;
|
|
9
|
+
clear?(): void;
|
|
10
|
+
key?(index: number): string | null;
|
|
11
|
+
length?: number;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* LocalStorage client storage adapter.
|
|
16
|
+
* Works with browser window.localStorage or mock storage in tests/Node.js.
|
|
17
|
+
*/
|
|
18
|
+
export declare class LocalStorageAdapter implements IClientStorageAdapter {
|
|
19
|
+
private prefix;
|
|
20
|
+
private storageBackend;
|
|
21
|
+
/**
|
|
22
|
+
* Initializes a LocalStorageAdapter instance.
|
|
23
|
+
*
|
|
24
|
+
* @param options - Configuration options for storage key prefix and storage provider.
|
|
25
|
+
*/
|
|
26
|
+
constructor(options?: LocalStorageAdapterOptions);
|
|
27
|
+
/**
|
|
28
|
+
* Generates namespaced storage key for given manager class name.
|
|
29
|
+
*
|
|
30
|
+
* @param className - Class name of the manager.
|
|
31
|
+
* @returns Prefixed storage key string.
|
|
32
|
+
*/
|
|
33
|
+
private getKey;
|
|
34
|
+
/**
|
|
35
|
+
* Persists serialized manager state to LocalStorage backend.
|
|
36
|
+
* Gracefully ignores quota exceeded errors.
|
|
37
|
+
*
|
|
38
|
+
* @param className - The name identifier of the manager class.
|
|
39
|
+
* @param state - Complete snapshot of the manager state.
|
|
40
|
+
*/
|
|
41
|
+
saveManagerState<T = unknown>(className: string, state: StoredManagerState<T>): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* Retrieves and parses stored manager state from LocalStorage backend.
|
|
44
|
+
*
|
|
45
|
+
* @param className - The name identifier of the manager class.
|
|
46
|
+
* @returns Parsed state object or null if absent or corrupted.
|
|
47
|
+
*/
|
|
48
|
+
loadManagerState<T = unknown>(className: string): Promise<StoredManagerState<T> | null>;
|
|
49
|
+
/**
|
|
50
|
+
* Deletes saved manager state for given class name from LocalStorage.
|
|
51
|
+
*
|
|
52
|
+
* @param className - The name identifier of the manager class.
|
|
53
|
+
*/
|
|
54
|
+
clearManagerState(className: string): Promise<void>;
|
|
55
|
+
/**
|
|
56
|
+
* Deletes all items with matching prefix from LocalStorage backend.
|
|
57
|
+
*/
|
|
58
|
+
clearAll(): Promise<void>;
|
|
59
|
+
}
|
|
@@ -5,6 +5,11 @@
|
|
|
5
5
|
export class LocalStorageAdapter {
|
|
6
6
|
prefix;
|
|
7
7
|
storageBackend = null;
|
|
8
|
+
/**
|
|
9
|
+
* Initializes a LocalStorageAdapter instance.
|
|
10
|
+
*
|
|
11
|
+
* @param options - Configuration options for storage key prefix and storage provider.
|
|
12
|
+
*/
|
|
8
13
|
constructor(options) {
|
|
9
14
|
this.prefix = options?.prefix ?? "dem_state_";
|
|
10
15
|
if (options?.storage) {
|
|
@@ -17,9 +22,22 @@ export class LocalStorageAdapter {
|
|
|
17
22
|
this.storageBackend = globalThis.localStorage;
|
|
18
23
|
}
|
|
19
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Generates namespaced storage key for given manager class name.
|
|
27
|
+
*
|
|
28
|
+
* @param className - Class name of the manager.
|
|
29
|
+
* @returns Prefixed storage key string.
|
|
30
|
+
*/
|
|
20
31
|
getKey(className) {
|
|
21
32
|
return `${this.prefix}${className}`;
|
|
22
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Persists serialized manager state to LocalStorage backend.
|
|
36
|
+
* Gracefully ignores quota exceeded errors.
|
|
37
|
+
*
|
|
38
|
+
* @param className - The name identifier of the manager class.
|
|
39
|
+
* @param state - Complete snapshot of the manager state.
|
|
40
|
+
*/
|
|
23
41
|
async saveManagerState(className, state) {
|
|
24
42
|
if (!this.storageBackend) {
|
|
25
43
|
return;
|
|
@@ -32,6 +50,12 @@ export class LocalStorageAdapter {
|
|
|
32
50
|
// Ignore quota exceeded or storage failure gracefully
|
|
33
51
|
}
|
|
34
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Retrieves and parses stored manager state from LocalStorage backend.
|
|
55
|
+
*
|
|
56
|
+
* @param className - The name identifier of the manager class.
|
|
57
|
+
* @returns Parsed state object or null if absent or corrupted.
|
|
58
|
+
*/
|
|
35
59
|
async loadManagerState(className) {
|
|
36
60
|
if (!this.storageBackend) {
|
|
37
61
|
return null;
|
|
@@ -50,6 +74,11 @@ export class LocalStorageAdapter {
|
|
|
50
74
|
return null;
|
|
51
75
|
}
|
|
52
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* Deletes saved manager state for given class name from LocalStorage.
|
|
79
|
+
*
|
|
80
|
+
* @param className - The name identifier of the manager class.
|
|
81
|
+
*/
|
|
53
82
|
async clearManagerState(className) {
|
|
54
83
|
if (!this.storageBackend)
|
|
55
84
|
return;
|
|
@@ -60,6 +89,9 @@ export class LocalStorageAdapter {
|
|
|
60
89
|
// Ignore
|
|
61
90
|
}
|
|
62
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* Deletes all items with matching prefix from LocalStorage backend.
|
|
94
|
+
*/
|
|
63
95
|
async clearAll() {
|
|
64
96
|
if (!this.storageBackend)
|
|
65
97
|
return;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalStorageAdapter.js","sourceRoot":"","sources":["../../../sync/storage/LocalStorageAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { StoredManagerState } from "../types.js";
|
|
2
|
+
import { IClientStorageAdapter } from "./IClientStorageAdapter.js";
|
|
3
|
+
/**
|
|
4
|
+
* In-memory client storage adapter.
|
|
5
|
+
* Useful for keeping state between socket reconnections in Node.js or short-lived sessions.
|
|
6
|
+
*/
|
|
7
|
+
export declare class MemoryStorageAdapter implements IClientStorageAdapter {
|
|
8
|
+
private store;
|
|
9
|
+
/**
|
|
10
|
+
* Saves complete manager state into in-memory store.
|
|
11
|
+
* Clones the input state to prevent mutations from modifying the stored snapshot.
|
|
12
|
+
*
|
|
13
|
+
* @param className - The name identifier of the manager class.
|
|
14
|
+
* @param state - Complete snapshot of the manager state.
|
|
15
|
+
*/
|
|
16
|
+
saveManagerState<T = unknown>(className: string, state: StoredManagerState<T>): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Retrieves cloned manager state snapshot from in-memory store.
|
|
19
|
+
*
|
|
20
|
+
* @param className - The name identifier of the manager class.
|
|
21
|
+
* @returns The stored snapshot or null if not found.
|
|
22
|
+
*/
|
|
23
|
+
loadManagerState<T = unknown>(className: string): Promise<StoredManagerState<T> | null>;
|
|
24
|
+
/**
|
|
25
|
+
* Removes saved in-memory state for a specific manager class.
|
|
26
|
+
*
|
|
27
|
+
* @param className - The name identifier of the manager class.
|
|
28
|
+
*/
|
|
29
|
+
clearManagerState(className: string): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Purges all saved manager states across all classes from the in-memory store.
|
|
32
|
+
*/
|
|
33
|
+
clearAll(): Promise<void>;
|
|
34
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-memory client storage adapter.
|
|
3
|
+
* Useful for keeping state between socket reconnections in Node.js or short-lived sessions.
|
|
4
|
+
*/
|
|
5
|
+
export class MemoryStorageAdapter {
|
|
6
|
+
store = new Map();
|
|
7
|
+
/**
|
|
8
|
+
* Saves complete manager state into in-memory store.
|
|
9
|
+
* Clones the input state to prevent mutations from modifying the stored snapshot.
|
|
10
|
+
*
|
|
11
|
+
* @param className - The name identifier of the manager class.
|
|
12
|
+
* @param state - Complete snapshot of the manager state.
|
|
13
|
+
*/
|
|
14
|
+
async saveManagerState(className, state) {
|
|
15
|
+
const cloned = JSON.parse(JSON.stringify(state));
|
|
16
|
+
this.store.set(className, cloned);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Retrieves cloned manager state snapshot from in-memory store.
|
|
20
|
+
*
|
|
21
|
+
* @param className - The name identifier of the manager class.
|
|
22
|
+
* @returns The stored snapshot or null if not found.
|
|
23
|
+
*/
|
|
24
|
+
async loadManagerState(className) {
|
|
25
|
+
const state = this.store.get(className);
|
|
26
|
+
if (!state)
|
|
27
|
+
return null;
|
|
28
|
+
return JSON.parse(JSON.stringify(state));
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Removes saved in-memory state for a specific manager class.
|
|
32
|
+
*
|
|
33
|
+
* @param className - The name identifier of the manager class.
|
|
34
|
+
*/
|
|
35
|
+
async clearManagerState(className) {
|
|
36
|
+
this.store.delete(className);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Purges all saved manager states across all classes from the in-memory store.
|
|
40
|
+
*/
|
|
41
|
+
async clearAll() {
|
|
42
|
+
this.store.clear();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=MemoryStorageAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryStorageAdapter.js","sourceRoot":"","sources":["../../../sync/storage/MemoryStorageAdapter.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IACvB,KAAK,GAAG,IAAI,GAAG,EAAmC,CAAC;IAE3D;;;;;;OAMG;IACI,KAAK,CAAC,gBAAgB,CAC3B,SAAiB,EACjB,KAA4B;QAE5B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,gBAAgB,CAC3B,SAAiB;QAEjB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAA0B,CAAC;IACpE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QAC9C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ;QACnB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF"}
|
package/version.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Current version of @prestizni-software/client-dem.
|
|
3
|
+
*/
|
|
4
|
+
export declare const DEM_CLIENT_VERSION = "0.7.6";
|
|
5
|
+
/**
|
|
6
|
+
* Current version of @prestizni-software/server-dem.
|
|
7
|
+
*/
|
|
8
|
+
export declare const DEM_SERVER_VERSION = "0.7.5";
|
|
9
|
+
/**
|
|
10
|
+
* Lowest client version that the server is compatible with.
|
|
11
|
+
* Server patches do not increment this value unless breaking compatibility.
|
|
12
|
+
*/
|
|
13
|
+
export declare const DEM_MIN_COMPATIBLE_CLIENT_VERSION = "0.7.0";
|
|
14
|
+
/**
|
|
15
|
+
* Global DEM version constant indicating minimum compatible client version.
|
|
16
|
+
*/
|
|
17
|
+
export declare const DEM_VERSION = "0.7.0";
|
|
18
|
+
/**
|
|
19
|
+
* Socket protocol version for DEM communications.
|
|
20
|
+
*/
|
|
21
|
+
export declare const DEM_PROTOCOL_VERSION = "1.0.0";
|
package/version.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Current version of @prestizni-software/client-dem.
|
|
3
|
+
*/
|
|
4
|
+
export const DEM_CLIENT_VERSION = "0.7.6";
|
|
5
|
+
/**
|
|
6
|
+
* Current version of @prestizni-software/server-dem.
|
|
7
|
+
*/
|
|
8
|
+
export const DEM_SERVER_VERSION = "0.7.5";
|
|
9
|
+
/**
|
|
10
|
+
* Lowest client version that the server is compatible with.
|
|
11
|
+
* Server patches do not increment this value unless breaking compatibility.
|
|
12
|
+
*/
|
|
13
|
+
export const DEM_MIN_COMPATIBLE_CLIENT_VERSION = "0.7.0";
|
|
14
|
+
/**
|
|
15
|
+
* Global DEM version constant indicating minimum compatible client version.
|
|
16
|
+
*/
|
|
17
|
+
export const DEM_VERSION = DEM_MIN_COMPATIBLE_CLIENT_VERSION;
|
|
18
|
+
/**
|
|
19
|
+
* Socket protocol version for DEM communications.
|
|
20
|
+
*/
|
|
21
|
+
export const DEM_PROTOCOL_VERSION = "1.0.0";
|
|
22
|
+
//# sourceMappingURL=version.js.map
|
package/version.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../version.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAE1C;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAE1C;;;GAGG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,OAAO,CAAC;AAEzD;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,iCAAiC,CAAC;AAE7D;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAC"}
|
package/README.md
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
# client-dem
|
|
2
|
-
|
|
3
|
-
Report any issues, words of apritiation or anger here: https://github.com/Prestizni-Software/DEM
|
|
4
|
-
There you can also find in test_* some examples
|
|
5
|
-
|
|
6
|
-
Since v0.3 the all mighty DeusExMachina has all functions so far needed. That includes:
|
|
7
|
-
|
|
8
|
-
## Auto Status function
|
|
9
|
-
Thanks to a definition, you are now able to set rules for automatically updated property of your objects (mostly status of given object). With this will DEM automatically check if the current states meets your criteria and if it does, it wil handle the rest on its own! IT'S ALIVE!!!
|
|
10
|
-
|
|
11
|
-
## Auto Population
|
|
12
|
-
With "@populateRef("ClassName:Property.Path") you can set a 'virtual' property, that is gonna be populated when this object will get refered at the specified path.
|
|
13
|
-
|
|
14
|
-
## Auto Types checking
|
|
15
|
-
Still just shallow, but the server DEM will sent it's type definitions to the client and if they don't metch, it will for security reasons not start.
|
|
16
|
-
|
|
17
|
-
## Access Handeling
|
|
18
|
-
You are able to restrict any acces to any events and you can also hide some info at the startup!
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { Socket } from "socket.io-client";
|
|
2
|
-
import { AutoUpdateManager } from "./AutoUpdateManagerClass.js";
|
|
3
|
-
import { DEMClientCallbacks } from "./AutoUpdatedClientObjectClass.js";
|
|
4
|
-
import { Constructor, IsData, LoggersType, IAutoUpdatedClientObjectBase, MongoId, IAutoUpdateManager, DEMVersionOptions, DEMErrorCode } from "./CommonTypes.js";
|
|
5
|
-
import { EventEmitter } from "eventemitter3";
|
|
6
|
-
import { IClientStorageAdapter, ClientDeltaSyncOptions } from "./sync/index.js";
|
|
7
|
-
export type WrappedInstances<T extends Record<string, Constructor<IAutoUpdatedClientObjectBase>>> = {
|
|
8
|
-
[K in keyof T]: AutoUpdateClientManager<InstanceType<T[K]>, WrappedInstances<T>>;
|
|
9
|
-
};
|
|
10
|
-
export declare function AUCManagerFactory<T extends Record<string, Constructor<IAutoUpdatedClientObjectBase>>>(defs: T, loggers: LoggersType, socket: Socket, doDebug?: boolean, emitter?: EventEmitter, callbacks?: Partial<{
|
|
11
|
-
[K in keyof T]: Partial<DEMClientCallbacks<any>>;
|
|
12
|
-
} & Partial<DEMClientCallbacks<IAutoUpdatedClientObjectBase>>>, versionOptions?: DEMVersionOptions, deltaSyncOptions?: ClientDeltaSyncOptions | boolean): Promise<WrappedInstances<T>>;
|
|
13
|
-
export declare class AutoUpdateClientManager<T extends IAutoUpdatedClientObjectBase, M extends Record<string, IAutoUpdateManager<any>> = Record<string, IAutoUpdateManager<any>>> extends AutoUpdateManager<T, M> {
|
|
14
|
-
protected objects_: {
|
|
15
|
-
[_id: string]: T;
|
|
16
|
-
};
|
|
17
|
-
readonly managers: M;
|
|
18
|
-
callbacks: DEMClientCallbacks<any>;
|
|
19
|
-
readonly socket: Socket;
|
|
20
|
-
readonly versionOptions?: DEMVersionOptions;
|
|
21
|
-
readonly deltaSyncOptions?: ClientDeltaSyncOptions;
|
|
22
|
-
readonly storageAdapter?: IClientStorageAdapter;
|
|
23
|
-
readonly deltaSyncEnabled: boolean;
|
|
24
|
-
lastRevision: number;
|
|
25
|
-
totalObjects: number;
|
|
26
|
-
loadedObjects: number;
|
|
27
|
-
private pendingMissingFetches;
|
|
28
|
-
private _cachedObjectsArray;
|
|
29
|
-
private _reconnectHandler?;
|
|
30
|
-
constructor(classParam: Constructor<T>, className: string, socket: Socket, loggers: LoggersType, managers: M, emitter: EventEmitter, callbacks: DEMClientCallbacks<any>, versionOptions?: DEMVersionOptions, deltaSyncOptions?: ClientDeltaSyncOptions | boolean);
|
|
31
|
-
normalizeProgress(loaded: number, total: number): number;
|
|
32
|
-
private startSocketListeners;
|
|
33
|
-
deleteObject(_id: MongoId): Promise<{
|
|
34
|
-
success: boolean;
|
|
35
|
-
message: string;
|
|
36
|
-
code?: DEMErrorCode;
|
|
37
|
-
}>;
|
|
38
|
-
loadFromServer(t?: {
|
|
39
|
-
s: number;
|
|
40
|
-
f: number;
|
|
41
|
-
}): Promise<void>;
|
|
42
|
-
private checkLoadability;
|
|
43
|
-
getObject(_id?: MongoId): T | null | undefined;
|
|
44
|
-
get objects(): {
|
|
45
|
-
[_id: string]: T;
|
|
46
|
-
};
|
|
47
|
-
get objectsAsArray(): T[];
|
|
48
|
-
handleGetMissingObject(_id: MongoId): Promise<T>;
|
|
49
|
-
createObject(data: Omit<IsData<T>, "_id">): Promise<T>;
|
|
50
|
-
close(): void;
|
|
51
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AutoUpdateClientManagerClass.js","sourceRoot":"","sources":["../AutoUpdateClientManagerClass.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { IAutoUpdatedClientObjectBase, MongoId, IsData, IAutoUpdateManager, Constructor, EventEmitter3, LoggersType, DEMCache, DEMErrorCode } from "./CommonTypes.js";
|
|
2
|
-
import "reflect-metadata";
|
|
3
|
-
export declare abstract class AutoUpdateManager<T extends IAutoUpdatedClientObjectBase, M extends Record<string, IAutoUpdateManager<any>> = Record<string, IAutoUpdateManager<any>>> implements IAutoUpdateManager<T> {
|
|
4
|
-
protected abstract objects_: {
|
|
5
|
-
[_id: string]: T;
|
|
6
|
-
};
|
|
7
|
-
protected isLoaded_: boolean;
|
|
8
|
-
readonly socket: unknown;
|
|
9
|
-
protected classParam: Constructor<T>;
|
|
10
|
-
protected properties: string[];
|
|
11
|
-
readonly className: string;
|
|
12
|
-
readonly cache: DEMCache;
|
|
13
|
-
readonly managers: M;
|
|
14
|
-
protected preloaded: boolean;
|
|
15
|
-
protected waitingToResolveReferences: {
|
|
16
|
-
[_id: string]: string;
|
|
17
|
-
};
|
|
18
|
-
protected loggers: LoggersType;
|
|
19
|
-
protected emitter: EventEmitter3;
|
|
20
|
-
constructor(classParam: Constructor<T>, className: string, socket: unknown, loggers: LoggersType, managers: M, emitter: EventEmitter3);
|
|
21
|
-
get isLoaded(): boolean;
|
|
22
|
-
close(): void;
|
|
23
|
-
loadReferences(): Promise<void>;
|
|
24
|
-
deleteObject(_id: MongoId): Promise<{
|
|
25
|
-
success: boolean;
|
|
26
|
-
message: string;
|
|
27
|
-
code?: DEMErrorCode;
|
|
28
|
-
}>;
|
|
29
|
-
get objectIDs(): string[];
|
|
30
|
-
abstract handleGetMissingObject(_id: MongoId): Promise<T>;
|
|
31
|
-
abstract createObject(data: Omit<IsData<T>, "_id">): Promise<T>;
|
|
32
|
-
abstract getObject(_id?: MongoId): T | null | undefined;
|
|
33
|
-
abstract get objects(): {
|
|
34
|
-
[_id: string]: T;
|
|
35
|
-
};
|
|
36
|
-
abstract get objectsAsArray(): T[];
|
|
37
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AutoUpdateManagerClass.js","sourceRoot":"","sources":["../AutoUpdateManagerClass.ts"],"names":[],"mappings":"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"}
|