@prestizni-software/client-dem 0.4.112 → 0.4.114

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.
@@ -7,7 +7,7 @@ export class AutoUpdatedClientObject {
7
7
  preLoad;
8
8
  registerSocket;
9
9
  readyLoggers;
10
- loadFromDB(a) { }
10
+ loadFromDB(a) { return a; }
11
11
  socket;
12
12
  data;
13
13
  isServer = false;
@@ -35,7 +35,7 @@ export class AutoUpdatedClientObject {
35
35
  }
36
36
  }
37
37
  catch (error) {
38
- this.loggers.error("Error loading references: " + error.message);
38
+ // this.loggers?.error?.("Error loading references: " + error.message);
39
39
  }
40
40
  finally {
41
41
  this.isLoadingReferences = false;
@@ -59,18 +59,8 @@ export class AutoUpdatedClientObject {
59
59
  this.parentManager = parentManager;
60
60
  this.callbacks = callback;
61
61
  this.emitter = emitter;
62
- this.properties = undefined;
63
- if (!classParam &&
64
- !socket &&
65
- !data &&
66
- !loggers &&
67
- !className &&
68
- !parentManager &&
69
- !callback &&
70
- !emitter)
71
- return;
72
- else
73
- throw new Error("Missing arguments???");
62
+ this.properties = [];
63
+ return;
74
64
  }
75
65
  this.classParam = classParam;
76
66
  this.socket = socket;
@@ -83,31 +73,44 @@ export class AutoUpdatedClientObject {
83
73
  const allProps = new Set();
84
74
  let proto = classParam.prototype;
85
75
  while (proto && proto !== Object.prototype) {
86
- const props = Reflect.getOwnMetadata("props", proto) || [];
87
- for (const p of props)
88
- allProps.add(p);
76
+ const props = Reflect.getOwnMetadata("props", proto);
77
+ if (props) {
78
+ for (const p of props)
79
+ allProps.add(p);
80
+ }
89
81
  proto = Object.getPrototypeOf(proto);
90
82
  }
91
83
  this.properties = Array.from(allProps);
92
- this.callbacks = callback;
93
- this.loggers = {
94
- debug: (s) => loggers.debug(`[${this.className}: ${this.data?._id ?? this._id ?? "not loaded"}] ${s}`),
95
- info: (s) => loggers.info(`[${this.className}: ${this.data?._id ?? this._id ?? "not loaded"}] ${s}`),
96
- warn: (s) => loggers.warn(`[${this.className}: ${this.data?._id ?? this._id ?? "not loaded"}] ${s}`),
97
- error: (s) => loggers.error(`[${this.className}: ${this.data?._id ?? this._id ?? "not loaded"}] ${s}`),
84
+ this.callbacks = callback || {
85
+ new: () => { },
86
+ update: () => { },
87
+ delete: () => { },
88
+ progress: () => { },
98
89
  };
99
90
  if (typeof data === "string") {
100
91
  this.data = { _id: data };
92
+ }
93
+ else {
94
+ this.data = data;
95
+ }
96
+ const currentId = this.data?._id?.toString() ?? "not loaded";
97
+ this.loggers = {
98
+ debug: (s) => loggers.debug?.(`[${this.className}: ${currentId}] ${s}`),
99
+ info: (s) => loggers.info?.(`[${this.className}: ${currentId}] ${s}`),
100
+ warn: (s) => loggers.warn?.(`[${this.className}: ${currentId}] ${s}`),
101
+ error: (s) => loggers.error?.(`[${this.className}: ${currentId}] ${s}`),
102
+ };
103
+ if (typeof data === "string") {
101
104
  if (this.isServer) {
102
105
  this.isLoading = false;
103
106
  this.generateSettersAndGetters();
107
+ this.emitter.emit(EVENT_INTERNAL_PRE_LOADED + this.EmitterID);
104
108
  return;
105
109
  }
106
110
  this.socket.emit(EVENT_GET + this.className + data, null, async (res) => {
107
111
  if (!res.success) {
108
112
  this.isLoading = false;
109
- this.loggers.error("Could not load data from server: " + res.message);
110
- this.emitter.emit(EVENT_INTERNAL_PRE_LOADED + this.EmitterID);
113
+ this.emitter.emit(EVENT_INTERNAL_PRE_LOADED + this.EmitterID, true, res.message);
111
114
  return;
112
115
  }
113
116
  this.data = res.data;
@@ -119,44 +122,46 @@ export class AutoUpdatedClientObject {
119
122
  });
120
123
  }
121
124
  else {
122
- this.isLoading = true;
123
- this.data = data;
124
- for (const key of this.properties || []) {
125
+ const currentDataRec = this.data;
126
+ for (const key of this.properties) {
125
127
  const isRef = getMetadataRecursive("isRef", this, key);
126
- if (isRef && this.data[key]) {
127
- if (Array.isArray(this.data[key])) {
128
- this.data[key] = this.data[key].map((obj) => obj._id?.toString() ?? obj?.toString());
128
+ if (isRef && currentDataRec[key]) {
129
+ if (Array.isArray(currentDataRec[key])) {
130
+ currentDataRec[key] = currentDataRec[key].map((obj) => obj._id?.toString() ?? obj?.toString());
129
131
  }
130
132
  else {
131
- this.data[key] = this.data[key]?._id?.toString() ?? this.data[key]?.toString();
133
+ currentDataRec[key] = currentDataRec[key]?._id?.toString() ?? currentDataRec[key]?.toString();
132
134
  }
133
135
  }
134
136
  }
135
- if ((!this.data._id || this.data._id === "") && !this.isServer) {
137
+ if ((!currentDataRec["_id"] || currentDataRec["_id"] === "") && !this.isServer) {
138
+ this.isLoading = true;
136
139
  this.handleNewObject(this.data);
137
140
  }
138
141
  else {
139
142
  this.isLoading = false;
143
+ this.emitter.emit(EVENT_INTERNAL_PRE_LOADED + this.EmitterID);
140
144
  if (!this.isServer) {
141
145
  this.openSockets();
142
- this.onUpdate(); // Client load/creation trigger
146
+ this.onUpdate();
143
147
  }
144
148
  }
145
149
  }
146
150
  this.generateSettersAndGetters();
147
- // Re-apply getters in a microtask to override any shadowing from subclass field initializers.
151
+ // Ensure setters/getters are set after child constructor
148
152
  Promise.resolve().then(() => {
149
153
  this.generateSettersAndGetters();
150
154
  });
155
+ if (!this.isServer) {
156
+ this.loadShit();
157
+ }
151
158
  }
152
159
  async waitForPreloaded() {
153
160
  if (this.isLoaded)
154
161
  return;
155
- // console.log(`[DEBUG] ${this.className} Waiting for preloaded - ID: ${this.data?._id ?? (this as any)._id}`);
156
162
  await new Promise((resolve, reject) => {
157
163
  const timer = setTimeout(() => {
158
- console.error(`[FATAL] ${this.className} TIMEOUT waiting for preloaded - ID: ${this.data?._id ?? this._id}`);
159
- reject(new Error("Timeout waiting for preloaded"));
164
+ reject(new Error(`Timeout waiting for preloaded: ${this.className}`));
160
165
  }, 10000);
161
166
  this.emitter.once(EVENT_INTERNAL_PRE_LOADED + this.EmitterID, (failed, reason) => {
162
167
  clearTimeout(timer);
@@ -169,10 +174,14 @@ export class AutoUpdatedClientObject {
169
174
  }
170
175
  handleNewObject(data) {
171
176
  this.isLoading = true;
177
+ if (!this.socket || typeof this.socket.emit !== 'function') {
178
+ this.isLoading = false;
179
+ this.emitter.emit(EVENT_INTERNAL_PRE_LOADED + this.EmitterID, true, "Socket not available");
180
+ return;
181
+ }
172
182
  this.socket.emit(EVENT_NEW + this.className, data, (res) => {
173
183
  if (!res.success) {
174
184
  this.isLoading = false;
175
- this.loggers.error("Could not create data on server: " + res.message);
176
185
  this.emitter.emit(EVENT_INTERNAL_PRE_LOADED + this.EmitterID, true, res.message);
177
186
  return;
178
187
  }
@@ -186,13 +195,13 @@ export class AutoUpdatedClientObject {
186
195
  }
187
196
  get extractedData() {
188
197
  const extracted = processIsRefProperties(this.data, this, null, [], {}, this.loggers).newData;
189
- return _.cloneDeep(extracted);
198
+ return extracted;
190
199
  }
191
200
  get isLoaded() {
192
201
  return !this.isLoading;
193
202
  }
194
203
  async isPreLoadedAsync() {
195
- await this.loadShit();
204
+ await this.waitForPreloaded();
196
205
  return true;
197
206
  }
198
207
  async loadMissingReferences() {
@@ -200,11 +209,14 @@ export class AutoUpdatedClientObject {
200
209
  this.generateSettersAndGetters();
201
210
  }
202
211
  openSockets() {
203
- const id = this.data?._id ?? this._id;
212
+ const dataRec = this.data;
213
+ const id = dataRec["_id"];
214
+ if (!id || !this.socket || typeof this.socket.on !== 'function')
215
+ return;
204
216
  const event = EVENT_UPDATE + this.className + id.toString();
205
217
  this.socket.on(event, async (update, ack) => {
206
218
  const res = await this.handleUpdateRequest(update);
207
- if (ack && typeof ack === "function")
219
+ if (ack)
208
220
  ack(res);
209
221
  return res;
210
222
  });
@@ -217,7 +229,8 @@ export class AutoUpdatedClientObject {
217
229
  return { success: true, data: undefined, message: "" };
218
230
  }
219
231
  catch (error) {
220
- this.loggers.error(`[${this.data._id}] Error applying patch: ${error.message}`);
232
+ const dataRec = this.data;
233
+ this.loggers.error?.(`[${dataRec["_id"]?.toString()}] Error applying patch: ${error.message}`);
221
234
  return { success: false, message: "Error applying update: " + error.message };
222
235
  }
223
236
  }
@@ -230,7 +243,8 @@ export class AutoUpdatedClientObject {
230
243
  const isRef = getMetadataRecursive("isRef", this, key);
231
244
  Object.defineProperty(this, key, {
232
245
  get: () => {
233
- let val = this.data[key];
246
+ const dataRec = this.data;
247
+ let val = dataRec ? dataRec[key] : undefined;
234
248
  if (isRef && val) {
235
249
  if (Array.isArray(val)) {
236
250
  return val.map((id) => this.findReference(id, key)).filter(Boolean);
@@ -242,7 +256,8 @@ export class AutoUpdatedClientObject {
242
256
  return val;
243
257
  },
244
258
  set: (v) => {
245
- throw new Error("Cannot set value of a reference pointer directly.");
259
+ if (this.data)
260
+ this.data[key] = v;
246
261
  },
247
262
  enumerable: true,
248
263
  configurable: true,
@@ -251,19 +266,20 @@ export class AutoUpdatedClientObject {
251
266
  }
252
267
  getValue(key_) {
253
268
  const key = key_;
254
- // Shallow only now
255
- return this[key] !== undefined ? this[key] : this.data[key];
269
+ const dataRec = this.data;
270
+ return (this)[key] === undefined ? (dataRec ? dataRec[key_] : undefined) : this[key_];
256
271
  }
257
272
  findReference(id, key) {
258
- if (!id)
273
+ if (!id || !this.parentManager)
259
274
  return undefined;
260
275
  const idStr = id.toString();
261
- if (this.parentManager.cache.references[key])
262
- return this.parentManager.cache.references[key].getObject(idStr);
276
+ const cacheRec = this.parentManager.cache.references;
277
+ if (cacheRec[key])
278
+ return cacheRec[key].getObject(idStr);
263
279
  for (const manager of Object.values(this.parentManager.managers)) {
264
280
  const result = manager.getObject(idStr);
265
281
  if (result) {
266
- this.parentManager.cache.references[key] = manager;
282
+ cacheRec[key] = manager;
267
283
  return result;
268
284
  }
269
285
  }
@@ -281,16 +297,18 @@ export class AutoUpdatedClientObject {
281
297
  if (isRef) {
282
298
  valueToStore = Array.isArray(val)
283
299
  ? val.map((v) => v._id?.toString() ?? v.toString())
284
- : (val?._id ?? val?.toString() ?? val);
300
+ : (val?._id?.toString() ?? val?.toString() ?? val);
285
301
  }
286
- const currentVal = this.data[key];
302
+ const dataRec = this.data;
303
+ const currentVal = dataRec ? dataRec[key] : undefined;
287
304
  if (_.isEqual(currentVal, valueToStore))
288
305
  return { success: true, msg: "Successfully set " + key + " to " + val };
289
306
  const res = await this.setValueInternal(key, valueToStore, silent, noUpdate);
290
307
  if (res.success) {
291
- this.data[key] = valueToStore;
308
+ if (this.data)
309
+ this.data[key] = valueToStore;
292
310
  await this.findAndLoadReferences(key, valueToStore);
293
- if (isRef && this.parentManager.isLoaded)
311
+ if (isRef && this.parentManager && this.parentManager.isLoaded)
294
312
  await this.contactChildren();
295
313
  if (this.isLoaded)
296
314
  this.callbacks.update(this, key);
@@ -298,7 +316,7 @@ export class AutoUpdatedClientObject {
298
316
  return { ...res, msg: res.msg ?? "Successfully set " + key + " to " + val };
299
317
  }
300
318
  catch (error) {
301
- this.loggers.error(`Error setting value ${key}: ${error.message}`);
319
+ this.loggers.error?.(`Error setting value ${key}: ${error.message}`);
302
320
  return { success: false, msg: error.message };
303
321
  }
304
322
  }
@@ -306,21 +324,34 @@ export class AutoUpdatedClientObject {
306
324
  if (silent || noUpdate)
307
325
  return { success: true, msg: "Silent or no update" };
308
326
  return new Promise((resolve) => {
309
- const id = this.data?._id ?? this._id;
310
- this.socket.emit(EVENT_UPDATE + this.className + id, { _id: id.toString(), key, value }, (res) => {
327
+ const dataRec = this.data;
328
+ const id = dataRec ? dataRec["_id"] : undefined;
329
+ if (!id)
330
+ return resolve({ success: false, msg: "Missing _id" });
331
+ if (!this.socket || typeof this.socket.emit !== 'function') {
332
+ return resolve({ success: false, msg: "Socket not available" });
333
+ }
334
+ const timeout = setTimeout(() => {
335
+ resolve({ success: false, msg: "Timeout waiting for server response" });
336
+ }, 5000);
337
+ this.socket.emit(EVENT_UPDATE + this.className + id.toString(), { _id: id.toString(), key, value }, (res) => {
338
+ clearTimeout(timeout);
311
339
  resolve({ success: res.success, msg: res.message ?? (res.success ? "Success" : "Error") });
312
340
  });
313
341
  });
314
342
  }
315
343
  makeUpdate(key, value) {
316
- const id = this.data?._id ?? this._id;
344
+ const dataRec = this.data;
345
+ const id = dataRec ? dataRec["_id"] : undefined;
317
346
  if (!id) {
318
- this.loggers.error(`Probably missing the identifier ['_id'] again: ${key} = ${value}`);
347
+ this.loggers.error?.(`Probably missing the identifier ['_id'] again: ${key} = ${value}`);
319
348
  throw new Error(`Cannot make update for ${this.className} because _id is missing.`);
320
349
  }
321
- return { _id: id.toString(), key, value };
350
+ return { _id: id, key, value };
322
351
  }
323
352
  async resolveReference(id) {
353
+ if (!this.parentManager)
354
+ return null;
324
355
  for (const manager of Object.values(this.parentManager.managers)) {
325
356
  const obj = manager.getObject(id);
326
357
  if (obj)
@@ -330,7 +361,7 @@ export class AutoUpdatedClientObject {
330
361
  }
331
362
  async findAndLoadReferences(lastPath, value) {
332
363
  const isRef = getMetadataRecursive("isRef", this, lastPath);
333
- if (isRef) {
364
+ if (isRef && this.parentManager) {
334
365
  for (const id of Array.isArray(value) ? value : [value]) {
335
366
  if (!id)
336
367
  continue;
@@ -347,51 +378,57 @@ export class AutoUpdatedClientObject {
347
378
  }
348
379
  }
349
380
  async wipeSelf() {
350
- if (this.data.Wiped)
381
+ const dataRec = this.data;
382
+ if (!dataRec || dataRec["Wiped"])
351
383
  return;
352
- const id = this.data?._id ?? this._id;
384
+ const id = dataRec["_id"];
353
385
  const _id = id ? id.toString() : "unknown";
354
- for (const key of Object.keys(this.data)) {
355
- delete this.data[key];
386
+ for (const key of Object.keys(dataRec)) {
387
+ delete dataRec[key];
356
388
  }
357
- this.data = { Wiped: true };
358
- this.loggers.info(`[${_id}] ${this.className} object wiped`);
389
+ dataRec["Wiped"] = true;
390
+ this.loggers.info?.(`[${_id}] ${this.className} object wiped`);
359
391
  }
360
392
  async loadForceReferences(obj = this.data, proto = this, alreadySeen = []) {
393
+ if (!obj)
394
+ return;
361
395
  if (obj === this.data) {
362
- const myId = this.data?._id?.toString();
396
+ const dataRec = this.data;
397
+ const myId = dataRec["_id"]?.toString();
363
398
  if (myId && !alreadySeen.includes(myId))
364
399
  alreadySeen.push(myId);
365
400
  }
366
401
  const props = Reflect.getMetadata("props", proto) || [];
367
402
  for (const key of props) {
368
- if (typeof key !== "string")
369
- continue;
370
403
  const isRef = Reflect.getMetadata("isRef", proto, key);
371
404
  const pointer = Reflect.getMetadata("refsTo", proto, key);
372
- if (pointer && obj === this.data && obj[key] && !alreadySeen.includes(obj)) {
373
- await this.createdWithParent(pointer.split(":"), obj[key]);
405
+ const objRec = obj;
406
+ if (pointer && obj === this.data && objRec[key] && !alreadySeen.includes(JSON.stringify(obj))) {
407
+ await this.createdWithParent(pointer.split(":"), objRec[key]);
374
408
  }
375
- if (obj[key] && !alreadySeen.includes(obj[key]))
376
- alreadySeen.push(obj[key]);
409
+ if (objRec[key] && !alreadySeen.includes(objRec[key]))
410
+ alreadySeen.push(objRec[key]);
377
411
  if (isRef)
378
412
  await this.handleLoad(obj, key, alreadySeen);
379
- const val = obj[key];
413
+ const val = objRec[key];
380
414
  if (val && typeof val === "object") {
381
415
  const nestedProto = Object.getPrototypeOf(val);
382
- if (nestedProto && !alreadySeen.includes(val)) {
383
- alreadySeen.push(val);
416
+ if (nestedProto && nestedProto !== Object.prototype && !alreadySeen.includes(JSON.stringify(val))) {
417
+ alreadySeen.push(JSON.stringify(val));
384
418
  await this.loadForceReferences(val, nestedProto, alreadySeen);
385
419
  }
386
420
  }
387
421
  }
388
422
  }
389
423
  async handleLoad(obj, key, alreadySeen) {
390
- const refIds = Array.isArray(obj[key]) ? obj[key] : [obj[key]];
424
+ if (!this.parentManager)
425
+ return;
426
+ const objRec = obj;
427
+ const refIds = Array.isArray(objRec[key]) ? objRec[key] : [objRec[key]];
391
428
  for (const refId of refIds) {
392
429
  if (refId) {
393
430
  const idStr = refId.toString();
394
- let result = globalCache.objects[idStr]?.object;
431
+ let result = (globalCache.objects[idStr]?.object);
395
432
  if (!result) {
396
433
  for (const manager of Object.values(this.parentManager.managers)) {
397
434
  result = manager.getObject(idStr);
@@ -414,14 +451,20 @@ export class AutoUpdatedClientObject {
414
451
  });
415
452
  }
416
453
  async createdWithParent(pointer, parent) {
417
- if (pointer.length !== 2)
454
+ if (pointer.length !== 2 || !this.parentManager)
418
455
  return;
419
456
  const parentId = parent._id?.toString() ?? parent.toString();
420
- const obj = this.parentManager.managers[pointer[0]]?.getObject(parentId);
457
+ const ac = this.parentManager.managers[pointer[0]];
458
+ if (!ac)
459
+ return;
460
+ const obj = ac.getObject(parentId);
421
461
  if (!obj)
422
462
  return;
423
463
  const val = obj.getValue(pointer[1]);
424
- const myId = this.data._id.toString();
464
+ const dataRec = this.data;
465
+ const myId = dataRec["_id"]?.toString();
466
+ if (!myId)
467
+ return;
425
468
  if (Array.isArray(val)) {
426
469
  const ids = val.map(v => v._id?.toString() ?? v.toString());
427
470
  if (!ids.includes(myId)) {
@@ -433,10 +476,21 @@ export class AutoUpdatedClientObject {
433
476
  }
434
477
  }
435
478
  async destroy(once = false) {
436
- if (!once)
437
- return await this.parentManager.deleteObject(this.data._id.toString());
479
+ const dataRec = this.data;
480
+ const id = dataRec ? dataRec["_id"] : undefined;
481
+ if (!id)
482
+ return { success: false, message: "Missing _id" };
483
+ if (!once && this.parentManager)
484
+ return await this.parentManager.deleteObject(id);
438
485
  return new Promise((resolve) => {
439
- this.socket.emit(EVENT_DELETE + this.className, this.data._id, (res) => {
486
+ if (!this.socket || typeof this.socket.emit !== 'function') {
487
+ return resolve({ success: false, message: "Socket not available" });
488
+ }
489
+ const timeout = setTimeout(() => {
490
+ resolve({ success: false, message: "Timeout waiting for server deletion" });
491
+ }, 5000);
492
+ this.socket.emit(EVENT_DELETE + this.className, id.toString(), (res) => {
493
+ clearTimeout(timeout);
440
494
  resolve({ success: res.success, message: res.message ?? "" });
441
495
  });
442
496
  });
@@ -444,7 +498,7 @@ export class AutoUpdatedClientObject {
444
498
  async checkForMissingRefs() {
445
499
  for (const prop of this.properties) {
446
500
  const pointer = getMetadataRecursive("refsTo", this, prop.toString());
447
- if (pointer) {
501
+ if (typeof pointer === "string") {
448
502
  const parts = pointer.split(":");
449
503
  if (parts.length === 2)
450
504
  await this.findMissingObjectReference(prop, parts);
@@ -452,13 +506,16 @@ export class AutoUpdatedClientObject {
452
506
  }
453
507
  }
454
508
  async findMissingObjectReference(prop, pointer) {
455
- if (this.checkedMissingRefs)
509
+ if (this.checkedMissingRefs || !this.parentManager)
456
510
  return;
457
511
  this.checkedMissingRefs = true;
458
512
  const ac = this.parentManager.managers[pointer[0]];
459
513
  if (!ac)
460
514
  return;
461
- const targetId = this.data._id.toString();
515
+ const dataRec = this.data;
516
+ const targetId = dataRec ? dataRec["_id"]?.toString() : undefined;
517
+ if (!targetId)
518
+ return;
462
519
  const allObjects = Object.values(ac.objects);
463
520
  for (const obj of allObjects) {
464
521
  if (!obj.isLoaded)
@@ -468,7 +525,7 @@ export class AutoUpdatedClientObject {
468
525
  continue;
469
526
  const ids = Array.isArray(val) ? val.map(v => v._id?.toString() ?? v.toString()) : [val._id?.toString() ?? val.toString()];
470
527
  if (ids.includes(targetId)) {
471
- this.data[prop] = obj._id;
528
+ dataRec[prop] = obj._id;
472
529
  return;
473
530
  }
474
531
  }
@@ -497,6 +554,8 @@ export function processIsRefProperties(instance, target, prefix, allProps, newDa
497
554
  for (const prop of props) {
498
555
  const path = prefix ? `${prefix}.${prop}` : prop;
499
556
  allProps.push(path);
557
+ if (!instance)
558
+ continue;
500
559
  newData[prop] = ObjectId.isValid(instance[prop])
501
560
  ? instance[prop]?.toString()
502
561
  : instance[prop];
@@ -511,18 +570,16 @@ export function processIsRefProperties(instance, target, prefix, allProps, newDa
511
570
  }
512
571
  const type = Reflect.getMetadata("design:type", target, prop);
513
572
  if (type?.prototype) {
514
- const nestedProps = Reflect.getMetadata("props", type.prototype);
515
- if (nestedProps && instance[prop]) {
516
- newData[prop] = processIsRefProperties(instance[prop], type.prototype, path, allProps, {}, loggers).newData;
517
- }
573
+ // DO NOT RECURSE into nested prototypes to avoid circularity issues
518
574
  }
519
575
  }
520
576
  return { allProps, newData };
521
577
  }
522
- export function getMetadataRecursive(metaKey, proto, prop) {
578
+ export function getMetadataRecursive(metaKey, target, prop) {
579
+ let proto = target;
523
580
  while (proto) {
524
581
  const meta = Reflect.getMetadata(metaKey, proto, prop);
525
- if (meta)
582
+ if (meta !== undefined)
526
583
  return meta;
527
584
  proto = Object.getPrototypeOf(proto);
528
585
  }
@@ -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":"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"}