@nymphjs/client 1.0.0-beta.130 → 1.0.0-beta.132

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/CHANGELOG.md CHANGED
@@ -3,6 +3,16 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.0.0-beta.132](https://forge.sciactive.com/sciactive/nymphjs/compare/v1.0.0-beta.131...v1.0.0-beta.132) (2026-10-26)
7
+
8
+ **Note:** Version bump only for package @nymphjs/client
9
+
10
+ # [1.0.0-beta.131](https://forge.sciactive.com/sciactive/nymphjs/compare/v1.0.0-beta.130...v1.0.0-beta.131) (2026-10-20)
11
+
12
+ ### Features
13
+
14
+ - return proxy from places that should, throw errors from proxy on sleeping entity in client ([50d0b56](https://forge.sciactive.com/sciactive/nymphjs/commits/50d0b56fe4ef4fd9aed076ae82c81368ff4c8adb))
15
+
6
16
  # [1.0.0-beta.130](https://forge.sciactive.com/sciactive/nymphjs/compare/v1.0.0-beta.129...v1.0.0-beta.130) (2026-10-09)
7
17
 
8
18
  **Note:** Version bump only for package @nymphjs/client
package/dist/Entity.d.ts CHANGED
@@ -72,6 +72,8 @@ export default class Entity<T extends EntityData = EntityData> implements Entity
72
72
  * Initialize an entity.
73
73
  */
74
74
  constructor(..._rest: any[]);
75
+ private $existingProxy?;
76
+ protected $proxy(): this & T;
75
77
  /**
76
78
  * Create or retrieve a new entity instance.
77
79
  *
@@ -117,7 +119,7 @@ export default class Entity<T extends EntityData = EntityData> implements Entity
117
119
  */
118
120
  static serverCallStaticIterator(method: string, params: Iterable<any>): Promise<import("./HttpRequester.js").AbortableAsyncIterator<any>>;
119
121
  toJSON(): EntityJson;
120
- $init(entityJson: EntityJson | null): Entity<T>;
122
+ $init(entityJson: EntityJson | null): this & T;
121
123
  $addTag(...tags: string[]): void;
122
124
  $arraySearch(array: any[], strict?: boolean): number;
123
125
  $delete(): Promise<void>;
@@ -146,7 +148,7 @@ export default class Entity<T extends EntityData = EntityData> implements Entity
146
148
  $removeTag(...tags: string[]): void;
147
149
  $save(): Promise<void>;
148
150
  $serverCall(method: string, params: Iterable<any>, stateless?: boolean): Promise<any>;
149
- $toReference(): EntityReference | EntityInterface;
151
+ $toReference(): EntityReference | (this & T);
150
152
  }
151
153
  export declare class EntityIsSleepingReferenceError extends Error {
152
154
  constructor(message: string);
package/dist/Entity.js CHANGED
@@ -71,16 +71,14 @@ export default class Entity {
71
71
  this.$nymph = this.constructor.nymph;
72
72
  this.$dataHandler = {
73
73
  has: (data, name) => {
74
- if (typeof name !== 'symbol' && this.$isASleepingReference) {
75
- console.error(`Tried to check data on a sleeping reference: ${name}`);
76
- return false;
74
+ if (typeof name !== 'symbol') {
75
+ this.$check();
77
76
  }
78
77
  return name in data;
79
78
  },
80
79
  get: (data, name) => {
81
- if (typeof name !== 'symbol' && this.$isASleepingReference) {
82
- console.error(`Tried to get data on a sleeping reference: ${name}`);
83
- return undefined;
80
+ if (typeof name !== 'symbol') {
81
+ this.$check();
84
82
  }
85
83
  if (data.hasOwnProperty(name)) {
86
84
  return data[name];
@@ -88,9 +86,8 @@ export default class Entity {
88
86
  return undefined;
89
87
  },
90
88
  set: (data, name, value) => {
91
- if (typeof name !== 'symbol' && this.$isASleepingReference) {
92
- console.error(`Tried to set data on a sleeping reference: ${name}`);
93
- return false;
89
+ if (typeof name !== 'symbol') {
90
+ this.$check();
94
91
  }
95
92
  if (typeof name !== 'symbol') {
96
93
  this.$dirty[name] = true;
@@ -99,9 +96,8 @@ export default class Entity {
99
96
  return true;
100
97
  },
101
98
  deleteProperty: (data, name) => {
102
- if (typeof name !== 'symbol' && this.$isASleepingReference) {
103
- console.error(`Tried to delete data on a sleeping reference: ${name}`);
104
- return false;
99
+ if (typeof name !== 'symbol') {
100
+ this.$check();
105
101
  }
106
102
  if (data.hasOwnProperty(name)) {
107
103
  this.$dirty[name] = true;
@@ -110,9 +106,8 @@ export default class Entity {
110
106
  return true;
111
107
  },
112
108
  defineProperty: (data, name, descriptor) => {
113
- if (typeof name !== 'symbol' && this.$isASleepingReference) {
114
- console.error(`Tried to define data on a sleeping reference: ${name}`);
115
- return false;
109
+ if (typeof name !== 'symbol') {
110
+ this.$check();
116
111
  }
117
112
  if (typeof name !== 'symbol') {
118
113
  this.$dirty[name] = true;
@@ -121,90 +116,112 @@ export default class Entity {
121
116
  return true;
122
117
  },
123
118
  getOwnPropertyDescriptor: (data, name) => {
124
- if (typeof name !== 'symbol' && this.$isASleepingReference) {
125
- console.error(`Tried to get property descriptor on a sleeping reference: ${name}`);
126
- return undefined;
119
+ if (typeof name !== 'symbol') {
120
+ this.$check();
127
121
  }
128
122
  return Object.getOwnPropertyDescriptor(data, name);
129
123
  },
130
124
  ownKeys: (data) => {
131
- if (this.$isASleepingReference) {
132
- console.error(`Tried to enumerate data on a sleeping reference.`);
133
- return undefined;
134
- }
125
+ this.$check();
135
126
  return Object.getOwnPropertyNames(data);
136
127
  },
137
128
  };
138
129
  this.$dataStore = {};
139
130
  this.$data = new Proxy(this.$dataStore, this.$dataHandler);
140
- return new Proxy(this, {
141
- has(entity, name) {
142
- if (typeof name !== 'string' ||
143
- name in entity ||
144
- name.substring(0, 1) === '$') {
145
- return name in entity;
146
- }
147
- return name in entity.$data;
148
- },
149
- get(entity, name) {
150
- if (typeof name !== 'string' ||
151
- name in entity ||
152
- name.substring(0, 1) === '$') {
153
- return entity[name];
154
- }
155
- if (name in entity.$data) {
156
- return entity.$data[name];
157
- }
158
- return undefined;
159
- },
160
- set(entity, name, value) {
161
- if (typeof name !== 'string' ||
162
- name in entity ||
163
- name.substring(0, 1) === '$') {
164
- entity[name] = value;
165
- }
166
- else {
167
- entity.$data[name] = value;
168
- }
169
- return true;
170
- },
171
- deleteProperty(entity, name) {
172
- if (name in entity) {
173
- return delete entity[name];
174
- }
175
- else if (name in entity.$data) {
176
- return delete entity.$data[name];
177
- }
178
- return true;
179
- },
180
- getPrototypeOf(entity) {
181
- return entity.constructor.prototype;
182
- },
183
- defineProperty(entity, name, descriptor) {
184
- if (typeof name !== 'string' ||
185
- name in entity ||
186
- name.substring(0, 1) === '$') {
187
- Object.defineProperty(entity, name, descriptor);
188
- }
189
- else {
190
- Object.defineProperty(entity.$data, name, descriptor);
191
- }
192
- return true;
193
- },
194
- getOwnPropertyDescriptor(entity, name) {
195
- if (typeof name !== 'string' ||
196
- name in entity ||
197
- name.substring(0, 1) === '$') {
198
- return Object.getOwnPropertyDescriptor(entity, name);
199
- }
200
- else {
201
- return Object.getOwnPropertyDescriptor(entity.$data, name);
202
- }
203
- },
204
- ownKeys(entity) {
205
- return Object.getOwnPropertyNames(entity).concat(Object.getOwnPropertyNames(entity.$data));
206
- },
207
- });
131
+ return this.$proxy();
132
+ }
133
+ $existingProxy;
134
+ $proxy() {
135
+ if (this.$existingProxy == null) {
136
+ this.$existingProxy = new Proxy(this, {
137
+ has: (entity, name) => {
138
+ if (typeof name !== 'string' ||
139
+ name in entity ||
140
+ name.substring(0, 1) === '$') {
141
+ return name in entity;
142
+ }
143
+ this.$check();
144
+ return name in entity.$data;
145
+ },
146
+ get: (entity, name) => {
147
+ if (typeof name !== 'string' ||
148
+ name in entity ||
149
+ name.substring(0, 1) === '$') {
150
+ if (name === 'tags' || name === 'cdate' || name === 'mdate') {
151
+ this.$check();
152
+ }
153
+ return entity[name];
154
+ }
155
+ this.$check();
156
+ if (name in entity.$data) {
157
+ return entity.$data[name];
158
+ }
159
+ return undefined;
160
+ },
161
+ set: (entity, name, value) => {
162
+ if (typeof name !== 'string' ||
163
+ name in entity ||
164
+ name.substring(0, 1) === '$') {
165
+ if (name === 'tags' || name === 'cdate' || name === 'mdate') {
166
+ this.$check();
167
+ }
168
+ entity[name] = value;
169
+ }
170
+ else {
171
+ this.$check();
172
+ entity.$data[name] = value;
173
+ }
174
+ return true;
175
+ },
176
+ deleteProperty: (entity, name) => {
177
+ if (name in entity) {
178
+ return delete entity[name];
179
+ }
180
+ else if (name in entity.$data) {
181
+ this.$check();
182
+ return delete entity.$data[name];
183
+ }
184
+ return true;
185
+ },
186
+ getPrototypeOf: (entity) => {
187
+ return entity.constructor.prototype;
188
+ },
189
+ defineProperty: (entity, name, descriptor) => {
190
+ if (typeof name !== 'string' ||
191
+ name in entity ||
192
+ name.substring(0, 1) === '$') {
193
+ if (name === 'tags' || name === 'cdate' || name === 'mdate') {
194
+ this.$check();
195
+ }
196
+ Object.defineProperty(entity, name, descriptor);
197
+ }
198
+ else {
199
+ this.$check();
200
+ Object.defineProperty(entity.$data, name, descriptor);
201
+ }
202
+ return true;
203
+ },
204
+ getOwnPropertyDescriptor: (entity, name) => {
205
+ if (typeof name !== 'string' ||
206
+ name in entity ||
207
+ name.substring(0, 1) === '$') {
208
+ if (name === 'tags' || name === 'cdate' || name === 'mdate') {
209
+ this.$check();
210
+ }
211
+ return Object.getOwnPropertyDescriptor(entity, name);
212
+ }
213
+ else {
214
+ this.$check();
215
+ return Object.getOwnPropertyDescriptor(entity.$data, name);
216
+ }
217
+ },
218
+ ownKeys: (entity) => {
219
+ this.$check();
220
+ return Object.getOwnPropertyNames(entity).concat(Object.getOwnPropertyNames(entity.$data));
221
+ },
222
+ });
223
+ }
224
+ return this.$existingProxy;
208
225
  }
209
226
  /**
210
227
  * Create or retrieve a new entity instance.
@@ -302,7 +319,7 @@ export default class Entity {
302
319
  }
303
320
  $init(entityJson) {
304
321
  if (entityJson == null) {
305
- return this;
322
+ return this.$proxy();
306
323
  }
307
324
  this.$isASleepingReference = false;
308
325
  this.$sleepingReference = null;
@@ -323,7 +340,7 @@ export default class Entity {
323
340
  .reduce((obj, { key, value }) => Object.assign(obj, { [key]: value }), {});
324
341
  this.$data = new Proxy(this.$dataStore, this.$dataHandler);
325
342
  this.$nymph.setEntityToCache(this.constructor, this);
326
- return this;
343
+ return this.$proxy();
327
344
  }
328
345
  $addTag(...tags) {
329
346
  this.$check();
@@ -453,7 +470,7 @@ export default class Entity {
453
470
  * Check if this is a sleeping reference and throw an error if so.
454
471
  */
455
472
  $check() {
456
- if (this.$isASleepingReference || this.$sleepingReference != null) {
473
+ if (this.$asleep()) {
457
474
  throw new EntityIsSleepingReferenceError('This entity is in a sleeping reference state. You must use .$wake() to wake it.');
458
475
  }
459
476
  }
@@ -467,9 +484,9 @@ export default class Entity {
467
484
  * Wake from a sleeping reference.
468
485
  */
469
486
  $wake() {
470
- if (!this.$isASleepingReference) {
487
+ if (!this.$asleep()) {
471
488
  this.$wakePromise = null;
472
- return Promise.resolve(this);
489
+ return Promise.resolve(this.$proxy());
473
490
  }
474
491
  if (this.$sleepingReference?.[1] == null) {
475
492
  throw new InvalidStateError('Tried to wake a sleeping reference with no GUID.');
@@ -501,7 +518,7 @@ export default class Entity {
501
518
  newLevel = level - 1;
502
519
  }
503
520
  if (newLevel !== undefined && newLevel < 0) {
504
- resolve(this);
521
+ resolve(this.$proxy());
505
522
  return;
506
523
  }
507
524
  const promises = [];
@@ -536,13 +553,13 @@ export default class Entity {
536
553
  };
537
554
  walkData(this.$data);
538
555
  if (promises.length) {
539
- Promise.all(promises).then(() => resolve(this), (errObj) => reject(errObj));
556
+ Promise.all(promises).then(() => resolve(this.$proxy()), (errObj) => reject(errObj));
540
557
  }
541
558
  else {
542
- resolve(this);
559
+ resolve(this.$proxy());
543
560
  }
544
561
  };
545
- if (this.$isASleepingReference) {
562
+ if (this.$asleep()) {
546
563
  this.$wake().then(wakeProps, (errObj) => reject(errObj));
547
564
  }
548
565
  else {
@@ -556,7 +573,7 @@ export default class Entity {
556
573
  this.$sleepingReference = [...reference];
557
574
  }
558
575
  async $refresh() {
559
- if (this.$isASleepingReference) {
576
+ if (this.$asleep()) {
560
577
  await this.$wake();
561
578
  return true;
562
579
  }
@@ -598,11 +615,11 @@ export default class Entity {
598
615
  return data.return;
599
616
  }
600
617
  $toReference() {
601
- if (this.$isASleepingReference && this.$sleepingReference) {
618
+ if (this.$isASleepingReference && this.$sleepingReference != null) {
602
619
  return this.$sleepingReference;
603
620
  }
604
621
  if (this.guid == null) {
605
- return this;
622
+ return this.$proxy();
606
623
  }
607
624
  return [
608
625
  'nymph_entity_reference',
@@ -1 +1 @@
1
- {"version":3,"file":"Entity.js","sourceRoot":"","sources":["../src/Entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Entity.js","sourceRoot":"","sources":["../src/Entity.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nymphjs/client",
3
- "version": "1.0.0-beta.130",
3
+ "version": "1.0.0-beta.132",
4
4
  "description": "Nymph.js - Client",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -51,5 +51,5 @@
51
51
  "ts-node": "^10.9.2",
52
52
  "typescript": "^7.0.2"
53
53
  },
54
- "gitHead": "c6f7f2da04eec397ac1f9c64f1ce2ccc7fd47292"
54
+ "gitHead": "d421575ba555d6c9025ec4b3d9f6ce0f498adbf2"
55
55
  }
package/src/Entity.ts CHANGED
@@ -99,17 +99,15 @@ export default class Entity<
99
99
  this.$nymph = (this.constructor as EntityConstructor).nymph;
100
100
  this.$dataHandler = {
101
101
  has: (data: EntityData, name: string) => {
102
- if (typeof name !== 'symbol' && this.$isASleepingReference) {
103
- console.error(`Tried to check data on a sleeping reference: ${name}`);
104
- return false;
102
+ if (typeof name !== 'symbol') {
103
+ this.$check();
105
104
  }
106
105
  return name in data;
107
106
  },
108
107
 
109
108
  get: (data: EntityData, name: string) => {
110
- if (typeof name !== 'symbol' && this.$isASleepingReference) {
111
- console.error(`Tried to get data on a sleeping reference: ${name}`);
112
- return undefined;
109
+ if (typeof name !== 'symbol') {
110
+ this.$check();
113
111
  }
114
112
  if (data.hasOwnProperty(name)) {
115
113
  return data[name];
@@ -118,9 +116,8 @@ export default class Entity<
118
116
  },
119
117
 
120
118
  set: (data: EntityData, name: string, value: any) => {
121
- if (typeof name !== 'symbol' && this.$isASleepingReference) {
122
- console.error(`Tried to set data on a sleeping reference: ${name}`);
123
- return false;
119
+ if (typeof name !== 'symbol') {
120
+ this.$check();
124
121
  }
125
122
  if (typeof name !== 'symbol') {
126
123
  this.$dirty[name] = true;
@@ -130,11 +127,8 @@ export default class Entity<
130
127
  },
131
128
 
132
129
  deleteProperty: (data: EntityData, name: string) => {
133
- if (typeof name !== 'symbol' && this.$isASleepingReference) {
134
- console.error(
135
- `Tried to delete data on a sleeping reference: ${name}`,
136
- );
137
- return false;
130
+ if (typeof name !== 'symbol') {
131
+ this.$check();
138
132
  }
139
133
  if (data.hasOwnProperty(name)) {
140
134
  this.$dirty[name] = true;
@@ -148,11 +142,8 @@ export default class Entity<
148
142
  name: string,
149
143
  descriptor: PropertyDescriptor,
150
144
  ) => {
151
- if (typeof name !== 'symbol' && this.$isASleepingReference) {
152
- console.error(
153
- `Tried to define data on a sleeping reference: ${name}`,
154
- );
155
- return false;
145
+ if (typeof name !== 'symbol') {
146
+ this.$check();
156
147
  }
157
148
  if (typeof name !== 'symbol') {
158
149
  this.$dirty[name] = true;
@@ -162,113 +153,136 @@ export default class Entity<
162
153
  },
163
154
 
164
155
  getOwnPropertyDescriptor: (data: EntityData, name: string) => {
165
- if (typeof name !== 'symbol' && this.$isASleepingReference) {
166
- console.error(
167
- `Tried to get property descriptor on a sleeping reference: ${name}`,
168
- );
169
- return undefined;
156
+ if (typeof name !== 'symbol') {
157
+ this.$check();
170
158
  }
171
159
  return Object.getOwnPropertyDescriptor(data, name);
172
160
  },
173
161
 
174
162
  ownKeys: (data: EntityData) => {
175
- if (this.$isASleepingReference) {
176
- console.error(`Tried to enumerate data on a sleeping reference.`);
177
- return undefined;
178
- }
163
+ this.$check();
179
164
  return Object.getOwnPropertyNames(data);
180
165
  },
181
166
  };
182
167
  this.$dataStore = {} as T;
183
168
  this.$data = new Proxy(this.$dataStore, this.$dataHandler);
184
169
 
185
- return new Proxy(this, {
186
- has(entity: Entity, name: string) {
187
- if (
188
- typeof name !== 'string' ||
189
- name in entity ||
190
- name.substring(0, 1) === '$'
191
- ) {
192
- return name in entity;
193
- }
194
- return name in entity.$data;
195
- },
196
-
197
- get(entity: Entity, name: string) {
198
- if (
199
- typeof name !== 'string' ||
200
- name in entity ||
201
- name.substring(0, 1) === '$'
202
- ) {
203
- return (entity as EntityInterface)[name];
204
- }
205
- if (name in entity.$data) {
206
- return entity.$data[name];
207
- }
208
- return undefined;
209
- },
170
+ return this.$proxy();
171
+ }
210
172
 
211
- set(entity: Entity, name: string, value: any) {
212
- if (
213
- typeof name !== 'string' ||
214
- name in entity ||
215
- name.substring(0, 1) === '$'
216
- ) {
217
- (entity as EntityInterface)[name] = value;
218
- } else {
219
- entity.$data[name] = value;
220
- }
221
- return true;
222
- },
173
+ private $existingProxy?: this & T;
174
+ protected $proxy() {
175
+ if (this.$existingProxy == null) {
176
+ this.$existingProxy = new Proxy(this, {
177
+ has: (entity: this, name: string) => {
178
+ if (
179
+ typeof name !== 'string' ||
180
+ name in entity ||
181
+ name.substring(0, 1) === '$'
182
+ ) {
183
+ return name in entity;
184
+ }
223
185
 
224
- deleteProperty(entity: Entity, name: string) {
225
- if (name in entity) {
226
- return delete (entity as EntityInterface)[name];
227
- } else if (name in entity.$data) {
228
- return delete entity.$data[name];
229
- }
230
- return true;
231
- },
186
+ this.$check();
187
+ return name in entity.$data;
188
+ },
232
189
 
233
- getPrototypeOf(entity: Entity) {
234
- return entity.constructor.prototype;
235
- },
190
+ get: (entity: this, name: string) => {
191
+ if (
192
+ typeof name !== 'string' ||
193
+ name in entity ||
194
+ name.substring(0, 1) === '$'
195
+ ) {
196
+ if (name === 'tags' || name === 'cdate' || name === 'mdate') {
197
+ this.$check();
198
+ }
199
+ return (entity as any)[name];
200
+ }
236
201
 
237
- defineProperty(
238
- entity: Entity,
239
- name: string,
240
- descriptor: PropertyDescriptor,
241
- ) {
242
- if (
243
- typeof name !== 'string' ||
244
- name in entity ||
245
- name.substring(0, 1) === '$'
246
- ) {
247
- Object.defineProperty(entity, name, descriptor);
248
- } else {
249
- Object.defineProperty(entity.$data, name, descriptor);
250
- }
251
- return true;
252
- },
202
+ this.$check();
203
+ if (name in entity.$data) {
204
+ return entity.$data[name];
205
+ }
206
+ return undefined;
207
+ },
253
208
 
254
- getOwnPropertyDescriptor(entity: Entity, name: string) {
255
- if (
256
- typeof name !== 'string' ||
257
- name in entity ||
258
- name.substring(0, 1) === '$'
259
- ) {
260
- return Object.getOwnPropertyDescriptor(entity, name);
261
- } else {
262
- return Object.getOwnPropertyDescriptor(entity.$data, name);
263
- }
264
- },
209
+ set: (entity: this, name: string, value: any) => {
210
+ if (
211
+ typeof name !== 'string' ||
212
+ name in entity ||
213
+ name.substring(0, 1) === '$'
214
+ ) {
215
+ if (name === 'tags' || name === 'cdate' || name === 'mdate') {
216
+ this.$check();
217
+ }
218
+ (entity as any)[name] = value;
219
+ } else {
220
+ this.$check();
221
+ (entity.$data as any)[name] = value;
222
+ }
223
+ return true;
224
+ },
225
+
226
+ deleteProperty: (entity: this, name: string) => {
227
+ if (name in entity) {
228
+ return delete (entity as any)[name];
229
+ } else if (name in entity.$data) {
230
+ this.$check();
231
+ return delete entity.$data[name];
232
+ }
233
+ return true;
234
+ },
235
+
236
+ getPrototypeOf: (entity: this) => {
237
+ return entity.constructor.prototype;
238
+ },
239
+
240
+ defineProperty: (
241
+ entity: this,
242
+ name: string,
243
+ descriptor: PropertyDescriptor,
244
+ ) => {
245
+ if (
246
+ typeof name !== 'string' ||
247
+ name in entity ||
248
+ name.substring(0, 1) === '$'
249
+ ) {
250
+ if (name === 'tags' || name === 'cdate' || name === 'mdate') {
251
+ this.$check();
252
+ }
253
+ Object.defineProperty(entity, name, descriptor);
254
+ } else {
255
+ this.$check();
256
+ Object.defineProperty(entity.$data, name, descriptor);
257
+ }
258
+ return true;
259
+ },
260
+
261
+ getOwnPropertyDescriptor: (entity: this, name: string) => {
262
+ if (
263
+ typeof name !== 'string' ||
264
+ name in entity ||
265
+ name.substring(0, 1) === '$'
266
+ ) {
267
+ if (name === 'tags' || name === 'cdate' || name === 'mdate') {
268
+ this.$check();
269
+ }
270
+ return Object.getOwnPropertyDescriptor(entity, name);
271
+ } else {
272
+ this.$check();
273
+ return Object.getOwnPropertyDescriptor(entity.$data, name);
274
+ }
275
+ },
265
276
 
266
- ownKeys(entity: Entity) {
267
- return Object.getOwnPropertyNames(entity).concat(
268
- Object.getOwnPropertyNames(entity.$data),
269
- );
270
- },
271
- }) as Entity<T>;
277
+ ownKeys: (entity: this) => {
278
+ this.$check();
279
+ return Object.getOwnPropertyNames(entity).concat(
280
+ Object.getOwnPropertyNames(entity.$data),
281
+ );
282
+ },
283
+ }) as this & T;
284
+ }
285
+ return this.$existingProxy;
272
286
  }
273
287
 
274
288
  /**
@@ -407,7 +421,7 @@ export default class Entity<
407
421
 
408
422
  public $init(entityJson: EntityJson | null) {
409
423
  if (entityJson == null) {
410
- return this;
424
+ return this.$proxy();
411
425
  }
412
426
 
413
427
  this.$isASleepingReference = false;
@@ -438,7 +452,7 @@ export default class Entity<
438
452
 
439
453
  this.$nymph.setEntityToCache(this.constructor as EntityConstructor, this);
440
454
 
441
- return this as Entity<T>;
455
+ return this.$proxy();
442
456
  }
443
457
 
444
458
  public $addTag(...tags: string[]) {
@@ -595,7 +609,7 @@ export default class Entity<
595
609
  * Check if this is a sleeping reference and throw an error if so.
596
610
  */
597
611
  protected $check() {
598
- if (this.$isASleepingReference || this.$sleepingReference != null) {
612
+ if (this.$asleep()) {
599
613
  throw new EntityIsSleepingReferenceError(
600
614
  'This entity is in a sleeping reference state. You must use .$wake() to wake it.',
601
615
  );
@@ -613,9 +627,9 @@ export default class Entity<
613
627
  * Wake from a sleeping reference.
614
628
  */
615
629
  public $wake() {
616
- if (!this.$isASleepingReference) {
630
+ if (!this.$asleep()) {
617
631
  this.$wakePromise = null;
618
- return Promise.resolve(this);
632
+ return Promise.resolve(this.$proxy());
619
633
  }
620
634
  if (this.$sleepingReference?.[1] == null) {
621
635
  throw new InvalidStateError(
@@ -653,7 +667,7 @@ export default class Entity<
653
667
  newLevel = level - 1;
654
668
  }
655
669
  if (newLevel !== undefined && newLevel < 0) {
656
- resolve(this);
670
+ resolve(this.$proxy());
657
671
  return;
658
672
  }
659
673
  const promises: Promise<any>[] = [];
@@ -687,15 +701,15 @@ export default class Entity<
687
701
  walkData(this.$data);
688
702
  if (promises.length) {
689
703
  Promise.all(promises).then(
690
- () => resolve(this),
704
+ () => resolve(this.$proxy()),
691
705
  (errObj) => reject(errObj),
692
706
  );
693
707
  } else {
694
- resolve(this);
708
+ resolve(this.$proxy());
695
709
  }
696
710
  };
697
711
 
698
- if (this.$isASleepingReference) {
712
+ if (this.$asleep()) {
699
713
  this.$wake().then(wakeProps, (errObj) => reject(errObj));
700
714
  } else {
701
715
  wakeProps();
@@ -710,7 +724,7 @@ export default class Entity<
710
724
  }
711
725
 
712
726
  public async $refresh() {
713
- if (this.$isASleepingReference) {
727
+ if (this.$asleep()) {
714
728
  await this.$wake();
715
729
  return true;
716
730
  }
@@ -770,13 +784,13 @@ export default class Entity<
770
784
  return data.return;
771
785
  }
772
786
 
773
- public $toReference(): EntityReference | EntityInterface {
774
- if (this.$isASleepingReference && this.$sleepingReference) {
787
+ public $toReference() {
788
+ if (this.$isASleepingReference && this.$sleepingReference != null) {
775
789
  return this.$sleepingReference;
776
790
  }
777
791
 
778
792
  if (this.guid == null) {
779
- return this as EntityInterface;
793
+ return this.$proxy();
780
794
  }
781
795
  return [
782
796
  'nymph_entity_reference',