@nymphjs/client 1.0.0-alpha.9 → 1.0.0-beta.0

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/jest.config.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @type {import('@ts-jest/dist/types').InitialOptionsTsJest} */
1
+ /** @type {import('ts-jest').JestConfigWithTsJest} */
2
2
  module.exports = {
3
3
  preset: 'ts-jest',
4
4
  testEnvironment: 'node',
package/lib/Entity.d.ts CHANGED
@@ -15,9 +15,9 @@ export default class Entity<T extends EntityData = EntityData> implements Entity
15
15
  protected $dataHandler: Object;
16
16
  protected $dataStore: T;
17
17
  protected $data: T;
18
- private $isASleepingReference;
19
- private $sleepingReference;
20
- private $readyPromise;
18
+ protected $isASleepingReference: boolean;
19
+ protected $sleepingReference: EntityReference | null;
20
+ protected $readyPromise: Promise<Entity<T>> | null;
21
21
  constructor(guid?: string);
22
22
  static factory(guid?: string): Promise<Entity<EntityData>>;
23
23
  static factorySync(guid?: string): Entity<EntityData>;
package/lib/Entity.js CHANGED
@@ -32,7 +32,7 @@ class Entity {
32
32
  console.error(`Tried to check data on a sleeping reference: ${name}`);
33
33
  return false;
34
34
  }
35
- return data.hasOwnProperty(name);
35
+ return name in data;
36
36
  },
37
37
  get: (data, name) => {
38
38
  if (typeof name !== 'symbol' && this.$isASleepingReference) {
@@ -66,6 +66,31 @@ class Entity {
66
66
  }
67
67
  return true;
68
68
  },
69
+ defineProperty: (data, name, descriptor) => {
70
+ if (typeof name !== 'symbol' && this.$isASleepingReference) {
71
+ console.error(`Tried to define data on a sleeping reference: ${name}`);
72
+ return false;
73
+ }
74
+ if (typeof name !== 'symbol') {
75
+ this.$dirty[name] = true;
76
+ }
77
+ Object.defineProperty(data, name, descriptor);
78
+ return true;
79
+ },
80
+ getOwnPropertyDescriptor: (data, name) => {
81
+ if (typeof name !== 'symbol' && this.$isASleepingReference) {
82
+ console.error(`Tried to get property descriptor on a sleeping reference: ${name}`);
83
+ return undefined;
84
+ }
85
+ return Object.getOwnPropertyDescriptor(data, name);
86
+ },
87
+ ownKeys: (data) => {
88
+ if (this.$isASleepingReference) {
89
+ console.error(`Tried to enumerate data on a sleeping reference.`);
90
+ return undefined;
91
+ }
92
+ return Object.getOwnPropertyNames(data);
93
+ },
69
94
  };
70
95
  this.$dataStore = {};
71
96
  this.$data = new Proxy(this.$dataStore, this.$dataHandler);
@@ -122,11 +147,36 @@ class Entity {
122
147
  getPrototypeOf(entity) {
123
148
  return entity.constructor.prototype;
124
149
  },
150
+ defineProperty(entity, name, descriptor) {
151
+ if (typeof name !== 'string' ||
152
+ name in entity ||
153
+ name.substring(0, 1) === '$') {
154
+ Object.defineProperty(entity, name, descriptor);
155
+ }
156
+ else {
157
+ Object.defineProperty(entity.$data, name, descriptor);
158
+ }
159
+ return true;
160
+ },
161
+ getOwnPropertyDescriptor(entity, name) {
162
+ if (typeof name !== 'string' ||
163
+ name in entity ||
164
+ name.substring(0, 1) === '$') {
165
+ return Object.getOwnPropertyDescriptor(entity, name);
166
+ }
167
+ else {
168
+ return Object.getOwnPropertyDescriptor(entity.$data, name);
169
+ }
170
+ },
171
+ ownKeys(entity) {
172
+ return Object.getOwnPropertyNames(entity).concat(Object.getOwnPropertyNames(entity.$data));
173
+ },
125
174
  });
126
175
  }
