@verdant-web/store 5.4.3 → 5.5.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.
Files changed (36) hide show
  1. package/dist/bundle/index.js +8 -8
  2. package/dist/bundle/index.js.map +4 -4
  3. package/dist/esm/__tests__/QueryBatcher.test.d.ts +1 -0
  4. package/dist/esm/__tests__/QueryBatcher.test.js +17 -0
  5. package/dist/esm/__tests__/QueryBatcher.test.js.map +1 -0
  6. package/dist/esm/__tests__/entities.test.js +3 -3
  7. package/dist/esm/__tests__/entities.test.js.map +1 -1
  8. package/dist/esm/__tests__/queries.test.js +16 -0
  9. package/dist/esm/__tests__/queries.test.js.map +1 -1
  10. package/dist/esm/entities/Entity.d.ts +2 -3
  11. package/dist/esm/entities/Entity.js +37 -17
  12. package/dist/esm/entities/Entity.js.map +1 -1
  13. package/dist/esm/entities/EntityStore.js +1 -1
  14. package/dist/esm/entities/EntityStore.js.map +1 -1
  15. package/dist/esm/files/EntityFile.d.ts +22 -7
  16. package/dist/esm/files/EntityFile.js +30 -6
  17. package/dist/esm/files/EntityFile.js.map +1 -1
  18. package/dist/esm/files/FileManager.d.ts +5 -4
  19. package/dist/esm/files/FileManager.js +35 -16
  20. package/dist/esm/files/FileManager.js.map +1 -1
  21. package/dist/esm/queries/BaseQuery.d.ts +4 -1
  22. package/dist/esm/queries/BaseQuery.js +22 -11
  23. package/dist/esm/queries/BaseQuery.js.map +1 -1
  24. package/dist/esm/queries/QueryBatcher.d.ts +2 -0
  25. package/dist/esm/queries/QueryBatcher.js +39 -0
  26. package/dist/esm/queries/QueryBatcher.js.map +1 -0
  27. package/package.json +2 -2
  28. package/src/__tests__/QueryBatcher.test.ts +21 -0
  29. package/src/__tests__/entities.test.ts +3 -3
  30. package/src/__tests__/queries.test.ts +19 -0
  31. package/src/entities/Entity.ts +30 -8
  32. package/src/entities/EntityStore.ts +1 -1
  33. package/src/files/EntityFile.ts +52 -10
  34. package/src/files/FileManager.ts +45 -20
  35. package/src/queries/BaseQuery.ts +25 -12
  36. package/src/queries/QueryBatcher.ts +54 -0
