@nymphjs/client 1.0.0-beta.133 → 1.0.0-beta.134

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,12 @@
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.134](https://forge.sciactive.com/sciactive/nymphjs/compare/v1.0.0-beta.133...v1.0.0-beta.134) (2026-10-29)
7
+
8
+ ### Features
9
+
10
+ - add weak cache of current queries on the client ([951b019](https://forge.sciactive.com/sciactive/nymphjs/commits/951b0191f7bc21a3c542122816084cb8ee49a129))
11
+
6
12
  # [1.0.0-beta.133](https://forge.sciactive.com/sciactive/nymphjs/compare/v1.0.0-beta.132...v1.0.0-beta.133) (2026-10-28)
7
13
 
8
14
  ### Features
@@ -1,5 +1,5 @@
1
1
  import { EntityConstructor, EntityInterface } from './Entity.types.js';
2
- export default class EntityWeakCache {
2
+ export declare class EntityWeakCache {
3
3
  private references;
4
4
  get(EntityClass: EntityConstructor, guid: string): EntityInterface | null;
5
5
  set(EntityClass: EntityConstructor, entity: EntityInterface): void;
@@ -1,4 +1,4 @@
1
- export default class EntityWeakCache {
1
+ export class EntityWeakCache {
2
2
  references = new WeakMap();
3
3
  get(EntityClass, guid) {
4
4
  const classMap = this.references.get(EntityClass);
@@ -1 +1 @@
1
- {"version":3,"file":"EntityWeakCache.js","sourceRoot":"","sources":["../src/EntityWeakCache.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,eAAe;IAC1B,UAAU,GAGd,IAAI,OAAO,EAAE,CAAC;IAElB,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,CAAC;YACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,KAAK,GAAG,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACzC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBAClB,OAAO,KAAK,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,WAA8B,EAAE,MAAuB;QACzD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,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"}
1
+ {"version":3,"file":"EntityWeakCache.js","sourceRoot":"","sources":["../src/EntityWeakCache.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,eAAe;IAClB,UAAU,GAGd,IAAI,OAAO,EAAE,CAAC;IAElB,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,CAAC;YACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,KAAK,GAAG,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACzC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBAClB,OAAO,KAAK,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,WAA8B,EAAE,MAAuB;QACzD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,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"}
@@ -15,7 +15,7 @@ export type HttpRequesterRequestOptions = {
15
15
  export interface AbortableAsyncIterator<T extends any = any> extends AsyncIterable<T> {
16
16
  abortController: AbortController;
17
17
  }
18
- export default class HttpRequester {
18
+ export declare class HttpRequester {
19
19
  private fetch;
20
20
  private requestCallbacks;
21
21
  private responseCallbacks;
@@ -1,5 +1,5 @@
1
1
  import { fetchEventSource, EventStreamContentType, } from 'fetch-event-source-hperrin';
2
- export default class HttpRequester {
2
+ export class HttpRequester {
3
3
  fetch;
4
4
  requestCallbacks = [];
5
5
  responseCallbacks = [];
@@ -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":"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"}
package/dist/Nymph.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import Entity, { type EntityInstanceType } from './Entity.js';
2
2
  import type { EntityConstructor, EntityInterface, EntityJson, ServerCallResponse, ServerCallStaticResponse } from './Entity.types.js';
3
- import EntityWeakCache from './EntityWeakCache.js';
3
+ import { EntityWeakCache } from './EntityWeakCache.js';
4
+ import { QueryWeakCache } from './QueryWeakCache.js';
4
5
  import type { AbortableAsyncIterator } from './HttpRequester.js';
5
6
  import type { EventType, NymphOptions, Options, RequestCallback, ResponseCallback, Selector } from './Nymph.types.js';
6
7
  import type PubSub from './PubSub.js';
@@ -33,7 +34,11 @@ export default class Nymph {
33
34
  /**
34
35
  * The entity cache.
35
36
  */
36
- cache: EntityWeakCache;
37
+ entityCache: EntityWeakCache;
38
+ /**
39
+ * The query cache.
40
+ */
41
+ queryCache: QueryWeakCache;
37
42
  /**
38
43
  * Return `null` or empty array instead of error when entity/ies not found.
39
44
  */
package/dist/Nymph.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import Entity from './Entity.js';
2
- import EntityWeakCache from './EntityWeakCache.js';
3
- import HttpRequester, { ClientError } from './HttpRequester.js';
2
+ import { EntityWeakCache } from './EntityWeakCache.js';
3
+ import { QueryWeakCache } from './QueryWeakCache.js';
4
+ import { HttpRequester, ClientError } from './HttpRequester.js';
4
5
  import { classNamesToEntityConstructors, entitiesToReferences, entityConstructorsToClassNames, } from './utils.js';
5
6
  let requester;
6
7
  export default class Nymph {
@@ -30,7 +31,11 @@ export default class Nymph {
30
31
  /**
31
32
  * The entity cache.
32
33
  */
33
- cache = new EntityWeakCache();
34
+ entityCache = new EntityWeakCache();
35
+ /**
36
+ * The query cache.
37
+ */
38
+ queryCache = new QueryWeakCache();
34
39
  /**
35
40
  * Return `null` or empty array instead of error when entity/ies not found.
36
41
  */
@@ -113,12 +118,24 @@ export default class Nymph {
113
118
  });
114
119
  }
115
120
  async getUID(name) {
116
- const data = await requester.GET({
117
- url: this.restUrl,
118
- headers: { ...this.headers },
119
- dataType: 'text',
120
- data: { action: 'uid', data: name },
121
- });
121
+ const query = { action: 'uid', data: name };
122
+ let promise = null;
123
+ const queryJSON = JSON.stringify(query);
124
+ if (this.weakCache) {
125
+ promise = this.queryCache.get(queryJSON);
126
+ }
127
+ if (promise == null) {
128
+ promise = requester.GET({
129
+ url: this.restUrl,
130
+ headers: { ...this.headers },
131
+ dataType: 'text',
132
+ data: query,
133
+ });
134
+ if (this.weakCache) {
135
+ this.queryCache.set(queryJSON, promise);
136
+ }
137
+ }
138
+ const data = await promise;
122
139
  return Number(data);
123
140
  }
124
141
  async deleteUID(name) {
@@ -226,18 +243,30 @@ export default class Nymph {
226
243
  if (typeof selectors[0] === 'string') {
227
244
  selectors = [{ type: '&', guid: selectors[0] }];
228
245
  }
229
- const data = await requester.GET({
230
- url: this.restUrl,
231
- headers: { ...this.headers },
232
- dataType: 'json',
233
- data: {
234
- action: 'entity',
235
- data: [
236
- entityConstructorsToClassNames(options),
237
- ...entityConstructorsToClassNames(entitiesToReferences(selectors)),
238
- ],
239
- },
240
- });
246
+ const query = {
247
+ action: 'entity',
248
+ data: [
249
+ entityConstructorsToClassNames(options),
250
+ ...entityConstructorsToClassNames(entitiesToReferences(selectors)),
251
+ ],
252
+ };
253
+ let promise = null;
254
+ const queryJSON = JSON.stringify(query);
255
+ if (this.weakCache) {
256
+ promise = this.queryCache.get(queryJSON);
257
+ }
258
+ if (promise == null) {
259
+ promise = requester.GET({
260
+ url: this.restUrl,
261
+ headers: { ...this.headers },
262
+ dataType: 'json',
263
+ data: query,
264
+ });
265
+ if (this.weakCache) {
266
+ this.queryCache.set(queryJSON, promise);
267
+ }
268
+ }
269
+ const data = await promise;
241
270
  if (options.return === 'count' || typeof data.guid !== 'undefined') {
242
271
  return data;
243
272
  }
@@ -246,18 +275,30 @@ export default class Nymph {
246
275
  async getEntities(options, ...selectors) {
247
276
  let data = null;
248
277
  try {
249
- data = await requester.GET({
250
- url: this.restUrl,
251
- headers: { ...this.headers },
252
- dataType: 'json',
253
- data: {
254
- action: 'entities',
255
- data: [
256
- entityConstructorsToClassNames(options),
257
- ...entityConstructorsToClassNames(entitiesToReferences(selectors)),
258
- ],
259
- },
260
- });
278
+ const query = {
279
+ action: 'entities',
280
+ data: [
281
+ entityConstructorsToClassNames(options),
282
+ ...entityConstructorsToClassNames(entitiesToReferences(selectors)),
283
+ ],
284
+ };
285
+ let promise = null;
286
+ const queryJSON = JSON.stringify(query);
287
+ if (this.weakCache) {
288
+ promise = this.queryCache.get(queryJSON);
289
+ }
290
+ if (promise == null) {
291
+ promise = requester.GET({
292
+ url: this.restUrl,
293
+ headers: { ...this.headers },
294
+ dataType: 'json',
295
+ data: query,
296
+ });
297
+ if (this.weakCache) {
298
+ this.queryCache.set(queryJSON, promise);
299
+ }
300
+ }
301
+ data = await promise;
261
302
  }
262
303
  catch (e) {
263
304
  if (this.returnNullOnNotFound &&
@@ -288,7 +329,7 @@ export default class Nymph {
288
329
  let entity = EntityClass.factorySync();
289
330
  if (this.weakCache) {
290
331
  // Try to get it from cache.
291
- const entityFromCache = this.cache.get(EntityClass, entityJSON.guid || '');
332
+ const entityFromCache = this.entityCache.get(EntityClass, entityJSON.guid || '');
292
333
  if (entityFromCache != null) {
293
334
  entity = entityFromCache;
294
335
  }
@@ -299,13 +340,13 @@ export default class Nymph {
299
340
  if (!this.weakCache) {
300
341
  return null;
301
342
  }
302
- return this.cache.get(EntityClass, guid);
343
+ return this.entityCache.get(EntityClass, guid);
303
344
  }
304
345
  setEntityToCache(EntityClass, entity) {
305
346
  if (!this.weakCache) {
306
347
  return;
307
348
  }
308
- return this.cache.set(EntityClass, entity);
349
+ return this.entityCache.set(EntityClass, entity);
309
350
  }
310
351
  initEntitiesFromData(item, isFromSave) {
311
352
  if (Array.isArray(item)) {
package/dist/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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"}
@@ -29,7 +29,7 @@ export type NymphOptions = {
29
29
  */
30
30
  noAutoconnect?: boolean;
31
31
  /**
32
- * Use a WeakRef based cache of entities.
32
+ * Use a WeakRef based cache of entities and queries.
33
33
  *
34
34
  * This ensures all entities returned are the same instance if they have the
35
35
  * same class and GUID. This also means that whenever an entity is returned
@@ -43,6 +43,13 @@ export type NymphOptions = {
43
43
  * the GUID used as a key and the WeakRef object itself are not weak
44
44
  * references, so not destroyed when the instance is garbage collected.
45
45
  *
46
+ * Queries are also cached with weak references. Practically, what this means
47
+ * is that if you make two identical queries (getEntity, getEntities, or
48
+ * getUID) at the same time, only one request will be sent to the server, and
49
+ * both queries will resolve with the same result. This is particularly useful
50
+ * if you tend to wake a lot of copies of the same entity (like a user) at the
51
+ * same time.
52
+ *
46
53
  * However, even with these caveats, this might help you if you have a big app
47
54
  * with the same entities stored in several different places in memory. This
48
55
  * can help to synchronize them correctly and avoid data conflicts.
@@ -1 +1 @@
1
- {"version":3,"file":"Nymph.types.js","sourceRoot":"","sources":["../src/Nymph.types.ts"],"names":[],"mappings":"AAgPA,MAAM,CAAN,IAAY,oBA0CX;AA1CD,WAAY,oBAAoB;IAC9B;;;;OAIG;IACH,2EAAc,CAAA;IACd;;;;;OAKG;IACH,2EAAc,CAAA;IACd;;OAEG;IACH,6FAAuB,CAAA;IACvB;;OAEG;IACH,iGAAyB,CAAA;IACzB;;OAEG;IACH,qFAAmB,CAAA;IACnB;;OAEG;IACH,wGAA6B,CAAA;IAC7B;;OAEG;IACH,4GAA+B,CAAA;IAC/B;;OAEG;IACH,wFAAqB,CAAA;IACrB;;OAEG;IACH,uEAAa,CAAA;AACf,CAAC,EA1CW,oBAAoB,KAApB,oBAAoB,QA0C/B"}
1
+ {"version":3,"file":"Nymph.types.js","sourceRoot":"","sources":["../src/Nymph.types.ts"],"names":[],"mappings":"AAuPA,MAAM,CAAN,IAAY,oBA0CX;AA1CD,WAAY,oBAAoB;IAC9B;;;;OAIG;IACH,2EAAc,CAAA;IACd;;;;;OAKG;IACH,2EAAc,CAAA;IACd;;OAEG;IACH,6FAAuB,CAAA;IACvB;;OAEG;IACH,iGAAyB,CAAA;IACzB;;OAEG;IACH,qFAAmB,CAAA;IACnB;;OAEG;IACH,wGAA6B,CAAA;IAC7B;;OAEG;IACH,4GAA+B,CAAA;IAC/B;;OAEG;IACH,wFAAqB,CAAA;IACrB;;OAEG;IACH,uEAAa,CAAA;AACf,CAAC,EA1CW,oBAAoB,KAApB,oBAAoB,QA0C/B"}
@@ -0,0 +1,6 @@
1
+ export declare class QueryWeakCache {
2
+ private queries;
3
+ get(queryJSON: string): Promise<any> | null;
4
+ set(queryJSON: string, promise: Promise<any>): void;
5
+ clean(): void;
6
+ }
@@ -0,0 +1,31 @@
1
+ export class QueryWeakCache {
2
+ queries = new Map();
3
+ get(queryJSON) {
4
+ const weakRef = this.queries.get(queryJSON);
5
+ const deref = weakRef && weakRef.deref();
6
+ if (deref != null) {
7
+ return deref;
8
+ }
9
+ else {
10
+ this.queries.delete(queryJSON);
11
+ }
12
+ return null;
13
+ }
14
+ set(queryJSON, promise) {
15
+ this.clean();
16
+ if (!(promise instanceof Promise)) {
17
+ return;
18
+ }
19
+ const weakRef = new WeakRef(promise);
20
+ this.queries.set(queryJSON, weakRef);
21
+ }
22
+ clean() {
23
+ this.queries.forEach((value, key) => {
24
+ const deref = value && value.deref();
25
+ if (deref == null) {
26
+ this.queries.delete(key);
27
+ }
28
+ });
29
+ }
30
+ }
31
+ //# sourceMappingURL=QueryWeakCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryWeakCache.js","sourceRoot":"","sources":["../src/QueryWeakCache.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,cAAc;IACjB,OAAO,GAAuC,IAAI,GAAG,EAAE,CAAC;IAEhE,GAAG,CAAC,SAAiB;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACzC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC;QACf,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,SAAiB,EAAE,OAAqB;QAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,IAAI,CAAC,CAAC,OAAO,YAAY,OAAO,CAAC,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;QAErC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAClC,MAAM,KAAK,GAAG,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YACrC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBAClB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nymphjs/client",
3
- "version": "1.0.0-beta.133",
3
+ "version": "1.0.0-beta.134",
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": "4edb32e721ba78f0be8d43d675578168f166b8b5"
54
+ "gitHead": "31b045084100c2267c2eac7ad457d52983b0b895"
55
55
  }
@@ -1,6 +1,6 @@
1
1
  import { EntityConstructor, EntityInterface } from './Entity.types.js';
2
2
 
3
- export default class EntityWeakCache {
3
+ export class EntityWeakCache {
4
4
  private references: WeakMap<
5
5
  EntityConstructor,
6
6
  { [k: string]: WeakRef<EntityInterface> }
@@ -32,7 +32,7 @@ export interface AbortableAsyncIterator<
32
32
  abortController: AbortController;
33
33
  }
34
34
 
35
- export default class HttpRequester {
35
+ export class HttpRequester {
36
36
  private fetch: WindowOrWorkerGlobalScope['fetch'];
37
37
  private requestCallbacks: HttpRequesterRequestCallback[] = [];
38
38
  private responseCallbacks: HttpRequesterResponseCallback[] = [];
package/src/Nymph.ts CHANGED
@@ -6,9 +6,10 @@ import type {
6
6
  ServerCallResponse,
7
7
  ServerCallStaticResponse,
8
8
  } from './Entity.types.js';
9
- import EntityWeakCache from './EntityWeakCache.js';
9
+ import { EntityWeakCache } from './EntityWeakCache.js';
10
+ import { QueryWeakCache } from './QueryWeakCache.js';
10
11
  import type { AbortableAsyncIterator } from './HttpRequester.js';
11
- import HttpRequester, { ClientError } from './HttpRequester.js';
12
+ import { HttpRequester, ClientError } from './HttpRequester.js';
12
13
  import type {
13
14
  EventType,
14
15
  NymphOptions,
@@ -56,7 +57,11 @@ export default class Nymph {
56
57
  /**
57
58
  * The entity cache.
58
59
  */
59
- public cache = new EntityWeakCache();
60
+ public entityCache = new EntityWeakCache();
61
+ /**
62
+ * The query cache.
63
+ */
64
+ public queryCache = new QueryWeakCache();
60
65
  /**
61
66
  * Return `null` or empty array instead of error when entity/ies not found.
62
67
  */
@@ -158,12 +163,24 @@ export default class Nymph {
158
163
  }
159
164
 
160
165
  public async getUID(name: string) {
161
- const data = await requester.GET({
162
- url: this.restUrl,
163
- headers: { ...this.headers },
164
- dataType: 'text',
165
- data: { action: 'uid', data: name },
166
- });
166
+ const query = { action: 'uid', data: name };
167
+ let promise: Promise<any> | null = null;
168
+ const queryJSON = JSON.stringify(query);
169
+ if (this.weakCache) {
170
+ promise = this.queryCache.get(queryJSON);
171
+ }
172
+ if (promise == null) {
173
+ promise = requester.GET({
174
+ url: this.restUrl,
175
+ headers: { ...this.headers },
176
+ dataType: 'text',
177
+ data: query,
178
+ });
179
+ if (this.weakCache) {
180
+ this.queryCache.set(queryJSON, promise);
181
+ }
182
+ }
183
+ const data = await promise;
167
184
  return Number(data);
168
185
  }
169
186
 
@@ -366,18 +383,31 @@ export default class Nymph {
366
383
  if (typeof selectors[0] === 'string') {
367
384
  selectors = [{ type: '&', guid: selectors[0] }];
368
385
  }
369
- const data = await requester.GET({
370
- url: this.restUrl,
371
- headers: { ...this.headers },
372
- dataType: 'json',
373
- data: {
374
- action: 'entity',
375
- data: [
376
- entityConstructorsToClassNames(options),
377
- ...entityConstructorsToClassNames(entitiesToReferences(selectors)),
378
- ],
379
- },
380
- });
386
+ const query = {
387
+ action: 'entity',
388
+ data: [
389
+ entityConstructorsToClassNames(options),
390
+ ...entityConstructorsToClassNames(entitiesToReferences(selectors)),
391
+ ],
392
+ };
393
+ let promise: Promise<any> | null = null;
394
+ const queryJSON = JSON.stringify(query);
395
+ if (this.weakCache) {
396
+ promise = this.queryCache.get(queryJSON);
397
+ }
398
+ if (promise == null) {
399
+ promise = requester.GET({
400
+ url: this.restUrl,
401
+ headers: { ...this.headers },
402
+ dataType: 'json',
403
+ data: query,
404
+ });
405
+ if (this.weakCache) {
406
+ this.queryCache.set(queryJSON, promise);
407
+ }
408
+ }
409
+
410
+ const data = await promise;
381
411
 
382
412
  if (options.return === 'count' || typeof data.guid !== 'undefined') {
383
413
  return data;
@@ -403,18 +433,30 @@ export default class Nymph {
403
433
  ): Promise<EntityInstanceType<T>[] | string[] | number> {
404
434
  let data = null;
405
435
  try {
406
- data = await requester.GET({
407
- url: this.restUrl,
408
- headers: { ...this.headers },
409
- dataType: 'json',
410
- data: {
411
- action: 'entities',
412
- data: [
413
- entityConstructorsToClassNames(options),
414
- ...entityConstructorsToClassNames(entitiesToReferences(selectors)),
415
- ],
416
- },
417
- });
436
+ const query = {
437
+ action: 'entities',
438
+ data: [
439
+ entityConstructorsToClassNames(options),
440
+ ...entityConstructorsToClassNames(entitiesToReferences(selectors)),
441
+ ],
442
+ };
443
+ let promise: Promise<any> | null = null;
444
+ const queryJSON = JSON.stringify(query);
445
+ if (this.weakCache) {
446
+ promise = this.queryCache.get(queryJSON);
447
+ }
448
+ if (promise == null) {
449
+ promise = requester.GET({
450
+ url: this.restUrl,
451
+ headers: { ...this.headers },
452
+ dataType: 'json',
453
+ data: query,
454
+ });
455
+ if (this.weakCache) {
456
+ this.queryCache.set(queryJSON, promise);
457
+ }
458
+ }
459
+ data = await promise;
418
460
  } catch (e: any) {
419
461
  if (
420
462
  this.returnNullOnNotFound &&
@@ -455,7 +497,7 @@ export default class Nymph {
455
497
  let entity = EntityClass.factorySync();
456
498
  if (this.weakCache) {
457
499
  // Try to get it from cache.
458
- const entityFromCache = this.cache.get(
500
+ const entityFromCache = this.entityCache.get(
459
501
  EntityClass,
460
502
  entityJSON.guid || '',
461
503
  );
@@ -473,7 +515,10 @@ export default class Nymph {
473
515
  if (!this.weakCache) {
474
516
  return null;
475
517
  }
476
- return this.cache.get(EntityClass, guid) as EntityInstanceType<T> | null;
518
+ return this.entityCache.get(
519
+ EntityClass,
520
+ guid,
521
+ ) as EntityInstanceType<T> | null;
477
522
  }
478
523
 
479
524
  public setEntityToCache(
@@ -483,7 +528,7 @@ export default class Nymph {
483
528
  if (!this.weakCache) {
484
529
  return;
485
530
  }
486
- return this.cache.set(EntityClass, entity);
531
+ return this.entityCache.set(EntityClass, entity);
487
532
  }
488
533
 
489
534
  public initEntitiesFromData<T extends any>(item: T, isFromSave: boolean): T {
@@ -30,7 +30,7 @@ export type NymphOptions = {
30
30
  */
31
31
  noAutoconnect?: boolean;
32
32
  /**
33
- * Use a WeakRef based cache of entities.
33
+ * Use a WeakRef based cache of entities and queries.
34
34
  *
35
35
  * This ensures all entities returned are the same instance if they have the
36
36
  * same class and GUID. This also means that whenever an entity is returned
@@ -44,6 +44,13 @@ export type NymphOptions = {
44
44
  * the GUID used as a key and the WeakRef object itself are not weak
45
45
  * references, so not destroyed when the instance is garbage collected.
46
46
  *
47
+ * Queries are also cached with weak references. Practically, what this means
48
+ * is that if you make two identical queries (getEntity, getEntities, or
49
+ * getUID) at the same time, only one request will be sent to the server, and
50
+ * both queries will resolve with the same result. This is particularly useful
51
+ * if you tend to wake a lot of copies of the same entity (like a user) at the
52
+ * same time.
53
+ *
47
54
  * However, even with these caveats, this might help you if you have a big app
48
55
  * with the same entities stored in several different places in memory. This
49
56
  * can help to synchronize them correctly and avoid data conflicts.
@@ -0,0 +1,35 @@
1
+ export class QueryWeakCache {
2
+ private queries: Map<string, WeakRef<Promise<any>>> = new Map();
3
+
4
+ get(queryJSON: string): Promise<any> | null {
5
+ const weakRef = this.queries.get(queryJSON);
6
+ const deref = weakRef && weakRef.deref();
7
+ if (deref != null) {
8
+ return deref;
9
+ } else {
10
+ this.queries.delete(queryJSON);
11
+ }
12
+ return null;
13
+ }
14
+
15
+ set(queryJSON: string, promise: Promise<any>) {
16
+ this.clean();
17
+
18
+ if (!(promise instanceof Promise)) {
19
+ return;
20
+ }
21
+
22
+ const weakRef = new WeakRef(promise);
23
+
24
+ this.queries.set(queryJSON, weakRef);
25
+ }
26
+
27
+ clean() {
28
+ this.queries.forEach((value, key) => {
29
+ const deref = value && value.deref();
30
+ if (deref == null) {
31
+ this.queries.delete(key);
32
+ }
33
+ });
34
+ }
35
+ }