127
176
  static factory(guid) {
128
177
  return __awaiter(this, void 0, void 0, function* () {
129
- const entity = new this(guid);
178
+ const cacheEntity = (guid ? this.nymph.getEntityFromCache(this, guid) : null);
179
+ const entity = cacheEntity || new this(guid);
130
180
  if (guid != null) {
131
181
  yield entity.$ready();
132
182
  }
@@ -134,11 +184,15 @@ class Entity {
134
184
  });
135
185
  }
136
186
  static factorySync(guid) {
137
- return new this(guid);
187
+ const cacheEntity = (guid ? this.nymph.getEntityFromCache(this, guid) : null);
188
+ return cacheEntity || new this(guid);
138
189
  }
139
190
  static factoryReference(reference) {
140
- const entity = new this();
141
- entity.$referenceSleep(reference);
191
+ const cacheEntity = (reference[1] ? this.nymph.getEntityFromCache(this, reference[1]) : null);
192
+ const entity = cacheEntity || new this();
193
+ if (!cacheEntity) {
194
+ entity.$referenceSleep(reference);
195
+ }
142
196
  return entity;
143
197
  }
144
198
  static serverCallStatic(method, params) {
@@ -183,6 +237,7 @@ class Entity {
183
237
  })
184
238
  .reduce((obj, { key, value }) => Object.assign(obj, { [key]: value }), {});
185
239
  this.$data = new Proxy(this.$dataStore, this.$dataHandler);
240
+ this.$nymph.setEntityToCache(this.constructor, this);
186
241
  return this;
187
242
  }
