@prestizni-software/client-dem 0.5.20 → 0.5.21
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/AutoUpdateClientManagerClass.d.ts +15 -15
- package/dist/AutoUpdateClientManagerClass.js +38 -64
- package/dist/AutoUpdateClientManagerClass.js.map +1 -1
- package/dist/AutoUpdateManagerClass.d.ts +12 -11
- package/dist/AutoUpdateManagerClass.js +8 -13
- package/dist/AutoUpdateManagerClass.js.map +1 -1
- package/dist/AutoUpdatedClientObjectClass.d.ts +32 -30
- package/dist/AutoUpdatedClientObjectClass.js +41 -38
- package/dist/AutoUpdatedClientObjectClass.js.map +1 -1
- package/dist/CommonTypes.d.ts +32 -77
- package/dist/CommonTypes.js.map +1 -1
- package/dist/client.d.ts +5 -4
- package/dist/client.js +5 -4
- package/dist/client.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import "reflect-metadata";
|
|
2
2
|
import _ from "lodash";
|
|
3
|
-
import { EVENT_INTERNAL_PRE_LOADED, EVENT_DELETE, EVENT_GET, EVENT_NEW, EVENT_UPDATE, globalCache, } from "./CommonTypes
|
|
3
|
+
import { EVENT_INTERNAL_PRE_LOADED, EVENT_DELETE, EVENT_GET, EVENT_NEW, EVENT_UPDATE, globalCache, } from "./CommonTypes";
|
|
4
4
|
import { ObjectId } from "bson";
|
|
5
5
|
export class AutoUpdatedClientObject {
|
|
6
6
|
entry;
|
|
7
|
+
preLoad;
|
|
8
|
+
registerSocket;
|
|
9
|
+
readyLoggers;
|
|
10
|
+
loadFromDB(a) { }
|
|
11
|
+
setValue_(a, b) { }
|
|
7
12
|
socket;
|
|
8
13
|
data;
|
|
9
14
|
isServer = false;
|
|
@@ -32,7 +37,7 @@ export class AutoUpdatedClientObject {
|
|
|
32
37
|
}
|
|
33
38
|
}
|
|
34
39
|
catch (error) {
|
|
35
|
-
this.loggers.error?.("Error loading references: " +
|
|
40
|
+
this.loggers.error?.("Error loading references: " + error.message);
|
|
36
41
|
}
|
|
37
42
|
finally {
|
|
38
43
|
this.isLoadingReferences = false;
|
|
@@ -80,7 +85,7 @@ export class AutoUpdatedClientObject {
|
|
|
80
85
|
const allProps = new Set();
|
|
81
86
|
let proto_ = classParam.prototype;
|
|
82
87
|
while (proto_ && proto_ !== Object.prototype) {
|
|
83
|
-
const props =
|
|
88
|
+
const props = Reflect.getOwnMetadata("props", proto_) || [];
|
|
84
89
|
for (const p of props)
|
|
85
90
|
allProps.add(p);
|
|
86
91
|
proto_ = Object.getPrototypeOf(proto_);
|
|
@@ -88,10 +93,10 @@ export class AutoUpdatedClientObject {
|
|
|
88
93
|
this.properties = Array.from(allProps);
|
|
89
94
|
this.callbacks = callback;
|
|
90
95
|
this.loggers = {
|
|
91
|
-
debug: (s) => loggers.debug?.(`[DEM - ${this.className}: ${this.data?._id ??
|
|
92
|
-
info: (s) => loggers.info?.(`[DEM - ${this.className}: ${this.data?._id ??
|
|
93
|
-
warn: (s) => loggers.warn?.(`[DEM - ${this.className}: ${this.data?._id ??
|
|
94
|
-
error: (s) => loggers.error?.(`[DEM - ${this.className}: ${this.data?._id ??
|
|
96
|
+
debug: (s) => loggers.debug?.(`[DEM - ${this.className}: ${this.data?._id ?? this._id ?? "not loaded"}] ${s}`),
|
|
97
|
+
info: (s) => loggers.info?.(`[DEM - ${this.className}: ${this.data?._id ?? this._id ?? "not loaded"}] ${s}`),
|
|
98
|
+
warn: (s) => loggers.warn?.(`[DEM - ${this.className}: ${this.data?._id ?? this._id ?? "not loaded"}] ${s}`),
|
|
99
|
+
error: (s) => loggers.error?.(`[DEM - ${this.className}: ${this.data?._id ?? this._id ?? "not loaded"}] ${s}`),
|
|
95
100
|
};
|
|
96
101
|
if (typeof data === "string") {
|
|
97
102
|
this.data = { _id: data };
|
|
@@ -118,17 +123,16 @@ export class AutoUpdatedClientObject {
|
|
|
118
123
|
else {
|
|
119
124
|
this.isLoading = true;
|
|
120
125
|
this.data = data;
|
|
121
|
-
for (const key of
|
|
126
|
+
for (const key of this.properties || []) {
|
|
122
127
|
const isRef = getMetadataRecursive("isRef", this, key);
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
dataAsRecord[key] = dataAsRecord[key].map((obj) => obj?._id?.toString() ?? obj?.toString());
|
|
128
|
+
if (isRef && this.data[key]) {
|
|
129
|
+
if (Array.isArray(this.data[key])) {
|
|
130
|
+
this.data[key] = this.data[key].map((obj) => obj._id?.toString() ?? obj?.toString());
|
|
127
131
|
}
|
|
128
132
|
else {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
133
|
+
this.data[key] =
|
|
134
|
+
this.data[key]?._id?.toString() ??
|
|
135
|
+
this.data[key]?.toString();
|
|
132
136
|
}
|
|
133
137
|
}
|
|
134
138
|
}
|
|
@@ -195,7 +199,7 @@ export class AutoUpdatedClientObject {
|
|
|
195
199
|
this.generateSettersAndGetters();
|
|
196
200
|
}
|
|
197
201
|
openSockets() {
|
|
198
|
-
const id = this.data?._id ??
|
|
202
|
+
const id = this.data?._id ?? this._id;
|
|
199
203
|
const event = EVENT_UPDATE + this.className + id.toString();
|
|
200
204
|
this.socket.on(event, async (update, ack) => {
|
|
201
205
|
const res = await this.handleUpdateRequest(update);
|
|
@@ -212,10 +216,10 @@ export class AutoUpdatedClientObject {
|
|
|
212
216
|
return { success: true, data: undefined, message: "" };
|
|
213
217
|
}
|
|
214
218
|
catch (error) {
|
|
215
|
-
this.loggers.error?.(`[${this.data._id}] Error applying patch: ${error
|
|
219
|
+
this.loggers.error?.(`[${this.data._id}] Error applying patch: ${error.message}`);
|
|
216
220
|
return {
|
|
217
221
|
success: false,
|
|
218
|
-
message: "Error applying update: " +
|
|
222
|
+
message: "Error applying update: " + error.message,
|
|
219
223
|
};
|
|
220
224
|
}
|
|
221
225
|
}
|
|
@@ -280,7 +284,7 @@ export class AutoUpdatedClientObject {
|
|
|
280
284
|
return undefined;
|
|
281
285
|
const idStr = id.toString();
|
|
282
286
|
if (this.parentManager.cache.references[key])
|
|
283
|
-
return this.parentManager.cache.references[key]
|
|
287
|
+
return this.parentManager.cache.references[key].getObject(idStr);
|
|
284
288
|
for (const manager of Object.values(this.parentManager.managers)) {
|
|
285
289
|
const result = manager.getObject(idStr);
|
|
286
290
|
if (result) {
|
|
@@ -303,13 +307,13 @@ export class AutoUpdatedClientObject {
|
|
|
303
307
|
let valueToStore = val;
|
|
304
308
|
if (isRef) {
|
|
305
309
|
valueToStore = Array.isArray(val)
|
|
306
|
-
? val.map((v) => v
|
|
307
|
-
: val?._id
|
|
310
|
+
? val.map((v) => v._id?.toString() ?? v.toString())
|
|
311
|
+
: val?._id ?? val?.toString() ?? val;
|
|
308
312
|
}
|
|
309
313
|
const currentVal = this.getValue(key);
|
|
310
314
|
const currentValId = Array.isArray(currentVal)
|
|
311
|
-
? currentVal.map((v) => v
|
|
312
|
-
: currentVal?._id
|
|
315
|
+
? currentVal.map((v) => v._id?.toString() ?? v.toString())
|
|
316
|
+
: currentVal?._id ?? currentVal?.toString();
|
|
313
317
|
if (_.isEqual(currentValId, valueToStore))
|
|
314
318
|
return { success: true, msg: "Successfully set " + key + " to " + val };
|
|
315
319
|
const path = key.split(".");
|
|
@@ -317,10 +321,9 @@ export class AutoUpdatedClientObject {
|
|
|
317
321
|
let obj = this.data;
|
|
318
322
|
for (let i = 0; i < path.length - 1; i++) {
|
|
319
323
|
const currentKey = path[i];
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
const ref = await this.resolveReference(String(valAtKey));
|
|
324
|
+
if (typeof obj[currentKey] === "string" ||
|
|
325
|
+
ObjectId.isValid(obj[currentKey])) {
|
|
326
|
+
const ref = await this.resolveReference(obj[currentKey].toString());
|
|
324
327
|
if (!ref)
|
|
325
328
|
throw new Error("Could not resolve reference on path: " + key);
|
|
326
329
|
return await ref.setValue(path.slice(i + 1).join("."), val);
|
|
@@ -348,15 +351,15 @@ export class AutoUpdatedClientObject {
|
|
|
348
351
|
};
|
|
349
352
|
}
|
|
350
353
|
catch (error) {
|
|
351
|
-
this.loggers.error?.(`Error setting value ${key}: ${error
|
|
352
|
-
return { success: false, msg: error
|
|
354
|
+
this.loggers.error?.(`Error setting value ${key}: ${error.message}`);
|
|
355
|
+
return { success: false, msg: error.message };
|
|
353
356
|
}
|
|
354
357
|
}
|
|
355
358
|
async setValueInternal(key, value, silent = false, noUpdate = false) {
|
|
356
359
|
if (silent)
|
|
357
360
|
return { success: true, msg: "Silent" };
|
|
358
361
|
return new Promise((resolve) => {
|
|
359
|
-
const id = this.data?._id ??
|
|
362
|
+
const id = this.data?._id ?? this._id;
|
|
360
363
|
this.socket.emit(EVENT_UPDATE + this.className + id, { _id: id.toString(), key, value }, (res) => {
|
|
361
364
|
resolve({
|
|
362
365
|
success: res.success,
|
|
@@ -366,7 +369,7 @@ export class AutoUpdatedClientObject {
|
|
|
366
369
|
});
|
|
367
370
|
}
|
|
368
371
|
makeUpdate(key, value) {
|
|
369
|
-
const id = this.data?._id ??
|
|
372
|
+
const id = this.data?._id ?? this._id;
|
|
370
373
|
if (!id) {
|
|
371
374
|
this.loggers.error?.(`Probably missing the identifier ['_id'] again: ${key} = ${value}`);
|
|
372
375
|
throw new Error(`Cannot make update for ${this.className} because _id is missing.`);
|
|
@@ -402,7 +405,7 @@ export class AutoUpdatedClientObject {
|
|
|
402
405
|
async wipeSelf() {
|
|
403
406
|
if (this.data.Wiped)
|
|
404
407
|
return;
|
|
405
|
-
const id = this.data?._id ??
|
|
408
|
+
const id = this.data?._id ?? this._id;
|
|
406
409
|
const _id = id ? id.toString() : "unknown";
|
|
407
410
|
for (const key of Object.keys(this.data)) {
|
|
408
411
|
delete this.data[key];
|
|
@@ -464,13 +467,13 @@ export class AutoUpdatedClientObject {
|
|
|
464
467
|
if (pointer.length !== 2)
|
|
465
468
|
return;
|
|
466
469
|
const parentId = parent._id?.toString() ?? parent.toString();
|
|
467
|
-
const obj =
|
|
470
|
+
const obj = this.parentManager.managers[pointer[0]]?.getObject(parentId);
|
|
468
471
|
if (!obj)
|
|
469
472
|
return;
|
|
470
473
|
const val = obj.getValue(pointer[1]);
|
|
471
474
|
const myId = this.data._id.toString();
|
|
472
475
|
if (Array.isArray(val)) {
|
|
473
|
-
const ids = val.map((v) => v
|
|
476
|
+
const ids = val.map((v) => v._id?.toString() ?? v.toString());
|
|
474
477
|
if (!ids.includes(myId)) {
|
|
475
478
|
await obj.setValue__(pointer[1], [...val, myId], true, false, false, true);
|
|
476
479
|
}
|
|
@@ -481,7 +484,7 @@ export class AutoUpdatedClientObject {
|
|
|
481
484
|
}
|
|
482
485
|
async destroy(once = false) {
|
|
483
486
|
if (!once)
|
|
484
|
-
return await this.parentManager.deleteObject(this.data._id
|
|
487
|
+
return await this.parentManager.deleteObject(this.data._id);
|
|
485
488
|
return new Promise((resolve) => {
|
|
486
489
|
this.socket.emit(EVENT_DELETE + this.className, this.data._id, (res) => {
|
|
487
490
|
resolve({ success: res.success, message: res.message ?? "" });
|
|
@@ -506,7 +509,7 @@ export class AutoUpdatedClientObject {
|
|
|
506
509
|
if (!ac)
|
|
507
510
|
return;
|
|
508
511
|
const targetId = this.data._id.toString();
|
|
509
|
-
const allObjects = Object.values(ac.
|
|
512
|
+
const allObjects = Object.values(ac.objects);
|
|
510
513
|
for (const obj of allObjects) {
|
|
511
514
|
if (!obj.isLoaded)
|
|
512
515
|
await obj.waitForPreloaded();
|
|
@@ -514,7 +517,7 @@ export class AutoUpdatedClientObject {
|
|
|
514
517
|
if (!val)
|
|
515
518
|
continue;
|
|
516
519
|
const ids = Array.isArray(val)
|
|
517
|
-
? val.map((v) => v
|
|
520
|
+
? val.map((v) => v._id?.toString() ?? v.toString())
|
|
518
521
|
: [val._id?.toString() ?? val.toString()];
|
|
519
522
|
if (ids.includes(targetId)) {
|
|
520
523
|
this.data[prop] = obj._id;
|
|
@@ -548,7 +551,7 @@ export function processIsRefProperties(instance, target, prefix, allProps, newDa
|
|
|
548
551
|
for (const prop of props) {
|
|
549
552
|
const path = prefix ? `${prefix}.${prop}` : prop;
|
|
550
553
|
allProps.push(path);
|
|
551
|
-
newData[prop] =
|
|
554
|
+
newData[prop] = ObjectId.isValid(instance[prop])
|
|
552
555
|
? instance[prop]?.toString()
|
|
553
556
|
: instance[prop];
|
|
554
557
|
if (Reflect.getMetadata("isRef", target, prop)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoUpdatedClientObjectClass.js","sourceRoot":"","sources":["../AutoUpdatedClientObjectClass.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AutoUpdatedClientObjectClass.js","sourceRoot":"","sources":["../AutoUpdatedClientObjectClass.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,EAUL,yBAAyB,EACzB,YAAY,EACZ,SAAS,EACT,SAAS,EACT,YAAY,EACZ,WAAW,GAEZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAahC,MAAM,OAAgB,uBAAuB;IACjC,KAAK,CAAM;IACd,OAAO,CAAM;IACb,cAAc,CAAM;IACpB,YAAY,CAAM;IAElB,UAAU,CAAC,CAAM,IAAQ,CAAC;IAC1B,SAAS,CAAC,CAAM,EAAE,CAAM,IAAQ,CAAC;IAErB,MAAM,CAAa;IAC5B,IAAI,CAAY;IACP,QAAQ,GAAY,KAAK,CAAC;IAE1B,OAAO,CAAc;IAC9B,SAAS,GAAG,IAAI,CAAC;IACjB,SAAS,CAAU;IACnB,mBAAmB,GAAG,IAAI,CAAC;IAC3B,kBAAkB,GAAG,KAAK,CAAC;IAClB,OAAO,CAAgB;IAC1B,UAAU,CAAyD;IACnE,UAAU,CAAiB;IAC3B,SAAS,CAAS;IAC3B,aAAa,CAAgD;IACnD,SAAS,GAAG,IAAI,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;IACvC,iBAAiB,GAAkC,EAAE,CAAC;IAClE,SAAS,CAAwB;IAEvB,mBAAmB,GAAG,KAAK,IAAmB,EAAE;QAC/D,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAChC,CAAC;YACD,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACjC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3C,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,4BAA4B,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QACrE,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACnC,CAAC;IACH,CAAC,CAAC;IAEF,kDAAkD;IACjC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC;IAErD,YACE,UAA2B,EAC3B,MAAmB,EACnB,IAAyB,EACzB,OAAqB,EACrB,SAAkB,EAClB,aAAsC,EACtC,QAAgC,EAChC,OAAuB,EACvB,WAAoB,KAAK;QAEzB,IACE,CAAC,UAAU;YACX,CAAC,MAAM;YACP,CAAC,IAAI;YACL,CAAC,OAAO;YACR,CAAC,SAAS;YACV,CAAC,aAAa;YACd,CAAC,OAAO,EACR,CAAC;YACD,IAAI,CAAC,UAAU,GAAG,UAAW,CAAC;YAC9B,IAAI,CAAC,MAAM,GAAG,MAAO,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,IAAW,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,OAAQ,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,SAAU,CAAC;YAC5B,IAAI,CAAC,aAAa,GAAG,aAAc,CAAC;YACpC,IAAI,CAAC,SAAS,GAAG,QAAS,CAAC;YAC3B,IAAI,CAAC,OAAO,GAAG,OAAQ,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,SAAgB,CAAC;YAEnC,IACE,CAAC,UAAU;gBACX,CAAC,MAAM;gBACP,CAAC,IAAI;gBACL,CAAC,OAAO;gBACR,CAAC,SAAS;gBACV,CAAC,aAAa;gBACd,CAAC,QAAQ;gBACT,CAAC,OAAO;gBAER,OAAO;;gBACJ,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,IAAI,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC;QAClC,OAAO,MAAM,IAAI,MAAM,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAI,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAc,IAAI,EAAE,CAAC;YAC1E,KAAK,MAAM,CAAC,IAAI,KAAK;gBAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACvC,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAQ,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,QAAS,CAAC;QAE3B,IAAI,CAAC,OAAO,GAAG;YACb,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CACnB,OAAO,CAAC,KAAK,EAAE,CACb,UAAU,IAAI,CAAC,SAAS,KACrB,IAAI,CAAC,IAAY,EAAE,GAAG,IAAK,IAAY,CAAC,GAAG,IAAI,YAClD,KAAK,CAAC,EAAE,CACT;YACH,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAClB,OAAO,CAAC,IAAI,EAAE,CACZ,UAAU,IAAI,CAAC,SAAS,KACrB,IAAI,CAAC,IAAY,EAAE,GAAG,IAAK,IAAY,CAAC,GAAG,IAAI,YAClD,KAAK,CAAC,EAAE,CACT;YACH,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAClB,OAAO,CAAC,IAAI,EAAE,CACZ,UAAU,IAAI,CAAC,SAAS,KACrB,IAAI,CAAC,IAAY,EAAE,GAAG,IAAK,IAAY,CAAC,GAAG,IAAI,YAClD,KAAK,CAAC,EAAE,CACT;YACH,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,CACnB,OAAO,CAAC,KAAK,EAAE,CACb,UAAU,IAAI,CAAC,SAAS,KACrB,IAAI,CAAC,IAAY,EAAE,GAAG,IAAK,IAAY,CAAC,GAAG,IAAI,YAClD,KAAK,CAAC,EAAE,CACT;SACJ,CAAC;QAEF,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,IAAI,EAAS,CAAC;YACjC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBACjC,OAAO;YACT,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,EACjC,IAAI,EACJ,CAAC,GAAsB,EAAE,EAAE;gBACzB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;oBACjB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;oBACvB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC;oBAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,mCAAmC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;oBACxE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;oBACjF,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAW,CAAC;gBAC5B,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBACjC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9D,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC,CACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,IAAI,GAAG,IAAW,CAAC;YACxB,KAAK,MAAM,GAAG,IAAK,IAAI,CAAC,UAAuB,IAAI,EAAE,EAAE,CAAC;gBACtD,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBACvD,IAAI,KAAK,IAAK,IAAI,CAAC,IAAY,CAAC,GAAG,CAAC,EAAE,CAAC;oBACrC,IAAI,KAAK,CAAC,OAAO,CAAE,IAAI,CAAC,IAAY,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;wBAC1C,IAAI,CAAC,IAAY,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,IAAY,CAAC,GAAG,CAAC,CAAC,GAAG,CACnD,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,QAAQ,EAAE,CACrD,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACL,IAAI,CAAC,IAAY,CAAC,GAAG,CAAC;4BACpB,IAAI,CAAC,IAAY,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE;gCACvC,IAAI,CAAC,IAAY,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC;oBACxC,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IACE,CAAC,CAAE,IAAI,CAAC,IAAY,CAAC,GAAG,IAAK,IAAI,CAAC,IAAY,CAAC,GAAG,KAAK,EAAE,CAAC;gBAC1D,CAAC,IAAI,CAAC,QAAQ,EACd,CAAC;gBACD,IAAI,CAAC,eAAe,CAAC,IAAW,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,QAAQ;oBAAE,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAEjC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YAC1B,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,gBAAgB;QAC3B,IAAI,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,yBAAyB,GAAG,IAAI,CAAC,SAAS,EAC1C,CAAC,MAAe,EAAE,MAAc,EAAE,EAAE;gBAClC,IAAI,MAAM;oBAAE,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;;oBACjC,OAAO,EAAE,CAAC;YACjB,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAES,eAAe,CAAC,IAAe;QACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,GAAsB,EAAE,EAAE;YAC5E,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC;gBAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,mCAAmC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;gBACxE,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,yBAAyB,GAAG,IAAI,CAAC,SAAS,EAC1C,IAAI,EACJ,GAAG,CAAC,OAAO,CACZ,CAAC;gBACF,OAAO;YACT,CAAC;YACD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,IAAW,CAAC;YAC5B,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9D,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,IAAI,CAAC,WAAW,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAW,aAAa;QACtB,MAAM,SAAS,GAAG,sBAAsB,CACtC,IAAI,CAAC,IAAI,EACT,IAAI,EACJ,IAAI,EACJ,EAAE,EACF,EAAE,EACF,IAAI,CAAC,OAAO,CACb,CAAC,OAAO,CAAC;QACV,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,gBAAgB;QAC3B,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,qBAAqB;QAChC,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACjC,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACnC,CAAC;IAEO,WAAW;QACjB,MAAM,EAAE,GAAI,IAAI,CAAC,IAAY,EAAE,GAAG,IAAK,IAAY,CAAC,GAAG,CAAC;QACxD,MAAM,KAAK,GAAG,YAAY,GAAG,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAW,EAAE,GAAQ,EAAE,EAAE;YACpD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,UAAU;gBAAE,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/C,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,MAAW;QAC3C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACtD,IAAI,IAAI,CAAC,QAAQ;gBAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAW,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YAClE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACzD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAClB,IAAK,IAAI,CAAC,IAAY,CAAC,GAAG,2BAA2B,KAAK,CAAC,OAAO,EAAE,CACrE,CAAC;YACF,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,yBAAyB,GAAG,KAAK,CAAC,OAAO;aACnD,CAAC;QACJ,CAAC;IACH,CAAC;IAES,yBAAyB;QACjC,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QAC7B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAsB,EAAE,CAAC;YAC9C,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,SAAS;YACtC,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YAEvD,OAAQ,IAAY,CAAC,GAAG,CAAC,CAAC;YAC1B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE;gBAC/B,GAAG,EAAE,GAAG,EAAE;oBACR,IAAI,CAAC,IAAI,CAAC,IAAI;wBAAE,OAAO,SAAS,CAAC;oBACjC,IAAI,GAAG,GAAI,IAAI,CAAC,IAAY,CAAC,GAAG,CAAC,CAAC;oBAClC,IAAI,GAAG,KAAK,IAAI;wBAAE,GAAG,GAAG,SAAS,CAAC;oBAClC,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;wBACjB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;4BACvB,OAAO,GAAG;iCACP,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;iCAC7C,MAAM,CAAC,OAAO,CAAC,CAAC;wBACrB,CAAC;6BAAM,CAAC;4BACN,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;wBACtC,CAAC;oBACH,CAAC;oBACD,OAAO,GAAG,CAAC;gBACb,CAAC;gBACD,GAAG,EAAE,CAAC,CAAM,EAAE,EAAE;oBACd,IAAI,IAAI,CAAC,IAAI;wBAAG,IAAI,CAAC,IAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC7C,CAAC;gBACD,UAAU,EAAE,IAAI;gBAChB,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEM,QAAQ,CAAC,IAAgD;QAC9D,MAAM,GAAG,GAAG,IAAc,CAAC;QAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,KAAK,GAAQ,IAAI,CAAC;QACtB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,SAAS,CAAC;YAC5D,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,KAAK,GAAG,SAAS,CAAC;YACpB,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBACxD,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAES,aAAa,CAAC,EAAqB,EAAE,GAAW;QACxD,IAAI,CAAC,EAAE;YAAE,OAAO,SAAS,CAAC;QAC1B,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;YAC1C,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnE,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjE,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,OAAc,CAAC;gBAC1D,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,KAAK,CAAC,QAAQ,CACnB,GAAM,EACN,GAA8B;QAE9B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,GAAU,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAES,KAAK,CAAC,UAAU,CACxB,GAAQ,EACR,GAAQ,EACR,MAAM,GAAG,KAAK,EACd,KAAK,GAAG,KAAK,EACb,QAAQ,GAAG,KAAK,EAChB,cAAc,GAAG,KAAK;QAEtB,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YACvD,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YAC1D,IAAI,OAAO,IAAI,CAAC,cAAc,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC5D,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACvE,CAAC;YACD,IAAI,YAAY,GAAG,GAAG,CAAC;YACvB,IAAI,KAAK,EAAE,CAAC;gBACV,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;oBAC/B,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACxD,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC;YACzC,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;gBAC5C,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC/D,CAAC,CAAC,UAAU,EAAE,GAAG,IAAI,UAAU,EAAE,QAAQ,EAAE,CAAC;YAE9C,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,YAAY,CAAC;gBACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,mBAAmB,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,EAAE,CAAC;YAE1E,MAAM,IAAI,GAAI,GAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,IAAI,GAAG,GAAG,IAAI,CAAC,IAAW,CAAC;gBAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzC,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC3B,IACE,OAAO,GAAG,CAAC,UAAU,CAAC,KAAK,QAAQ;wBACnC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EACjC,CAAC;wBACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACpE,IAAI,CAAC,GAAG;4BACN,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,GAAG,CAAC,CAAC;wBACjE,OAAO,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAQ,EAAE,GAAG,CAAC,CAAC;oBACrE,CAAC;oBACD,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC7E,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAChB,MAAM,OAAO,GAAI,GAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3C,IAAI,GAAG,GAAG,IAAI,CAAC,IAAW,CAAC;gBAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5C,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxB,CAAC;gBACD,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;gBAChD,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;gBACpD,IAAI,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ;oBAAE,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvE,IAAI,IAAI,CAAC,QAAQ;oBAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAW,EAAE,GAAG,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO;gBACL,GAAG,GAAG;gBACN,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,mBAAmB,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG;aACzD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,uBAAuB,GAAG,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACrE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAChD,CAAC;IACH,CAAC;IAES,KAAK,CAAC,gBAAgB,CAC9B,GAAW,EACX,KAAU,EACV,MAAM,GAAG,KAAK,EACd,QAAQ,GAAG,KAAK;QAEhB,IAAI,MAAM;YAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;QACpD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,EAAE,GAAI,IAAI,CAAC,IAAY,EAAE,GAAG,IAAK,IAAY,CAAC,GAAG,CAAC;YACxD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,YAAY,GAAG,IAAI,CAAC,SAAS,GAAG,EAAE,EAClC,EAAE,GAAG,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAClC,CAAC,GAA8B,EAAE,EAAE;gBACjC,OAAO,CAAC;oBACN,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,GAAG,EAAE,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;iBACxD,CAAC,CAAC;YACL,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAES,UAAU,CAAC,GAAW,EAAE,KAAU;QAC1C,MAAM,EAAE,GAAI,IAAI,CAAC,IAAY,EAAE,GAAG,IAAK,IAAY,CAAC,GAAG,CAAC;QACxD,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAClB,kDAAkD,GAAG,MAAM,KAAK,EAAE,CACnE,CAAC;YACF,MAAM,IAAI,KAAK,CACb,0BAA0B,IAAI,CAAC,SAAS,0BAA0B,CACnE,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;IAC5C,CAAC;IAES,KAAK,CAAC,gBAAgB,CAC9B,EAAU;QAEV,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjE,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAClC,IAAI,GAAG;gBAAE,OAAO,GAAG,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,QAAgB,EAAE,KAAU;QAC9D,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC5D,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxD,IAAI,CAAC,EAAE;oBAAE,SAAS;gBAClB,IAAI,MAAW,CAAC;gBAChB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACjE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAC3C,IAAI,MAAM;wBAAE,MAAM;gBACpB,CAAC;gBACD,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU,EAAE,CAAC;oBACjE,MAAM,MAAM,CAAC,qBAAqB,EAAE,CAAC;gBACvC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAES,KAAK,CAAC,QAAQ;QACtB,IAAK,IAAI,CAAC,IAAY,CAAC,KAAK;YAAE,OAAO;QACrC,MAAM,EAAE,GAAI,IAAI,CAAC,IAAY,EAAE,GAAG,IAAK,IAAY,CAAC,GAAG,CAAC;QACxD,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAW,CAAC,EAAE,CAAC;YAChD,OAAQ,IAAI,CAAC,IAAY,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;QACA,IAAI,CAAC,IAAY,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,KAAK,IAAI,CAAC,SAAS,eAAe,CAAC,CAAC;IACjE,CAAC;IAEM,gBAAgB;QACrB,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,MAAW,IAAI,CAAC,IAAI,EACpB,QAAa,IAAI,EACjB,cAAqB,EAAE;QAEvB,MAAM,KAAK,GAAI,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAc,IAAI,EAAE,CAAC;QACtE,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,IAAI,OAAO,GAAG,KAAK,QAAQ;gBAAE,SAAS;YACtC,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;YACvD,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAW,CAAC;YAEpE,IACE,OAAO;gBACP,GAAG,KAAK,IAAI,CAAC,IAAI;gBACjB,GAAG,CAAC,GAAG,CAAC;gBACR,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAC1B,CAAC;gBACD,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7D,CAAC;YAED,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAE5E,IAAI,KAAK;gBAAE,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;YAExD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YACrB,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACnC,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;gBAC/C,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC9C,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACtB,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,GAAQ,EAAE,GAAW,EAAE,WAAkB;QAChE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC/B,IAAI,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;gBAChD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACjE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAQ,CAAC;wBACzC,IAAI,MAAM;4BAAE,MAAM;oBACpB,CAAC;gBACH,CAAC;gBACD,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC3C,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACxB,MAAO,MAAc,CAAC,mBAAmB,CACvC,SAAS,EACT,SAAS,EACT,WAAW,CACZ,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAES,KAAK,CAAC,iBAAiB,CAAC,OAAiB,EAAE,MAAW;QAC9D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7D,MAAM,GAAG,GAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAS,EAAE,SAAS,CACrE,QAAQ,CACT,CAAC;QACF,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,IAAI,GAAI,IAAI,CAAC,IAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,MAAM,GAAG,CAAC,UAAU,CAClB,OAAO,CAAC,CAAC,CAAC,EACV,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,EACd,IAAI,EACJ,KAAK,EACL,KAAK,EACL,IAAI,CACL,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAE,QAAQ,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;YAC9D,MAAM,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK;QAC/B,IAAI,CAAC,IAAI;YAAE,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAE,IAAI,CAAC,IAAY,CAAC,GAAG,CAAC,CAAC;QAChF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,YAAY,GAAG,IAAI,CAAC,SAAS,EAC5B,IAAI,CAAC,IAAY,CAAC,GAAG,EACtB,CAAC,GAA8B,EAAE,EAAE;gBACjC,OAAO,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;YAChE,CAAC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAsB,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAW,CAAC;YAChF,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;oBACpB,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,0BAA0B,CAAC,IAAY,EAAE,OAAiB;QACtE,IAAI,IAAI,CAAC,kBAAkB;YAAE,OAAO;QACpC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,MAAM,EAAE,GAAI,IAAI,CAAC,aAAa,CAAC,QAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,QAAQ,GAAI,IAAI,CAAC,IAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAmC,CAAC;QAC/E,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,QAAQ;gBAAE,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAChD,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAQ,CAAC,CAAC;YAC5C,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;gBAC5B,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACxD,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC5C,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAY,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;gBACnC,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,eAAe;QAC1B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAsB,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,KAAK,IAAI,OAAO;gBAAE,SAAS;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAW,CAAC,CAAC;YACvC,IAAI,CAAC,GAAG;gBAAE,SAAS;YACnB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAClD,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC7B,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,qBAAqB,KAAK,UAAU,EAAE,CAAC;oBAC/D,MAAM,KAAK,CAAC,qBAAqB,EAAE,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,QAAQ;QACnB,uCAAuC;IACzC,CAAC;CACF;AAED,MAAM,UAAU,sBAAsB,CACpC,QAAa,EACb,MAAW,EACX,MAAqB,EACrB,QAAkB,EAClB,OAAY,EACZ,OAAoB;IAEpB,MAAM,KAAK,GAAI,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAc,IAAI,EAAE,CAAC;IACvE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9C,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE;YAC5B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;YAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC;qBAC3B,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC;qBAC7D,MAAM,CAAC,OAAO,CAAC,CAAC;;gBAEnB,OAAO,CAAC,IAAI,CAAC;oBACX,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;QACpE,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAE3D,CAAC;QACF,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC;YACpB,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACjE,IAAI,WAAW,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,OAAO,CAAC,IAAI,CAAC,GAAG,sBAAsB,CACpC,QAAQ,CAAC,IAAI,CAAC,EACd,IAAI,CAAC,SAAS,EACd,IAAI,EACJ,QAAQ,EACR,EAAE,EACF,OAAO,CACR,CAAC,OAAO,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,OAAe,EACf,KAAU,EACV,IAAY;IAEZ,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACvD,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QACtB,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
package/dist/CommonTypes.d.ts
CHANGED
|
@@ -1,58 +1,15 @@
|
|
|
1
1
|
import { EventEmitter } from "eventemitter3";
|
|
2
2
|
import { ObjectId, ObjectIdLike } from "bson";
|
|
3
3
|
import "reflect-metadata";
|
|
4
|
-
|
|
4
|
+
import { AutoUpdatedClientObject } from "./AutoUpdatedClientObjectClass";
|
|
5
|
+
import { AutoUpdateManager } from "./AutoUpdateManagerClass";
|
|
6
|
+
type RefType = string | ObjectId;
|
|
7
|
+
export type MongoId = RefType;
|
|
5
8
|
export type EventEmitter3 = EventEmitter;
|
|
6
|
-
export interface IAutoUpdateManager<T extends IAutoUpdatedClientObjectBase> {
|
|
7
|
-
readonly className: string;
|
|
8
|
-
readonly cache: DEMCache;
|
|
9
|
-
readonly managers: Record<string, IAutoUpdateManager<IAutoUpdatedClientObjectBase>>;
|
|
10
|
-
getObject(_id?: MongoId): T | null | undefined;
|
|
11
|
-
deleteObject(_id: MongoId): Promise<{
|
|
12
|
-
success: boolean;
|
|
13
|
-
message: string;
|
|
14
|
-
}>;
|
|
15
|
-
readonly objectsAsArray: T[];
|
|
16
|
-
readonly isLoaded: boolean;
|
|
17
|
-
}
|
|
18
|
-
export interface IAutoUpdatedClientObjectBase {
|
|
19
|
-
readonly _id: MongoId;
|
|
20
|
-
readonly properties: string[];
|
|
21
|
-
readonly className: string;
|
|
22
|
-
readonly isLoaded: boolean;
|
|
23
|
-
loadMissingReferences(): Promise<void>;
|
|
24
|
-
waitForPreloaded(): Promise<void>;
|
|
25
|
-
destroy(once?: boolean): Promise<{
|
|
26
|
-
success: boolean;
|
|
27
|
-
message: string;
|
|
28
|
-
}>;
|
|
29
|
-
isPreLoadedAsync(): Promise<boolean>;
|
|
30
|
-
contactChildren(): Promise<void>;
|
|
31
|
-
onUpdate(): Promise<void>;
|
|
32
|
-
getValue(key: string): any;
|
|
33
|
-
setValue(key: string, val: any): Promise<{
|
|
34
|
-
success: boolean;
|
|
35
|
-
msg: string;
|
|
36
|
-
}>;
|
|
37
|
-
readonly parentManager: IAutoUpdateManager<IAutoUpdatedClientObjectBase>;
|
|
38
|
-
readonly callbacks: any;
|
|
39
|
-
readonly classParam: any;
|
|
40
|
-
}
|
|
41
|
-
export interface IAutoUpdatedClientObject<T extends object = any> extends IAutoUpdatedClientObjectBase {
|
|
42
|
-
readonly extractedData: ExtractedData<T, IAutoUpdatedClientObject<any>>;
|
|
43
|
-
getValue<K extends Paths<T, IAutoUpdatedClientObject<any>>>(key: K): PathValueOf<T, K>;
|
|
44
|
-
setValue<K extends Paths<T, IAutoUpdatedClientObject<any>>>(key: K, val: PathValueOf<IsData<T>, K>): Promise<{
|
|
45
|
-
success: boolean;
|
|
46
|
-
msg: string;
|
|
47
|
-
}>;
|
|
48
|
-
}
|
|
49
|
-
export interface IAutoUpdatedServerObject<T extends object = any> extends IAutoUpdatedClientObject<T> {
|
|
50
|
-
loadFromDB(): Promise<void>;
|
|
51
|
-
loadFromDocument(document: unknown): Promise<void>;
|
|
52
|
-
}
|
|
53
9
|
export type AutoProps<T> = {
|
|
54
10
|
readonly [K in keyof T]: T[K];
|
|
55
11
|
};
|
|
12
|
+
export type InstanceOf<T> = T extends Constructor<infer I> ? I : T;
|
|
56
13
|
export type Constructor<T> = new (...args: any[]) => T;
|
|
57
14
|
export type UnboxConstructor<T> = T extends new (...args: any[]) => infer I ? I : T;
|
|
58
15
|
export type LoggersType = {
|
|
@@ -61,29 +18,26 @@ export type LoggersType = {
|
|
|
61
18
|
error: (s: string) => void;
|
|
62
19
|
warn: (s: string) => void;
|
|
63
20
|
};
|
|
64
|
-
type
|
|
21
|
+
type IsAUCO<T> = T extends {
|
|
65
22
|
className: string;
|
|
66
|
-
_id: any;
|
|
67
23
|
} ? true : false;
|
|
68
|
-
type AllowStringForRefs<V> = NonNullable<V> extends Array<infer U> ?
|
|
69
|
-
type OnlyStringForRefs<V> = V extends
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
24
|
+
type AllowStringForRefs<V> = NonNullable<V> extends Array<infer U> ? IsAUCO<NonNullable<U>> extends true ? (U | string | ObjectIdLike)[] : V : IsAUCO<NonNullable<V>> extends true ? V | string | ObjectIdLike : V;
|
|
25
|
+
type OnlyStringForRefs<V> = NonNullable<V> extends Array<infer U> ? IsAUCO<NonNullable<U>> extends true ? string[] : V : IsAUCO<NonNullable<V>> extends true ? string : V;
|
|
26
|
+
export type Cache<T> = {
|
|
27
|
+
references: {
|
|
28
|
+
[K in keyof T]?: AutoUpdateManager<AutoUpdatedClientObject<any>>;
|
|
29
|
+
};
|
|
74
30
|
};
|
|
75
|
-
export type
|
|
76
|
-
|
|
77
|
-
[K in keyof Pure<T> as T[K] extends Function ? never : K]: AllowStringForRefs<T[K]>;
|
|
31
|
+
export type IsData<T> = {
|
|
32
|
+
[K in keyof T]: AllowStringForRefs<T[K]>;
|
|
78
33
|
} & {
|
|
79
|
-
_id:
|
|
34
|
+
_id: any;
|
|
80
35
|
};
|
|
81
|
-
export type ExtractedData<T
|
|
82
|
-
[K in keyof
|
|
83
|
-
} & {
|
|
84
|
-
_id: string;
|
|
36
|
+
export type ExtractedData<T, Base = AutoUpdatedClientObject<T>> = {
|
|
37
|
+
[K in keyof FixPure<T, Base>]: OnlyStringForRefs<T[K]>;
|
|
85
38
|
};
|
|
86
|
-
|
|
39
|
+
type FixPure<T, Base> = Omit<T, keyof Omit<Base, "_id">>;
|
|
40
|
+
export type SocketEvent = [string, any, (res: ServerResponse<any>) => void];
|
|
87
41
|
export type ServerResponse<T> = {
|
|
88
42
|
data: T;
|
|
89
43
|
message?: string;
|
|
@@ -93,32 +47,33 @@ export type ServerResponse<T> = {
|
|
|
93
47
|
success: false;
|
|
94
48
|
};
|
|
95
49
|
export type ServerUpdateRequest<T> = {
|
|
96
|
-
_id:
|
|
50
|
+
_id: RefType;
|
|
97
51
|
key: string;
|
|
98
|
-
value:
|
|
52
|
+
value: any;
|
|
99
53
|
};
|
|
100
|
-
export declare function classProp(target:
|
|
101
|
-
export declare function populatedRef(where: string): (target:
|
|
102
|
-
export declare function classRef(): (target:
|
|
54
|
+
export declare function classProp(target: any, propertyKey: string): void;
|
|
55
|
+
export declare function populatedRef(where: string): (target: any, propertyKey: string) => void;
|
|
56
|
+
export declare function classRef(): (target: any, propertyKey: string) => void;
|
|
103
57
|
export type Pretty<T> = {
|
|
104
58
|
[K in keyof T]: T[K];
|
|
105
59
|
};
|
|
106
60
|
export type StripPrototypePrefix<P extends string> = P extends "prototype" ? never : P extends `prototype.${infer Rest}` ? Rest : P;
|
|
107
|
-
export type Recurseable<T> = T extends object ? T extends Array<
|
|
61
|
+
export type Recurseable<T> = T extends object ? T extends Array<any> | Function ? never : T : never;
|
|
108
62
|
export type OnlyClassKeys<T> = {
|
|
109
63
|
[K in keyof T]: K;
|
|
110
64
|
}[keyof T] & string;
|
|
111
65
|
export type Split<S extends string> = S extends `${infer L}.${infer R}` ? [L, ...Split<R>] : [S];
|
|
112
66
|
export type NonOptional<T> = Exclude<T, null | undefined>;
|
|
113
|
-
export type DeAutoUpdate<T> = T extends
|
|
114
|
-
export type RecursiveDeAutoUpdate<T extends
|
|
67
|
+
export type DeAutoUpdate<T> = T extends AutoUpdatedClientObject<infer U> ? U : T;
|
|
68
|
+
export type RecursiveDeAutoUpdate<T extends AutoUpdatedClientObject<any>> = T extends AutoUpdatedClientObject<infer U> ? U extends object ? DeAutoUpdate<U> : U : T;
|
|
115
69
|
export type OnlyAddedKeys<Sub, Parent> = Pick<Sub, Exclude<keyof Sub, keyof Omit<Parent, "_id">>>;
|
|
116
70
|
export type Prev = [never, 0, 1, 2, 3];
|
|
117
71
|
export type Join<K, P> = K extends string | number ? P extends string | number ? `${K}${"" extends P ? "" : "."}${P}` : never : never;
|
|
118
|
-
export type Paths<T, Base, D extends number = 3> =
|
|
119
|
-
[K in keyof OnlyAddedKeys<NonNullable<T>, Base> & string]-?: NonNullable<NonNullable<T>[K]> extends Function ? never : NonNullable<NonNullable<T>[K]> extends Array<
|
|
72
|
+
export type Paths<T, Base, D extends number = 3> = [D] extends [never] ? never : NonNullable<T> extends object ? {
|
|
73
|
+
[K in keyof OnlyAddedKeys<NonNullable<T>, Base> & string]-?: NonNullable<NonNullable<T>[K]> extends Function ? never : NonNullable<NonNullable<T>[K]> extends Array<any> | Date | ObjectId ? K : NonNullable<NonNullable<T>[K]> extends object ? K | Join<K, Paths<NonNullable<NonNullable<T>[K]>, Base, Prev[D]>> : K;
|
|
120
74
|
}[keyof OnlyAddedKeys<NonNullable<T>, Base> & string] : never;
|
|
121
|
-
export type PathValueOf<T, P extends string> =
|
|
75
|
+
export type PathValueOf<T, P extends string> = P extends `${infer K}.${infer Rest}` ? K extends keyof NonNullable<T> ? PathValueOf<NonNullable<NonNullable<T>[K]>, Rest> : never : P extends keyof NonNullable<T> ? NonNullable<T>[P] : never;
|
|
76
|
+
export type Pure<T, Base = AutoUpdatedClientObject<T>> = FixPure<T, Base>;
|
|
122
77
|
export declare const EVENT_INTERNAL_PRE_LOADED = "pre-loaded";
|
|
123
78
|
export declare const EVENT_UPDATE = "update";
|
|
124
79
|
export declare const EVENT_DELETE = "delete";
|
|
@@ -128,7 +83,7 @@ export declare const EVENT_STARTUP = "startup";
|
|
|
128
83
|
export type GlobalCache = {
|
|
129
84
|
objects: Record<string, {
|
|
130
85
|
className: string;
|
|
131
|
-
object:
|
|
86
|
+
object: AutoUpdatedClientObject<any>;
|
|
132
87
|
}>;
|
|
133
88
|
};
|
|
134
89
|
export declare const globalCache: GlobalCache;
|
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":"AAEA,OAAO,kBAAkB,CAAC;AAoE1B,MAAM,UAAU,SAAS,CAAC,MAAW,EAAE,WAAmB;IACtD,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IAC5D,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC,CAAC;IACzC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa;IACtC,OAAO,UAAU,MAAW,EAAE,WAAmB;QAC7C,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAChC,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACjE,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,QAAQ;IACpB,OAAO,UAAU,MAAW,EAAE,WAAmB;QAC7C,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC/D,CAAC,CAAC;AACN,CAAC;AAoCD,MAAM,CAAC,MAAM,yBAAyB,GAAG,YAAY,CAAC;AACtD,MAAM,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAC;AACrC,MAAM,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAC;AACrC,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAC/B,MAAM,CAAC,MAAM,aAAa,GAAG,SAAS,CAAC;AASvC,MAAM,CAAC,MAAM,WAAW,GAAgB;IACpC,OAAO,EAAE,EAAE;CACd,CAAC"}
|
package/dist/client.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import * as AutoUpdateClientManagerClass from "./AutoUpdateClientManagerClass";
|
|
2
|
+
import * as AutoUpdateManagerClass from "./AutoUpdateManagerClass";
|
|
3
|
+
import * as AutoUpdatedClientObjectClass from "./AutoUpdatedClientObjectClass";
|
|
4
|
+
import * as CommonTypes from "./CommonTypes";
|
|
5
|
+
export { AutoUpdateClientManagerClass, AutoUpdateManagerClass, AutoUpdatedClientObjectClass, CommonTypes, };
|
package/dist/client.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import * as AutoUpdateClientManagerClass from "./AutoUpdateClientManagerClass";
|
|
2
|
+
import * as AutoUpdateManagerClass from "./AutoUpdateManagerClass";
|
|
3
|
+
import * as AutoUpdatedClientObjectClass from "./AutoUpdatedClientObjectClass";
|
|
4
|
+
import * as CommonTypes from "./CommonTypes";
|
|
5
|
+
export { AutoUpdateClientManagerClass, AutoUpdateManagerClass, AutoUpdatedClientObjectClass, CommonTypes, };
|
|
5
6
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,4BAA4B,MAAM,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,4BAA4B,MAAM,gCAAgC,CAAC;AAC/E,OAAO,KAAK,sBAAsB,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,4BAA4B,MAAM,gCAAgC,CAAC;AAC/E,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAE7C,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,4BAA4B,EAC5B,WAAW,GACZ,CAAC"}
|