@@ -1 +1 @@
1
- {"version":3,"file":"EntityStore.js","sourceRoot":"","sources":["../../../src/entities/EntityStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityStore.js","sourceRoot":"","sources":["../../../src/entities/EntityStore.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,26 @@
1
- import { EventSubscriber, FileData } from '@verdant-web/common';
1
+ import { EventSubscriber, FileData, FileRef, ObjectIdentifier, PropertyName } from '@verdant-web/common';
2
2
  import { Context } from '../context/context.js';
3
- import { Entity } from '../entities/Entity.js';
4
3
  export type EntityFileEvents = {
5
4
  change: () => void;
6
5
  };
7
6
  export declare const UPDATE: unique symbol;
8
7
  export declare const MARK_FAILED: unique symbol;
9
- export declare const CHILD_FILE_CHANGED: unique symbol;
8
+ export interface EntityFileContext {
9
+ readonly oid: ObjectIdentifier;
10
+ readonly key: PropertyName;
11
+ getFileRef(): FileRef | null;
12
+ applyFileRef(file: FileRef): void;
13
+ subscribe(callback: () => void): () => void;
14
+ onChange(): void;
15
+ }
10
16
  export type EntityFileSnapshot = {
11
17
  id: string;
12
18
  url?: string | null;
19
+ name: string;
20
+ remote: boolean;
21
+ type: string;
22
+ file?: Blob | null;
23
+ alt: string | null;
13
24
  };
14
25
  /**
15
26
  * Provides a consistent interface for files used in an app via
@@ -24,18 +35,22 @@ export declare class EntityFile extends EventSubscriber<EntityFileEvents> {
24
35
  private _failedReason;
25
36
  private _downloadRemote;
26
37
  private _uploaded;
38
+ private _alt;
27
39
  private ctx;
28
40
  private unsubscribes;
29
- private parent;
30
- constructor(id: string, { downloadRemote, ctx, parent, }: {
41
+ private fileContext;
42
+ constructor(id: string, { downloadRemote, ctx, fileContext, }: {
31
43
  downloadRemote?: boolean;
32
44
  ctx: Context;
33
- parent: Entity;
45
+ fileContext: EntityFileContext;
34
46
  });
35
47
  get downloadRemote(): boolean;
36
48
  get isFile(): boolean;
37
49
  get isUploaded(): boolean;
38
50
  get error(): string | null;
51
+ get alt(): string | null;
52
+ setAlt: (alt: string | null) => void;
53
+ private onContextChange;
39
54
  private emitChange;
40
55
  [UPDATE]: (fileData: FileData) => void;
41
56
  [MARK_FAILED]: (reason?: string) => void;
@@ -46,5 +61,5 @@ export declare class EntityFile extends EventSubscriber<EntityFileEvents> {
46
61
  get loading(): boolean;
47
62
  get failed(): boolean;
48
63
  destroy: () => void;
49
- getSnapshot(): FileData;
64
+ getSnapshot(): EntityFileSnapshot;
50
65
  }
@@ -1,15 +1,14 @@
1
1
  var _a, _b;
2
- import { EventSubscriber } from '@verdant-web/common';
2
+ import { EventSubscriber, } from '@verdant-web/common';
3
3
  export const UPDATE = Symbol('entity-file-update');
4
4
  export const MARK_FAILED = Symbol('entity-file-mark-failed');
5
- // this one goes on Entity
6
- export const CHILD_FILE_CHANGED = Symbol('child-file-changed');
7
5
  /**
8
6
  * Provides a consistent interface for files used in an app via
9
7
  * Entity access.
10
8
  */
11
9
  export class EntityFile extends EventSubscriber {
12
- constructor(id, { downloadRemote = false, ctx, parent, }) {
10
+ constructor(id, { downloadRemote = false, ctx, fileContext, }) {
11
+ var _c, _d;
13
12
  super();
14
13
  this.id = id;
15
14
  // cached object URL for a local blob file, if applicable
@@ -19,7 +18,26 @@ export class EntityFile extends EventSubscriber {
19
18
  this._failed = false;
20
19
  this._downloadRemote = false;
21
20
  this._uploaded = false;
21
+ this._alt = null;
22
22
  this.unsubscribes = [];
23
+ this.setAlt = (alt) => {
24
+ var _c;
25
+ const file = this.fileContext.getFileRef();
26
+ if (!file || file.id !== this.id) {
27
+ throw new Error('Cannot set alt text on a file which is no longer present');
28
+ }
29
+ if (((_c = file.alt) !== null && _c !== void 0 ? _c : null) === alt)
30
+ return;
31
+ this.fileContext.applyFileRef(Object.assign(Object.assign({}, file), { alt }));
32
+ };
33
+ this.onContextChange = () => {
34
+ var _c, _d;
35
+ const nextAlt = (_d = (_c = this.fileContext.getFileRef()) === null || _c === void 0 ? void 0 : _c.alt) !== null && _d !== void 0 ? _d : null;
36
+ if (nextAlt !== this._alt) {
37
+ this._alt = nextAlt;
38
+ this.emitChange();
39
+ }
40
+ };
23
41
  this[_a] = (fileData) => {
24
42
  this.ctx.log('debug', 'EntityFile updated', this.id, fileData);
25
43
  this._loading = false;
@@ -55,8 +73,10 @@ export class EntityFile extends EventSubscriber {
55
73
  this.dispose();
56
74
  };
57
75
  this.ctx = ctx;
58
- this.parent = parent;
76
+ this.fileContext = fileContext;
59
77
  this._downloadRemote = downloadRemote;
78
+ this._alt = (_d = (_c = fileContext.getFileRef()) === null || _c === void 0 ? void 0 : _c.alt) !== null && _d !== void 0 ? _d : null;
79
+ this.unsubscribes.push(fileContext.subscribe(this.onContextChange));
60
80
  this.unsubscribes.push(this.ctx.internalEvents.subscribe(`fileUploaded:${id}`, this.onUploaded));
61
81
  }
62
82
  get downloadRemote() {
@@ -72,8 +92,11 @@ export class EntityFile extends EventSubscriber {
72
92
  get error() {
73
93
  return this._failedReason || null;
74
94
  }
95
+ get alt() {
96
+ return this._alt;
97
+ }
75
98
  emitChange() {
76
- this.parent[CHILD_FILE_CHANGED](this);
99
+ this.fileContext.onChange();
77
100
  this.emit('change');
78
101
  }
79
102
  get url() {
@@ -109,6 +132,7 @@ export class EntityFile extends EventSubscriber {
109
132
  remote: (_h = (_g = this._fileData) === null || _g === void 0 ? void 0 : _g.remote) !== null && _h !== void 0 ? _h : false,
110
133
  type: (_j = this.type) !== null && _j !== void 0 ? _j : '',
111
134
  file: (_k = this._fileData) === null || _k === void 0 ? void 0 : _k.file,
135
+ alt: this.alt,
112
136
  };
113
137
  }
114
138
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EntityFile.js","sourceRoot":"","sources":["../../../src/files/EntityFile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityFile.js","sourceRoot":"","sources":["../../../src/files/EntityFile.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,18 @@
1
1
  import { FileData } from '@verdant-web/common';
2
2
  import { Context } from '../context/context.js';
3
- import { Entity } from '../entities/Entity.js';
4
3
  import { Disposable } from '../internal.js';
5
4
  import { Sync } from '../sync/Sync.js';
6
- import { EntityFile } from './EntityFile.js';
5
+ import { EntityFile, EntityFileContext } from './EntityFile.js';
7
6
  export declare class FileManager extends Disposable {
8
7
  private sync;
9
8
  private context;
10
9
  private cache;
10
+ private fileData;
11
11
  constructor({ sync, context }: {
12
12
  sync: Sync;
13
13
  context: Context;
14
14
  });
15
- add: (file: FileData, parent: Entity) => Promise<void>;
15
+ add: (file: FileData) => Promise<void>;
16
16
  /**
17
17
  * Immediately returns an EntityFile to use, then either loads
18
18
  * the file from cache, local database, or the server.
@@ -20,8 +20,9 @@ export declare class FileManager extends Disposable {
20
20
  get: (id: string, options: {
21
21
  downloadRemote?: boolean;
22
22
  ctx: Context;
23
- parent: Entity;
23
+ fileContext: EntityFileContext;
24
24
  }) => EntityFile;
25
+ private updateFileData;
25
26
  private load;
26
27
  private onFileUploaded;
27
28
  }
@@ -1,44 +1,63 @@
1
1
  import { Disposable } from '../internal.js';
2
- import { EntityFile, MARK_FAILED, UPDATE } from './EntityFile.js';
2
+ import { EntityFile, MARK_FAILED, UPDATE, } from './EntityFile.js';
3
3
  export class FileManager extends Disposable {
4
4
  constructor({ sync, context }) {
5
5
  super();
6
6
  this.cache = new Map();
7
- this.add = async (file, parent) => {
8
- // immediately cache the file
9
- let entityFile = this.cache.get(file.id);
10
- if (!entityFile) {
11
- entityFile = new EntityFile(file.id, { ctx: this.context, parent });
12
- this.cache.set(file.id, entityFile);
13
- }
7
+ this.fileData = new Map();
8
+ this.add = async (file) => {
14
9
  if (!file.remote) {
15
10
  // immediately update local files.
16
- entityFile[UPDATE](file);
11
+ this.updateFileData(file);
17
12
  }
18
13
  // this will download any original remote file and trigger a re-upload to the
19
14
  // new file's identity, in addition to storing it on disk
20
15
  const processedFile = await (await this.context.files).add(file, { cloneRemote: true });
21
- entityFile[UPDATE](processedFile);
16
+ this.updateFileData(processedFile);
22
17
  };
23
18
  /**
24
19
  * Immediately returns an EntityFile to use, then either loads
25
20
  * the file from cache, local database, or the server.
26
21
  */
27
22
  this.get = (id, options) => {
28
- if (this.cache.has(id)) {
29
- return this.cache.get(id);
23
+ var _a, _b;
24
+ const cacheKey = `${options.fileContext.oid}:${String(options.fileContext.key)}:${id}`;
25
+ const cachedFile = (_a = this.cache.get(cacheKey)) === null || _a === void 0 ? void 0 : _a.deref();
26
+ if (cachedFile) {
27
+ return cachedFile;
30
28
  }
29
+ this.cache.delete(cacheKey);
31
30
  const file = new EntityFile(id, options);
32
- this.cache.set(id, file);
33
- this.load(file);
31
+ this.cache.set(cacheKey, this.context.weakRef(file));
32
+ const data = (_b = this.fileData.get(id)) === null || _b === void 0 ? void 0 : _b.deref();
33
+ if (data) {
34
+ file[UPDATE](data);
35
+ }
36
+ else {
37
+ this.fileData.delete(id);
38
+ this.load(file);
39
+ }
34
40
  return file;
35
41
  };
42
+ this.updateFileData = (data) => {
43
+ this.fileData.set(data.id, this.context.weakRef(data));
44
+ for (const [key, fileRef] of this.cache) {
45
+ const file = fileRef.deref();
46
+ if (!file) {
47
+ this.cache.delete(key);
48
+ continue;
49
+ }
50
+ if (file.id === data.id) {
51
+ file[UPDATE](data);
52
+ }
53
+ }
54
+ };
36
55
  this.load = async (file) => {
37
56
  var _a;
38
57
  const fileData = await (await this.context.files).get(file.id);
39
58
  // immediately apply any file data we have
40
59
  if (fileData) {
41
- file[UPDATE](fileData);
60
+ this.updateFileData(fileData);
42
61
  }
43
62
  if (!(fileData === null || fileData === void 0 ? void 0 : fileData.url) && (!fileData || fileData.remote)) {
44
63
  // maybe we don't have it yet, it might be on the server still.
@@ -59,7 +78,7 @@ export class FileManager extends Disposable {
59
78
  // avoid overwriting local values except for url
60
79
  const copyWithUrl = Object.assign(Object.assign(Object.assign({}, result.data), fileData), { url: result.data.url });
61
80
  await (await this.context.files).update(copyWithUrl);
62
- file[UPDATE](result.data);
81
+ this.updateFileData(result.data);
63
82
  }
64
83
  else {
65
84
  this.context.log('error', 'Failed to load file', result);
@@ -1 +1 @@
1
- {"version":3,"file":"FileManager.js","sourceRoot":"","sources":["../../../src/files/FileManager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAElE,MAAM,OAAO,WAAY,SAAQ,UAAU;IAM1C,YAAY,EAAE,IAAI,EAAE,OAAO,EAAoC;QAC9D,KAAK,EAAE,CAAC;QAHD,UAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;QAc9C,QAAG,GAAG,KAAK,EAAE,IAAc,EAAE,MAAc,EAAE,EAAE;YAC9C,6BAA6B;YAC7B,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACjB,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;gBACpE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YACrC,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBAClB,kCAAkC;gBAClC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YACD,6EAA6E;YAC7E,yDAAyD;YACzD,MAAM,aAAa,GAAG,MAAM,CAC3B,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CACxB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YACnC,UAAU,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC;QACnC,CAAC,CAAC;QAEF;;;WAGG;QACH,QAAG,GAAG,CACL,EAAU,EACV,OAAmE,EAClE,EAAE;YACH,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;YAC5B,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,OAAO,IAAI,CAAC;QACb,CAAC,CAAC;QAEM,SAAI,GAAG,KAAK,EAAE,IAAgB,EAAE,EAAE;;YACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/D,0CAA0C;YAC1C,IAAI,QAAQ,EAAE,CAAC;gBACd,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC;YAED,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,CAAA,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtD,+DAA+D;gBAC/D,IAAI,CAAC;oBACJ,yDAAyD;oBACzD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;wBACnC,IAAI,CAAC,OAAO,CAAC,GAAG,CACf,MAAM,EACN,qDAAqD,EACrD,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,IAAI,CACT,CAAC;wBACF,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE;4BAC5D,IAAI,MAAM,EAAE,CAAC;gCACZ,KAAK,EAAE,CAAC;gCACR,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BACjB,CAAC;wBACF,CAAC,CAAC,CAAC;wBACH,OAAO;oBACR,CAAC;oBAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAChD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACpB,gDAAgD;wBAChD,MAAM,WAAW,iDACb,MAAM,CAAC,IAAI,GACX,QAAQ,KACX,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,GACpB,CAAC;wBACF,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;wBACrD,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC3B,CAAC;yBAAM,CAAC;wBACP,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC;wBACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACf,4DAA4D;4BAC5D,IAAI,CAAC,WAAW,CAAC,CAAC,MAAA,MAAM,CAAC,KAAK,0CAAE,QAAQ,EAAE,CAAC,CAAC;wBAC7C,CAAC;oBACF,CAAC;gBACF,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACd,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,qBAAqB,EAAE,GAAG,CAAC,CAAC;oBACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACf,4DAA4D;wBAC5D,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBACrE,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC,CAAC;QAEM,mBAAc,GAAG,KAAK,EAAE,IAAc,EAAE,EAAE;YACjD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,0BAA0B,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/D,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC,CAAC;QAxGD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,CACd,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CACpC,cAAc,EACd,IAAI,CAAC,cAAc,CACnB,CACD,CAAC;IACH,CAAC;CAiGD"}
1
+ {"version":3,"file":"FileManager.js","sourceRoot":"","sources":["../../../src/files/FileManager.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Context } from '../context/context.js';
1
+ import type { Context } from '../context/context.js';
2
2
  import { Disposable } from '../utils/Disposable.js';
3
3
  import { QueryDiagnostic } from './diagnostics.js';
4
4
  export type BaseQueryEvents = {
@@ -26,12 +26,15 @@ export declare abstract class BaseQuery<T> extends Disposable {
26
26
  private _timing;
27
27
  private _startedAt;
28
28
  private _timingHistory;
29
+ private _revalidationTimeout;
30
+ private _needsTrailingRevalidation;
29
31
  protected context: Context;
30
32
  readonly collection: string;
31
33
  readonly key: string;
32
34
  readonly isListQuery: boolean;
33
35
  readonly type: string;
34
36
  constructor({ initial, context, collection, key, shouldUpdate, }: BaseQueryOptions<T>);
37
+ private revalidate;
35
38
  get current(): T;
36
39
  get resolved(): Promise<T>;
37
40
  get subscribed(): boolean;
@@ -3,14 +3,11 @@ import { EventSubscriber } from '@verdant-web/common';
3
3
  import { Entity } from '../entities/Entity.js';
4
4
  import { Disposable } from '../utils/Disposable.js';
5
5
  import { getDiagnosticResult, } from './diagnostics.js';
6
+ import { enqueueQueryRun } from './QueryBatcher.js';
6
7
  import { filterResultSet } from './utils.js';
7
8
  export const ON_ALL_UNSUBSCRIBED = Symbol('ON_ALL_UNSUBSCRIBED');
8
9
  export const UPDATE = Symbol('UPDATE');
9
- // export interface BaseQuery<T> {
10
- // subscribe(event: 'change', callback: (value: T) => void): () => void;
11
- // subscribe(event: 'statusChange', callback: (status: QueryStatus) => void): () => void;
12
- // subscribe(callback: (value: T) => void): () => void;
13
- // }
10
+ const REVALIDATION_DEBOUNCE = 50;
14
11
  export class BaseQuery extends Disposable {
15
12
  constructor({ initial, context, collection, key, shouldUpdate, }) {
16
13
  super();
@@ -24,6 +21,23 @@ export class BaseQuery extends Disposable {
24
21
  };
25
22
  this._startedAt = null;
26
23
  this._timingHistory = [];
24
+ this._needsTrailingRevalidation = false;
25
+ this.revalidate = () => {
26
+ if (this._revalidationTimeout !== undefined) {
27
+ this._needsTrailingRevalidation = true;
28
+ clearTimeout(this._revalidationTimeout);
29
+ }
30
+ else {
31
+ this.execute();
32
+ }
33
+ this._revalidationTimeout = setTimeout(() => {
34
+ this._revalidationTimeout = undefined;
35
+ if (this._needsTrailingRevalidation) {
36
+ this._needsTrailingRevalidation = false;
37
+ this.execute();
38
+ }
39
+ }, REVALIDATION_DEBOUNCE);
40
+ };
27
41
  this.setValue = (value) => {
28
42
  this._rawValue = value;
29
43
  this.subscribeToDeleteAndRestore(this._rawValue);
@@ -92,7 +106,7 @@ export class BaseQuery extends Disposable {
92
106
  this.status = 'revalidating';
93
107
  }
94
108
  // no status change needed if already in a 'running' status.
95
- this._executionPromise = this.run()
109
+ this._executionPromise = enqueueQueryRun(this.context, this.run)
96
110
  .then(() => this._value)
97
111
  .catch((err) => {
98
112
  if (err instanceof Error) {
@@ -164,15 +178,12 @@ export class BaseQuery extends Disposable {
164
178
  this.key = key;
165
179
  this.collection = collection;
166
180
  this.type = this.constructor.name;
181
+ this.addDispose(() => clearTimeout(this._revalidationTimeout));
167
182
  const shouldUpdateFn = shouldUpdate ||
168
183
  ((collections) => collections.includes(collection));
169
184
  this.addDispose(this.context.entityEvents.subscribe('collectionsChanged', (collections) => {
170
185
  if (shouldUpdateFn(collections)) {
171
- this.context.log('info', 'Updating query', this.key);
172
- // immediately refilter the result set - deleted
173
- // entities will already be nulled out
174
- // this.refreshValue();
175
- this.execute();
186
+ this.revalidate();
176
187
  }
177
188
  }));
178
189
  // TODO: subscribe to document changes and update if necessary.
@@ -1 +1 @@
1
- {"version":3,"file":"BaseQuery.js","sourceRoot":"","sources":["../../../src/queries/BaseQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseQuery.js","sourceRoot":"","sources":["../../../src/queries/BaseQuery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { Context } from '../context/context.js';
2
+ export declare function enqueueQueryRun<T>(context: Context, run: () => Promise<T>): Promise<T>;
@@ -0,0 +1,39 @@
1
+ const BATCH_SIZE = 20;
2
+ class QueryBatcher {
3
+ constructor() {
4
+ this.queue = [];
5
+ this.scheduled = false;
6
+ this.flush = () => {
7
+ const batch = this.queue.splice(0, BATCH_SIZE);
8
+ for (const { run, resolve, reject } of batch) {
9
+ run().then(resolve, reject);
10
+ }
11
+ if (this.queue.length) {
12
+ setTimeout(this.flush, 0);
13
+ }
14
+ else {
15
+ this.scheduled = false;
16
+ }
17
+ };
18
+ }
19
+ enqueue(run) {
20
+ const promise = new Promise((resolve, reject) => {
21
+ this.queue.push({ run, resolve, reject });
22
+ });
23
+ if (!this.scheduled) {
24
+ this.scheduled = true;
25
+ queueMicrotask(this.flush);
26
+ }
27
+ return promise;
28
+ }
29
+ }
30
+ const batchers = new WeakMap();
31
+ export function enqueueQueryRun(context, run) {
32
+ let batcher = batchers.get(context);
33
+ if (!batcher) {
34
+ batcher = new QueryBatcher();
35
+ batchers.set(context, batcher);
36
+ }
37
+ return batcher.enqueue(run);
38
+ }
39
+ //# sourceMappingURL=QueryBatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryBatcher.js","sourceRoot":"","sources":["../../../src/queries/QueryBatcher.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAG,EAAE,CAAC;AAQtB,MAAM,YAAY;IAAlB;QACS,UAAK,GAAgB,EAAE,CAAC;QACxB,cAAS,GAAG,KAAK,CAAC;QAelB,UAAK,GAAG,GAAG,EAAE;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YAC/C,KAAK,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;gBAC9C,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC7B,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACvB,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACxB,CAAC;QACF,CAAC,CAAC;IACH,CAAC;IAzBA,OAAO,CAAI,GAAqB;QAC/B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAClD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;CAcD;AAED,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAyB,CAAC;AAEtD,MAAM,UAAU,eAAe,CAC9B,OAAgB,EAChB,GAAqB;IAErB,IAAI,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;QAC7B,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@verdant-web/store",
3
- "version": "5.4.3",
3
+ "version": "5.5.0",
4
4
  "access": "public",
5
5
  "type": "module",
6
6
  "main": "dist/esm/index.js",
@@ -39,7 +39,7 @@
39
39
  "jszip": "^3.10.1",
40
40
  "jwt-decode": "^3.1.2",
41
41
  "weak-event": "^2.0.5",
42
- "@verdant-web/common": "3.2.1"
42
+ "@verdant-web/common": "3.2.2"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/node": "20.10.5",
@@ -0,0 +1,21 @@
1
+ import { describe, expect, it, vi } from 'vitest';
2
+ import { Context } from '../context/context.js';
3
+ import { enqueueQueryRun } from '../queries/QueryBatcher.js';
4
+
5
+ describe('QueryBatcher', () => {
6
+ it('yields between batches of query runs', async () => {
7
+ vi.useFakeTimers();
8
+ const context = {} as Context;
9
+ const runs = Array.from({ length: 21 }, () => vi.fn(async () => {}));
10
+
11
+ const results = runs.map((run) => enqueueQueryRun(context, run));
12
+ expect(runs.filter((run) => run.mock.calls.length > 0)).toHaveLength(0);
13
+
14
+ await Promise.resolve();
15
+ expect(runs.filter((run) => run.mock.calls.length > 0)).toHaveLength(20);
16
+
17
+ await vi.runAllTimersAsync();
18
+ expect(runs.filter((run) => run.mock.calls.length > 0)).toHaveLength(21);
19
+ await Promise.all(results);
20
+ });
21
+ });
@@ -583,9 +583,9 @@ describe('entities', () => {
583
583
 
584
584
  fileList.moveItem(file1Ref, 2);
585
585
 
586
- expect(fileList.get(0)).toBe(file2Ref);
587
- expect(fileList.get(1)).toBe(file3Ref);
588
- expect(fileList.get(2)).toBe(file1Ref);
586
+ expect(fileList.get(0).uid).toBe(file2Ref.uid);
587
+ expect(fileList.get(1).uid).toBe(file3Ref.uid);
588
+ expect(fileList.get(2).uid).toBe(file1Ref.uid);
589
589
  });
590
590
 
591
591
  it('should return nullish for missing map items', async () => {
@@ -404,6 +404,25 @@ describe('query reactivity', () => {
404
404
  // revalidating on change is tested elsewhere below.
405
405
  });
406
406
 
407
+ it('revalidates on the leading and trailing edges of collection changes', async () => {
408
+ const storage = await createTestStorage();
409
+ const query = storage.todos.findAll();
410
+ await query.resolved;
411
+ const execute = vi.spyOn(query, 'execute');
412
+ vi.useFakeTimers();
413
+
414
+ const entityEvents = (storage as any).context.entityEvents;
415
+ entityEvents.emit('collectionsChanged', ['todos']);
416
+ entityEvents.emit('collectionsChanged', ['todos']);
417
+ entityEvents.emit('collectionsChanged', ['todos']);
418
+ expect(execute).toHaveBeenCalledTimes(1);
419
+
420
+ await vi.advanceTimersByTimeAsync(49);
421
+ expect(execute).toHaveBeenCalledTimes(1);
422
+ await vi.advanceTimersByTimeAsync(1);
423
+ expect(execute).toHaveBeenCalledTimes(2);
424
+ });
425
+
407
426
  it('updates a get query when the item is deleted', async () => {
408
427
  const client = await createTestStorage();
409
428
  const query = await getQuery(client);