188
243
  $addTag(...tags) {
package/lib/Entity.js.map CHANGED
@@ -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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"}
@@ -1,17 +1,17 @@
1
1
  import type Nymph from './Nymph';
2
- export declare type ServerCallResponse = {
2
+ export type ServerCallResponse = {
3
3
  return: any;
4
4
  entity?: EntityJson;
5
5
  };
6
- export declare type ServerCallStaticResponse = any;
7
- export declare type EntityReference = ['nymph_entity_reference', string, string];
8
- export declare type EntityData = {
6
+ export type ServerCallStaticResponse = any;
7
+ export type EntityReference = ['nymph_entity_reference', string, string];
8
+ export type EntityData = {
9
9
  [k: string]: any;
10
10
  };
11
- export declare type SerializedEntityData = {
11
+ export type SerializedEntityData = {
12
12
  [k: string]: string;
13
13
  };
14
- export declare type EntityJson<T extends EntityConstructor = EntityConstructor> = {
14
+ export type EntityJson<T extends EntityConstructor = EntityConstructor> = {
15
15
  class: T['class'];
16
16
  guid: string | null;
17
17
  cdate: number | null;
@@ -19,7 +19,7 @@ export declare type EntityJson<T extends EntityConstructor = EntityConstructor>
19
19
  tags: string[];
20
20
  data: EntityData;
21
21
  };
22
- export declare type EntityPatch = {
22
+ export type EntityPatch = {
23
23
  class: string;
24
24
  guid: string;
25
25
  mdate: number | null;
@@ -55,7 +55,7 @@ export interface EntityInterface extends DataObjectInterface {
55
55
  $serverCall(method: string, params: Iterable<any>, stateless: boolean): Promise<any>;
56
56
  $toReference(): EntityReference | EntityInterface;
57
57
  }
58
- export declare type EntityConstructor = (new () => EntityInterface) & {
58
+ export type EntityConstructor = (new () => EntityInterface) & {
59
59
  nymph: Nymph;
60
60
  class: string;
61
61
  factory(guid?: string): Promise<EntityInterface>;
@@ -0,0 +1,6 @@
1
+ import { EntityConstructor, EntityInterface } from './Entity.types';
2
+ export default class EntityWeakCache {
3
+ private references;
4
+ get(EntityClass: EntityConstructor, guid: string): EntityInterface | null;
5
+ set(EntityClass: EntityConstructor, entity: EntityInterface): void;
6
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class EntityWeakCache {
4
+ constructor() {
5
+ this.references = new WeakMap();
6
+ }
7
+ get(EntityClass, guid) {
8
+ const classMap = this.references.get(EntityClass);
9
+ if (classMap && guid in classMap) {
10
+ const weakRef = classMap[guid];
11
+ if (weakRef && weakRef.deref() != null) {
12
+ return weakRef.deref();
13
+ }
14
+ else {
15
+ delete classMap[guid];
16
+ }
17
+ }
18
+ return null;
19
+ }
20
+ set(EntityClass, entity) {
21
+ if (!entity.guid) {
22
+ return;
23
+ }
24
+ const weakRef = new WeakRef(entity);
25
+ const classMap = this.references.get(EntityClass) || {};
26
+ this.references.set(EntityClass, classMap);
27
+ classMap[entity.guid] = weakRef;
28
+ }
29
+ }
30
+ exports.default = EntityWeakCache;
31
+ //# sourceMappingURL=EntityWeakCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityWeakCache.js","sourceRoot":"","sources":["../src/EntityWeakCache.ts"],"names":[],"mappings":";;AAEA,MAAqB,eAAe;IAApC;QACU,eAAU,GAChB,IAAI,OAAO,EAAE,CAAC;IA2BlB,CAAC;IAzBC,GAAG,CAAC,WAA8B,EAAE,IAAY;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAClD,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,EAAE;YAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE;gBACtC,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;aACxB;iBAAM;gBACL,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;aACvB;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,WAA8B,EAAE,MAAuB;QACzD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YAChB,OAAO;SACR;QAGD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;QAEpC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QACxD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC3C,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;IAClC,CAAC;CACF;AA7BD,kCA6BC"}
@@ -1,7 +1,7 @@
1
- export declare type HttpRequesterEventType = 'request' | 'response';
2
- export declare type HttpRequesterRequestCallback = (requester: HttpRequester, url: string, options: RequestInit) => void;
3
- export declare type HttpRequesterResponseCallback = (requester: HttpRequester, response: Response) => void;
4
- export declare type HttpRequesterRequestOptions = {
1
+ export type HttpRequesterEventType = 'request' | 'response';
2
+ export type HttpRequesterRequestCallback = (requester: HttpRequester, url: string, options: RequestInit) => void;
3
+ export type HttpRequesterResponseCallback = (requester: HttpRequester, response: Response, text: string) => void;
4
+ export type HttpRequesterRequestOptions = {
5
5
  url: string;
6
6
  data: {
7
7
  [k: string]: any;
@@ -11,12 +11,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.ServerError = exports.ClientError = exports.InvalidResponseError = void 0;
13
13
  class HttpRequester {
14
- constructor(ponyFetch) {
15
- this.xsrfToken = null;
16
- this.requestCallbacks = [];
17
- this.responseCallbacks = [];
18
- this.fetch = ponyFetch ? ponyFetch : (...args) => fetch(...args);
19
- }
20
14
  static makeUrl(url, data) {
21
15
  if (!data) {
22
16
  return url;
@@ -31,9 +25,15 @@ class HttpRequester {
31
25
  }
32
26
  return url;
33
27
  }
28
+ constructor(ponyFetch) {
29
+ this.xsrfToken = null;
30
+ this.requestCallbacks = [];
31
+ this.responseCallbacks = [];
32
+ this.fetch = ponyFetch ? ponyFetch : (...args) => fetch(...args);
33
+ }
34
34
  on(event, callback) {
35
35
  const prop = (event + 'Callbacks');
36
- if (!this.hasOwnProperty(prop)) {
36
+ if (!(prop in this)) {
37
37
  throw new Error('Invalid event type.');
38
38
  }
39
39
  this[prop].push(callback);
@@ -41,7 +41,7 @@ class HttpRequester {
41
41
  }
42
42
  off(event, callback) {
43
43
  const prop = (event + 'Callbacks');
44
- if (!this.hasOwnProperty(prop)) {
44
+ if (!(prop in this)) {
45
45
  return false;
46
46
  }
47
47
  const i = this[prop].indexOf(callback);
@@ -103,8 +103,14 @@ class HttpRequester {
103
103
  this.xsrfToken;
104
104
  }
105
105
  const response = yield this.fetch(url, options);
106
+ let text;
107
+ try {
108
+ text = yield response.text();
109
+ }
110
+ catch (e) {
111
+ throw new InvalidResponseError('Server response did not contain valid text body.');
112
+ }
106
113
  if (!response.ok) {
107
- const text = yield response.text();
108
114
  let errObj;
109
115
  try {
110
116
  errObj = JSON.parse(text);
@@ -125,9 +131,9 @@ class HttpRequester {
125
131
  : new ServerError(errObj);
126
132
  }
127
133
  for (let i = 0; i < this.responseCallbacks.length; i++) {
128
- this.responseCallbacks[i] && this.responseCallbacks[i](this, response);
134
+ this.responseCallbacks[i] &&
135
+ this.responseCallbacks[i](this, response, text);
129
136
  }
130
- const text = yield response.text();
131
137
  if (opt.dataType === 'json') {
132
138
  if (!text.length) {
133
139
  throw new InvalidResponseError('Server response was empty.');
@@ -1 +1 @@
1
- {"version":3,"file":"HttpRequester.js","sourceRoot":"","sources":["../src/HttpRequester.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpRequester.js","sourceRoot":"","sources":["../src/HttpRequester.ts"],"names":[],"mappings":";;;;;;;;;;;;AAiBA,MAAqB,aAAa;IAMhC,MAAM,CAAC,OAAO,CAAC,GAAW,EAAE,IAA0B;QACpD,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,GAAG,CAAC;SACZ;QACD,KAAK,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC7C,GAAG;gBACD,GAAG;oBACH,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;oBACrC,kBAAkB,CAAC,GAAG,CAAC;oBACvB,GAAG;oBACH,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;SAC7C;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,YAAY,SAA8C;QAnBlD,cAAS,GAAkB,IAAI,CAAC;QAChC,qBAAgB,GAAmC,EAAE,CAAC;QACtD,sBAAiB,GAAoC,EAAE,CAAC;QAkB9D,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,EAAE,CACA,KAAQ,EACR,QAIS;QAET,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,WAAW,CAIxB,CAAC;QACV,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;SACxC;QAED,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,GAAG,CACD,KAAQ,EACR,QAIS;QAET,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,WAAW,CAIxB,CAAC;QACV,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE;YACnB,OAAO,KAAK,CAAC;SACd;QAED,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YAEV,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACzB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,SAAwB;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAEK,GAAG,CAAC,GAAgC;;YACxC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC7C,CAAC;KAAA;IAEK,IAAI,CAAC,GAAgC;;YACzC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9C,CAAC;KAAA;IAEK,GAAG,CAAC,GAAgC;;YACxC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC7C,CAAC;KAAA;IAEK,KAAK,CAAC,GAAgC;;YAC1C,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC/C,CAAC;KAAA;IAEK,MAAM,CAAC,GAAgC;;YAC3C,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAChD,CAAC;KAAA;IAEK,YAAY,CAChB,MAAmD,EACnD,GAAgC;;YAEhC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;YAClB,IAAI,MAAM,KAAK,KAAK,EAAE;gBAGpB,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;aAChD;YACD,MAAM,OAAO,GAAgB;gBAC3B,MAAM;gBACN,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,SAAS;aACvB,CAAC;YAEF,IAAI,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,IAAI,EAAE;gBAC/B,OAAO,CAAC,OAAkC,CAAC,cAAc,CAAC;oBACzD,kBAAkB,CAAC;gBACrB,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC;aAC3B;YAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;aAC1E;YAED,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;gBAC1B,OAAO,CAAC,OAAkC,CAAC,cAAc,CAAC;oBACzD,IAAI,CAAC,SAAS,CAAC;aAClB;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAChD,IAAI,IAAY,CAAC;YACjB,IAAI;gBACF,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;aAC9B;YAAC,OAAO,CAAM,EAAE;gBACf,MAAM,IAAI,oBAAoB,CAC5B,kDAAkD,CACnD,CAAC;aACH;YACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,IAAI,MAAM,CAAC;gBACX,IAAI;oBACF,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAC3B;gBAAC,OAAO,CAAM,EAAE;oBACf,IAAI,CAAC,CAAC,CAAC,YAAY,WAAW,CAAC,EAAE;wBAC/B,MAAM,CAAC,CAAC;qBACT;iBACF;gBAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;oBAC9B,MAAM,GAAG;wBACP,UAAU,EAAE,QAAQ,CAAC,UAAU;qBAChC,CAAC;iBACH;gBACD,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAChC,MAAM,QAAQ,CAAC,MAAM,GAAG,GAAG;oBACzB,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC;oBACzB,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;aAC7B;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtD,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;oBACvB,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;aACnD;YACD,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;gBAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;oBAChB,MAAM,IAAI,oBAAoB,CAAC,4BAA4B,CAAC,CAAC;iBAC9D;gBACD,IAAI;oBACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBACzB;gBAAC,OAAO,CAAM,EAAE;oBACf,IAAI,CAAC,CAAC,CAAC,YAAY,WAAW,CAAC,EAAE;wBAC/B,MAAM,CAAC,CAAC;qBACT;oBACD,MAAM,IAAI,oBAAoB,CAC5B,+BAA+B,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CACvD,CAAC;iBACH;aACF;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;QACH,CAAC;KAAA;CACF;AAlLD,gCAkLC;AAED,MAAa,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AALD,oDAKC;AAED,MAAa,WAAY,SAAQ,KAAK;IACpC,YAAY,MAA8B;QACxC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;CACF;AAND,kCAMC;AAED,MAAa,WAAY,SAAQ,KAAK;IACpC,YAAY,MAA8B;QACxC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;CACF;AAND,kCAMC"}
package/lib/Nymph.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import Entity from './Entity';
2
2
  import { EntityConstructor, EntityInterface, EntityJson, ServerCallResponse, ServerCallStaticResponse } from './Entity.types';
3
+ import EntityWeakCache from './EntityWeakCache';
3
4
  import { EventType, NymphOptions, Options, RequestCallback, ResponseCallback, Selector } from './Nymph.types';
4
5
  import PubSub from './PubSub';
5
6
  export default class Nymph {
@@ -9,6 +10,8 @@ export default class Nymph {
9
10
  private requestCallbacks;
10
11
  private responseCallbacks;
11
12
  private restUrl;
13
+ private weakCache;
14
+ cache: EntityWeakCache;
12
15
  constructor(NymphOptions: NymphOptions);
13
16
  addEntityClass(entityClass: EntityConstructor): void;
14
17
  getEntityClass(className: string): EntityConstructor;
@@ -21,27 +24,44 @@ export default class Nymph {
21
24
  patchEntity(entity: EntityInterface): Promise<EntityInterface>;
22
25
  patchEntities(entities: EntityInterface[]): Promise<boolean | EntityInterface[]>;
23
26
  private requestWithMethod;
27
+ getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
28
+ return: 'count';
29
+ }, ...selectors: Selector[]): Promise<number>;
24
30
  getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
25
31
  return: 'guid';
26
32
  }, ...selectors: Selector[]): Promise<string | null>;
27
33
  getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T>, ...selectors: Selector[]): Promise<ReturnType<T['factorySync']> | null>;
34
+ getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
35
+ return: 'count';
36
+ }, guid: string): Promise<number>;
28
37
  getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
29
38
  return: 'guid';
30
39
  }, guid: string): Promise<string | null>;
31
40
  getEntity<T extends EntityConstructor = EntityConstructor>(options: Options<T>, guid: string): Promise<ReturnType<T['factorySync']> | null>;
41
+ getEntityData<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
42
+ return: 'count';
43
+ }, ...selectors: Selector[]): Promise<number>;
32
44
  getEntityData<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
33
45
  return: 'guid';
34
46
  }, ...selectors: Selector[]): Promise<string | null>;
35
47
  getEntityData<T extends EntityConstructor = EntityConstructor>(options: Options<T>, ...selectors: Selector[]): Promise<EntityJson<T> | null>;
48
+ getEntityData<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
49
+ return: 'count';
50
+ }, guid: string): Promise<number>;
36
51
  getEntityData<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
37
52
  return: 'guid';
38
53
  }, guid: string): Promise<string | null>;
39
54
  getEntityData<T extends EntityConstructor = EntityConstructor>(options: Options<T>, guid: string): Promise<EntityJson<T> | null>;
55
+ getEntities<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
56
+ return: 'count';
57
+ }, ...selectors: Selector[]): Promise<number>;
40
58
  getEntities<T extends EntityConstructor = EntityConstructor>(options: Options<T> & {
41
59
  return: 'guid';
42
60
  }, ...selectors: Selector[]): Promise<string[]>;
43
61
  getEntities<T extends EntityConstructor = EntityConstructor>(options: Options<T>, ...selectors: Selector[]): Promise<ReturnType<T['factorySync']>[]>;
44
62
  initEntity<T extends EntityConstructor = EntityConstructor>(entityJSON: EntityJson<T>): ReturnType<T['factorySync']>;
63
+ getEntityFromCache<T extends EntityConstructor = EntityConstructor>(EntityClass: EntityConstructor, guid: string): ReturnType<T['factorySync']> | null;
64
+ setEntityToCache(EntityClass: EntityConstructor, entity: EntityInterface): void;
45
65
  initEntitiesFromData<T extends any>(item: T): T;
46
66
  deleteEntity(entity: EntityInterface | EntityInterface[], _plural?: boolean): Promise<any>;
47
67
  deleteEntities(entities: EntityInterface[]): Promise<any>;
package/lib/Nymph.js CHANGED
@@ -14,6 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.InvalidRequestError = exports.ClassNotAvailableError = void 0;
16
16
  const Entity_1 = __importDefault(require("./Entity"));
17
+ const EntityWeakCache_1 = __importDefault(require("./EntityWeakCache"));
17
18
  const HttpRequester_1 = __importDefault(require("./HttpRequester"));
18
19
  const utils_1 = require("./utils");
19
20
  let requester;
@@ -25,7 +26,10 @@ class Nymph {
25
26
  this.requestCallbacks = [];
26
27
  this.responseCallbacks = [];
27
28
  this.restUrl = '';
29
+ this.weakCache = false;
30
+ this.cache = new EntityWeakCache_1.default();
28
31
  this.restUrl = NymphOptions.restUrl;
32
+ this.weakCache = !!NymphOptions.weakCache && typeof WeakRef !== 'undefined';
29
33
  class NymphEntity extends Entity_1.default {
30
34
  }
31
35
  NymphEntity.nymph = this;
@@ -37,9 +41,9 @@ class Nymph {
37
41
  this.requestCallbacks[i] && this.requestCallbacks[i](url, options);
38
42
  }
39
43
  });
40
- requester.on('response', (_requester, response) => {
44
+ requester.on('response', (_requester, response, text) => {
41
45
  for (let i = 0; i < this.responseCallbacks.length; i++) {
42
- this.responseCallbacks[i] && this.responseCallbacks[i](response);
46
+ this.responseCallbacks[i] && this.responseCallbacks[i](response, text);
43
47
  }
44
48
  });
45
49
  }
@@ -165,6 +169,9 @@ class Nymph {
165
169
  getEntity(options, ...selectors) {
166
170
  return __awaiter(this, void 0, void 0, function* () {
167
171
  const data = (yield this.getEntityData(options, ...selectors));
172
+ if (options.return && options.return === 'count') {
173
+ return Number(data !== null && data !== void 0 ? data : 0);
174
+ }
168
175
  if (data != null) {
169
176
  if (options.return && options.return === 'guid') {
170
177
  return data;
@@ -195,7 +202,7 @@ class Nymph {
195
202
  ],
196
203
  },
197
204
  });
198
- if (typeof data.guid !== 'undefined') {
205
+ if (options.return === 'count' || typeof data.guid !== 'undefined') {
199
206
  return data;
200
207
  }
201
208
  return null;
@@ -214,6 +221,9 @@ class Nymph {
214
221
  ],
215
222
  },
216
223
  });
224
+ if (options.return && options.return === 'count') {
225
+ return Number(data);
226
+ }
217
227
  if (options.return && options.return === 'guid') {
218
228
  return data;
219
229
  }
@@ -225,9 +235,27 @@ class Nymph {
225
235
  if (!EntityClass) {
226
236
  throw new ClassNotAvailableError(entityJSON.class + ' class cannot be found.');
227
237
  }
228
- const entity = EntityClass.factorySync();
238
+ let entity = EntityClass.factorySync();
239
+ if (this.weakCache) {
240
+ const entityFromCache = this.cache.get(EntityClass, entityJSON.guid || '');
241
+ if (entityFromCache != null) {
242
+ entity = entityFromCache;
243
+ }
244
+ }
229
245
  return entity.$init(entityJSON);
230
246
  }
247
+ getEntityFromCache(EntityClass, guid) {
248
+ if (!this.weakCache) {
249
+ return null;
250
+ }
251
+ return this.cache.get(EntityClass, guid);
252
+ }
253
+ setEntityToCache(EntityClass, entity) {
254
+ if (!this.weakCache) {
255
+ return;
256
+ }
257
+ return this.cache.set(EntityClass, entity);
258
+ }
231
259
  initEntitiesFromData(item) {
232
260
  if (Array.isArray(item)) {
233
261
  return item.map((entry) => this.initEntitiesFromData(entry));
@@ -314,7 +342,7 @@ class Nymph {
314
342
  }
315
343
  on(event, callback) {
316
344
  const prop = (event + 'Callbacks');
317
- if (!this.hasOwnProperty(prop)) {
345
+ if (!(prop in this)) {
318
346
  throw new Error('Invalid event type.');
319
347
  }
320
348
  this[prop].push(callback);
@@ -322,7 +350,7 @@ class Nymph {
322
350
  }
323
351
  off(event, callback) {
324
352
  const prop = (event + 'Callbacks');
325
- if (!this.hasOwnProperty(prop)) {
353
+ if (!(prop in this)) {
326
354
  return false;
327
355
  }
328
356
  const i = this[prop].indexOf(callback);
package/lib/Nymph.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Nymph.js","sourceRoot":"","sources":["../src/Nymph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Nymph.js","sourceRoot":"","sources":["../src/Nymph.ts"],"names":[],"mappings":"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"}