@verdant-web/store 4.2.0 → 4.4.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 (46) hide show
  1. package/dist/bundle/index.js +9 -7
  2. package/dist/bundle/index.js.map +4 -4
  3. package/dist/esm/__tests__/entities.test.js +438 -5
  4. package/dist/esm/__tests__/entities.test.js.map +1 -1
  5. package/dist/esm/__tests__/fixtures/testStorage.d.ts +1 -0
  6. package/dist/esm/__tests__/fixtures/testStorage.js +1 -1
  7. package/dist/esm/__tests__/fixtures/testStorage.js.map +1 -1
  8. package/dist/esm/client/Client.js +2 -1
  9. package/dist/esm/client/Client.js.map +1 -1
  10. package/dist/esm/entities/Entity.d.ts +22 -3
  11. package/dist/esm/entities/Entity.js +210 -38
  12. package/dist/esm/entities/Entity.js.map +1 -1
  13. package/dist/esm/entities/Entity.test.js +4 -3
  14. package/dist/esm/entities/Entity.test.js.map +1 -1
  15. package/dist/esm/entities/EntityCache.d.ts +6 -4
  16. package/dist/esm/entities/EntityCache.js +18 -7
  17. package/dist/esm/entities/EntityCache.js.map +1 -1
  18. package/dist/esm/entities/EntityMetadata.d.ts +8 -2
  19. package/dist/esm/entities/EntityMetadata.js +52 -4
  20. package/dist/esm/entities/EntityMetadata.js.map +1 -1
  21. package/dist/esm/entities/EntityStore.d.ts +4 -4
  22. package/dist/esm/entities/EntityStore.js +8 -10
  23. package/dist/esm/entities/EntityStore.js.map +1 -1
  24. package/dist/esm/entities/OperationBatcher.d.ts +1 -1
  25. package/dist/esm/entities/OperationBatcher.js +2 -0
  26. package/dist/esm/entities/OperationBatcher.js.map +1 -1
  27. package/dist/esm/files/EntityFile.d.ts +6 -1
  28. package/dist/esm/files/EntityFile.js +11 -4
  29. package/dist/esm/files/EntityFile.js.map +1 -1
  30. package/dist/esm/files/FileManager.d.ts +3 -1
  31. package/dist/esm/files/FileManager.js +2 -2
  32. package/dist/esm/files/FileManager.js.map +1 -1
  33. package/dist/esm/utils/versions.js +1 -1
  34. package/package.json +2 -2
  35. package/src/__tests__/entities.test.ts +471 -5
  36. package/src/__tests__/fixtures/testStorage.ts +1 -1
  37. package/src/client/Client.ts +6 -1
  38. package/src/entities/Entity.test.ts +8 -7
  39. package/src/entities/Entity.ts +239 -29
  40. package/src/entities/EntityCache.ts +20 -10
  41. package/src/entities/EntityMetadata.ts +69 -9
  42. package/src/entities/EntityStore.ts +15 -12
  43. package/src/entities/OperationBatcher.ts +16 -2
  44. package/src/files/EntityFile.ts +16 -3
  45. package/src/files/FileManager.ts +7 -3
  46. package/src/utils/versions.ts +1 -1
@@ -1,9 +1,9 @@
1
+ import { NaiveTimestampProvider, PatchCreator, groupPatchesByOid, } from '@verdant-web/common';
1
2
  import { describe, expect, it, vi } from 'vitest';
2
- import { Entity } from './Entity.js';
3
- import { EntityFamilyMetadata } from './EntityMetadata.js';
4
3
  import { WeakEvent } from 'weak-event';
5
- import { NaiveTimestampProvider, PatchCreator, groupPatchesByOid, } from '@verdant-web/common';
6
4
  import { Time } from '../context/Time.js';
5
+ import { Entity } from './Entity.js';
6
+ import { EntityFamilyMetadata } from './EntityMetadata.js';
7
7
  describe('Entity', () => {
8
8
  const schema = {
9
9
  type: 'object',
@@ -54,6 +54,7 @@ describe('Entity', () => {
54
54
  log: vi.fn(),
55
55
  time: new Time(time, 1),
56
56
  patchCreator,
57
+ weakRef: (v) => new WeakRef(v),
57
58
  };
58
59
  const entity = new Entity({
59
60
  oid: 'test/1',
@@ -1 +1 @@
1
- {"version":3,"file":"Entity.test.js","sourceRoot":"","sources":["../../../src/entities/Entity.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EACN,sBAAsB,EACtB,YAAY,EACZ,iBAAiB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE1C,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACvB,MAAM,MAAM,GAAG;QACd,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACX,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;YAC3C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;YAC5C,QAAQ,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE;oBACX,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;oBACpE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;iBAC1C;aACD;YACD,WAAW,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACX,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;iBACpE;aACD;YACD,GAAG,EAAE;gBACJ,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE;oBACP,IAAI,EAAE,QAAQ;iBACd;aACD;YACD,IAAI,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACX,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBACzB;iBACD;aACD;SACD;KACQ,CAAC;IAEX,SAAS,gBAAgB,CAAC,EACzB,mBAAmB,GAAG,EAAE,CAAC,EAAE,EAAE,MACY,EAAE;QAC3C,MAAM,MAAM,GAAsB;YACjC,GAAG,EAAE,IAAI,SAAS,EAAE;YACpB,OAAO,EAAE,IAAI,SAAS,EAAE;YACxB,QAAQ,EAAE,IAAI,SAAS,EAAE;SACzB,CAAC;QACF,MAAM,IAAI,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAC1C,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,WAAW,GAAqB;YACrC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YACZ,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACvB,YAAY;SACZ,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;YACzB,GAAG,EAAE,QAAQ;YACb,MAAM;YACN,GAAG,EAAE,WAAsB;YAC3B,WAAW,EAAE,MAAM;YACnB,cAAc,EAAE,IAAI,oBAAoB,CAAC;gBACxC,GAAG,EAAE,WAAsB;gBAC3B,mBAAmB;gBACnB,OAAO,EAAE,QAAQ;aACjB,CAAC;YACF,KAAK,EAAE;gBACN,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;gBACZ,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;aACU;YACvB,YAAY,EAAE,CAAC,IAAI,CAAC;YACpB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;SACnB,CAAC,CAAC;QAEH,SAAS,UAAU,CAAC,IAAS;YAC5B,MAAM,MAAM,GAAG,YAAY,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC7D,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAW,EAAE;gBAClC,GAAG,EAAE,QAAQ;gBACb,UAAU;gBACV,OAAO,EAAE,KAAK;aACd,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAC/B,CAAC;IAED,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;YAC/E,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,EAAE,CAAC;YAElD,UAAU,CAAC;gBACV,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE;oBACT,gBAAgB;oBAChB,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;iBACvB;gBACD,WAAW,EAAE;oBACZ,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;iBACvB;gBACD,GAAG,EAAE,EAAE;gBACP,IAAI,EAAE,EAAE;aACR,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC;gBACpC,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE;oBACZ,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;iBACvB;gBACD,GAAG,EAAE,EAAE;gBACP,IAAI,EAAE,EAAE;aACR,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC9D,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,EAAE,CAAC;YAElD,UAAU,CAAC;gBACV,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE;oBACZ,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;iBACvB;gBACD,GAAG,EAAE,EAAE;gBACP,IAAI,EAAE,EAAE;aACR,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACpC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,EAAE,CAAC;YAElD,UAAU,CAAC;gBACV,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACxC,GAAG,EAAE,EAAE;gBACP,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;aAC5B,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC;gBACpC,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACxC,GAAG,EAAE,EAAE;gBACP,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;aACxB,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;YACnC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,EAAE,CAAC;YAElD,UAAU,CAAC;gBACV,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACxC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE;gBACvB,IAAI,EAAE,EAAE;aACR,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC;gBACpC,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACxC,GAAG,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE;gBACjB,IAAI,EAAE,EAAE;aACR,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC3C,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,EAAE,CAAC;YAElD,UAAU,CAAC;gBACV,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACxC,GAAG,EAAE,EAAE;gBACP,IAAI,EAAE,EAAE;aACR,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC;gBACpC,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACxC,GAAG,EAAE,EAAE;gBACP,IAAI,EAAE,EAAE;aACR,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACzD,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,EAAE,CAAC;YAElD,UAAU,CAAC;gBACV,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACxC,GAAG,EAAE,EAAE;gBACP,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;aAC5B,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC;gBACb,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,SAAS;aACjB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;QAC5C,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACtC,MAAM,mBAAmB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAEzE,UAAU,CAAC;gBACV,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACxC,GAAG,EAAE,EAAE;gBACP,IAAI,EAAE,EAAE;aACR,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;YACvC,MAAM,CAAC,mBAAmB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACrD,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAEvB,MAAM,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;YAE9C,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"Entity.test.js","sourceRoot":"","sources":["../../../src/entities/Entity.test.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,EACtB,YAAY,EACZ,iBAAiB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE1C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACvB,MAAM,MAAM,GAAG;QACd,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACX,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;YAC3C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC1B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;YAC5C,QAAQ,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE;oBACX,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;oBACpE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE;iBAC1C;aACD;YACD,WAAW,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACX,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;iBACpE;aACD;YACD,GAAG,EAAE;gBACJ,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE;oBACP,IAAI,EAAE,QAAQ;iBACd;aACD;YACD,IAAI,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACX,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBACzB;iBACD;aACD;SACD;KACQ,CAAC;IAEX,SAAS,gBAAgB,CAAC,EACzB,mBAAmB,GAAG,EAAE,CAAC,EAAE,EAAE,MACY,EAAE;QAC3C,MAAM,MAAM,GAAsB;YACjC,GAAG,EAAE,IAAI,SAAS,EAAE;YACpB,OAAO,EAAE,IAAI,SAAS,EAAE;YACxB,QAAQ,EAAE,IAAI,SAAS,EAAE;SACzB,CAAC;QACF,MAAM,IAAI,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAC1C,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,WAAW,GAAqB;YACrC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YACZ,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACvB,YAAY;YACZ,OAAO,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC;SACnC,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;YACzB,GAAG,EAAE,QAAQ;YACb,MAAM;YACN,GAAG,EAAE,WAAsB;YAC3B,WAAW,EAAE,MAAM;YACnB,cAAc,EAAE,IAAI,oBAAoB,CAAC;gBACxC,GAAG,EAAE,WAAsB;gBAC3B,mBAAmB;gBACnB,OAAO,EAAE,QAAQ;aACjB,CAAC;YACF,KAAK,EAAE;gBACN,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;gBACZ,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;aACU;YACvB,YAAY,EAAE,CAAC,IAAI,CAAC;YACpB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;SACnB,CAAC,CAAC;QAEH,SAAS,UAAU,CAAC,IAAS;YAC5B,MAAM,MAAM,GAAG,YAAY,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC7D,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAW,EAAE;gBAClC,GAAG,EAAE,QAAQ;gBACb,UAAU;gBACV,OAAO,EAAE,KAAK;aACd,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAC/B,CAAC;IAED,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;YAC/E,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,EAAE,CAAC;YAElD,UAAU,CAAC;gBACV,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE;oBACT,gBAAgB;oBAChB,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;iBACvB;gBACD,WAAW,EAAE;oBACZ,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;iBACvB;gBACD,GAAG,EAAE,EAAE;gBACP,IAAI,EAAE,EAAE;aACR,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC;gBACpC,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE;oBACZ,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;iBACvB;gBACD,GAAG,EAAE,EAAE;gBACP,IAAI,EAAE,EAAE;aACR,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC9D,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,EAAE,CAAC;YAElD,UAAU,CAAC;gBACV,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE;oBACZ,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;iBACvB;gBACD,GAAG,EAAE,EAAE;gBACP,IAAI,EAAE,EAAE;aACR,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACpC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,EAAE,CAAC;YAElD,UAAU,CAAC;gBACV,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACxC,GAAG,EAAE,EAAE;gBACP,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;aAC5B,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC;gBACpC,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACxC,GAAG,EAAE,EAAE;gBACP,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;aACxB,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;YACnC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,EAAE,CAAC;YAElD,UAAU,CAAC;gBACV,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACxC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE;gBACvB,IAAI,EAAE,EAAE;aACR,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC;gBACpC,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACxC,GAAG,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE;gBACjB,IAAI,EAAE,EAAE;aACR,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC3C,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,EAAE,CAAC;YAElD,UAAU,CAAC;gBACV,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,OAAO;gBACf,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACxC,GAAG,EAAE,EAAE;gBACP,IAAI,EAAE,EAAE;aACR,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC;gBACpC,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACxC,GAAG,EAAE,EAAE;gBACP,IAAI,EAAE,EAAE;aACR,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACzD,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,EAAE,CAAC;YAElD,UAAU,CAAC;gBACV,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACxC,GAAG,EAAE,EAAE;gBACP,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;aAC5B,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC;gBACb,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,SAAS;aACjB,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;QAC5C,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACtC,MAAM,mBAAmB,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAAC,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAEzE,UAAU,CAAC;gBACV,EAAE,EAAE,IAAI;gBACR,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACxC,GAAG,EAAE,EAAE;gBACP,IAAI,EAAE,EAAE;aACR,CAAC,CAAC;YAEH,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;YACvC,MAAM,CAAC,mBAAmB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACrD,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAEvB,MAAM,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;YAE9C,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,12 +1,14 @@
1
- import { Entity, EntityInit } from './Entity.js';
2
- import { EntityFile } from '../files/EntityFile.js';
3
1
  import { ObjectIdentifier } from '@verdant-web/common';
2
+ import { Context } from '../internal.js';
3
+ import { Entity, EntityInit } from './Entity.js';
4
4
  export declare class EntityCache {
5
+ private ctx;
5
6
  private cache;
6
- constructor({ initial }?: {
7
+ constructor({ initial, ctx }: {
7
8
  initial?: Entity[];
9
+ ctx: Context;
8
10
  });
9
11
  get: (init: EntityInit) => Entity;
10
12
  has: (oid: ObjectIdentifier) => boolean;
11
- getCached: (oid: string) => Entity<any, any, any> | EntityFile | undefined;
13
+ getCached: (oid: string) => Entity<any, any, any> | null;
12
14
  }
@@ -1,24 +1,35 @@
1
1
  import { Entity } from './Entity.js';
2
2
  export class EntityCache {
3
- constructor({ initial } = {}) {
3
+ constructor({ initial, ctx }) {
4
4
  this.cache = new Map();
5
5
  this.get = (init) => {
6
- if (this.cache.has(init.oid)) {
7
- return this.cache.get(init.oid);
8
- }
6
+ const cached = this.getCached(init.oid);
7
+ if (cached)
8
+ return cached;
9
9
  const entity = new Entity(init);
10
- this.cache.set(init.oid, entity);
10
+ this.cache.set(init.oid, this.ctx.weakRef(entity));
11
11
  return entity;
12
12
  };
13
13
  this.has = (oid) => {
14
14
  return this.cache.has(oid);
15
15
  };
16
16
  this.getCached = (oid) => {
17
- return this.cache.get(oid);
17
+ if (this.cache.has(oid)) {
18
+ const ref = this.cache.get(oid);
19
+ const derefed = ref === null || ref === void 0 ? void 0 : ref.deref();
20
+ if (derefed) {
21
+ return derefed;
22
+ }
23
+ else {
24
+ this.cache.delete(oid);
25
+ }
26
+ }
27
+ return null;
18
28
  };
29
+ this.ctx = ctx;
19
30
  if (initial) {
20
31
  for (const entity of initial) {
21
- this.cache.set(entity.oid, entity);
32
+ this.cache.set(entity.oid, ctx.weakRef(entity));
22
33
  }
23
34
  }
24
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EntityCache.js","sourceRoot":"","sources":["../../../src/entities/EntityCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAc,MAAM,aAAa,CAAC;AAIjD,MAAM,OAAO,WAAW;IAGvB,YAAY,EAAE,OAAO,KAA6B,EAAE;QAF5C,UAAK,GAAG,IAAI,GAAG,EAA+B,CAAC;QAUvD,QAAG,GAAG,CAAC,IAAgB,EAAU,EAAE;YAClC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAY,CAAC;YAC5C,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACjC,OAAO,MAAM,CAAC;QACf,CAAC,CAAC;QAEF,QAAG,GAAG,CAAC,GAAqB,EAAE,EAAE;YAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEF,cAAS,GAAG,CAAC,GAAW,EAAE,EAAE;YAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC,CAAC;QAtBD,IAAI,OAAO,EAAE,CAAC;YACb,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACpC,CAAC;QACF,CAAC;IACF,CAAC;CAkBD"}
1
+ {"version":3,"file":"EntityCache.js","sourceRoot":"","sources":["../../../src/entities/EntityCache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAc,MAAM,aAAa,CAAC;AAEjD,MAAM,OAAO,WAAW;IAIvB,YAAY,EAAE,OAAO,EAAE,GAAG,EAAwC;QAF1D,UAAK,GAAG,IAAI,GAAG,EAA2B,CAAC;QAWnD,QAAG,GAAG,CAAC,IAAgB,EAAU,EAAE;YAClC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAC1B,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YACnD,OAAO,MAAM,CAAC;QACf,CAAC,CAAC;QAEF,QAAG,GAAG,CAAC,GAAqB,EAAE,EAAE;YAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEF,cAAS,GAAG,CAAC,GAAW,EAAE,EAAE;YAC3B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAChC,MAAM,OAAO,GAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,EAAE,CAAC;gBAC7B,IAAI,OAAO,EAAE,CAAC;oBACb,OAAO,OAAiB,CAAC;gBAC1B,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACxB,CAAC;YACF,CAAC;YACD,OAAO,IAAI,CAAC;QACb,CAAC,CAAC;QA/BD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,OAAO,EAAE,CAAC;YACb,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YACjD,CAAC;QACF,CAAC;IACF,CAAC;CA0BD"}
@@ -1,4 +1,4 @@
1
- import { DocumentBaseline, ObjectIdentifier, Operation } from '@verdant-web/common';
1
+ import { AuthorizationKey, DocumentBaseline, ObjectIdentifier, Operation } from '@verdant-web/common';
2
2
  import { Context } from '../context/context.js';
3
3
  import { EntityChange } from './types.js';
4
4
  export type EntityMetadataView = {
@@ -8,12 +8,13 @@ export type EntityMetadataView = {
8
8
  empty: boolean;
9
9
  updatedAt: number;
10
10
  latestTimestamp: string | null;
11
- authz?: string;
11
+ authz?: AuthorizationKey;
12
12
  };
13
13
  export declare class EntityMetadata {
14
14
  private ctx;
15
15
  private baseline;
16
16
  private confirmedOperations;
17
+ private ephemeralOperations?;
17
18
  private pendingOperations;
18
19
  readonly oid: string;
19
20
  constructor({ oid, ctx, confirmedOperations, pendingOperations, baseline, }: {
@@ -33,6 +34,8 @@ export declare class EntityMetadata {
33
34
  */
34
35
  addConfirmedOperations: (operations: Operation[]) => number;
35
36
  addPendingOperation: (operation: Operation) => void;
37
+ addEphemeralOperation: (operation: Operation) => void;
38
+ clearEphemeralOperations: () => Operation[] | undefined;
36
39
  discardPendingOperation: (operation: Operation) => void;
37
40
  private applyOperations;
38
41
  }
@@ -64,6 +67,9 @@ export declare class EntityFamilyMetadata {
64
67
  * local changes are usually handled, as a list.
65
68
  */
66
69
  addPendingData: (operations: Operation[]) => EntityChange[];
70
+ private ephemeralMemo;
71
+ private flushAllEphemeral;
72
+ addEphemeralData: (operations: Operation[]) => EntityChange[];
67
73
  replaceAllData: ({ operations, baselines, }: {
68
74
  operations?: Record<ObjectIdentifier, Operation[]>;
69
75
  baselines?: DocumentBaseline[];
@@ -4,6 +4,14 @@ export class EntityMetadata {
4
4
  this.baseline = null;
5
5
  // these must be kept in timestamp order.
6
6
  this.confirmedOperations = [];
7
+ // operations applied locally, but not sent to persistence
8
+ // until 'committed' by pending operations. this powers the
9
+ // self-healing pruning system, which injects these ephemeral
10
+ // operations to materialize pruned 'fixed' data in place of
11
+ // 'real' invalid data so the user can keep using the app. as
12
+ // soon as the user makes modifications to the entity, this
13
+ // ephemeral pruned data is applied underneath it.
14
+ this.ephemeralOperations = [];
7
15
  this.pendingOperations = [];
8
16
  /**
9
17
  * Compute the current view of the entity.
@@ -33,13 +41,16 @@ export class EntityMetadata {
33
41
  if (confirmedResult.authz) {
34
42
  authz = confirmedResult.authz;
35
43
  }
44
+ const ephemeralResult = !this.ephemeralOperations || omitPending
45
+ ? confirmedResult
46
+ : this.applyOperations(confirmedResult.view, confirmedResult.deleted, this.ephemeralOperations, confirmedResult.latestTimestamp, null);
36
47
  const pendingResult = omitPending
37
48
  ? confirmedResult
38
- : this.applyOperations(confirmedResult.view, confirmedResult.deleted,
49
+ : this.applyOperations(ephemeralResult.view, ephemeralResult.deleted,
39
50
  // now we're applying pending operations
40
51
  this.pendingOperations,
41
52
  // keep our latest timestamp up to date
42
- confirmedResult.latestTimestamp,
53
+ ephemeralResult.latestTimestamp,
43
54
  // we don't use after for pending ops, they're all
44
55
  // logically in the future
45
56
  null);
@@ -120,10 +131,19 @@ export class EntityMetadata {
120
131
  return totalAdded;
121
132
  };
122
133
  this.addPendingOperation = (operation) => {
123
- // check to see if new operation supersedes the previous one
124
- // we can assume pending ops are always newer
125
134
  this.pendingOperations.push(operation);
126
135
  };
136
+ this.addEphemeralOperation = (operation) => {
137
+ if (!this.ephemeralOperations) {
138
+ this.ephemeralOperations = [];
139
+ }
140
+ this.ephemeralOperations.push(operation);
141
+ };
142
+ this.clearEphemeralOperations = () => {
143
+ const old = this.ephemeralOperations;
144
+ this.ephemeralOperations = [];
145
+ return old;
146
+ };
127
147
  this.discardPendingOperation = (operation) => {
128
148
  this.pendingOperations = this.pendingOperations.filter((op) => op.timestamp !== operation.timestamp);
129
149
  };
@@ -233,6 +253,9 @@ export class EntityFamilyMetadata {
233
253
  this.addPendingData = (operations) => {
234
254
  var _a;
235
255
  var _b;
256
+ // when pending data is applied, we go ahead and
257
+ // write all ephemeral changes first.
258
+ this.flushAllEphemeral();
236
259
  const changes = {};
237
260
  for (const op of operations) {
238
261
  this.get(op.oid).addPendingOperation(op);
@@ -241,6 +264,31 @@ export class EntityFamilyMetadata {
241
264
  this.onPendingOperations(operations);
242
265
  return Object.values(changes);
243
266
  };
267
+ this.ephemeralMemo = new Array();
268
+ this.flushAllEphemeral = () => {
269
+ for (const ent of this.entities.values()) {
270
+ const ops = ent.clearEphemeralOperations();
271
+ if (ops) {
272
+ this.ephemeralMemo.push(...ops);
273
+ }
274
+ }
275
+ if (this.ephemeralMemo.length) {
276
+ const ephemeralCopy = this.ephemeralMemo.slice();
277
+ // must clear this first to avoid infinite recursion
278
+ this.ephemeralMemo.length = 0;
279
+ this.addPendingData(ephemeralCopy);
280
+ }
281
+ };
282
+ this.addEphemeralData = (operations) => {
283
+ var _a;
284
+ var _b;
285
+ const changes = {};
286
+ for (const op of operations) {
287
+ this.get(op.oid).addEphemeralOperation(op);
288
+ (_a = changes[_b = op.oid]) !== null && _a !== void 0 ? _a : (changes[_b] = { oid: op.oid, isLocal: true });
289
+ }
290
+ return Object.values(changes);
291
+ };
244
292
  this.replaceAllData = ({ operations = {}, baselines = [], }) => {
245
293
  var _a, _b;
246
294
  var _c;
@@ -1 +1 @@
1
- {"version":3,"file":"EntityMetadata.js","sourceRoot":"","sources":["../../../src/entities/EntityMetadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityMetadata.js","sourceRoot":"","sources":["../../../src/entities/EntityMetadata.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { DocumentBaseline, ObjectIdentifier, Operation, AuthorizationKey } from '@verdant-web/common';
1
+ import { AuthorizationKey, DocumentBaseline, ObjectIdentifier, Operation } from '@verdant-web/common';
2
+ import { WeakEvent } from 'weak-event';
2
3
  import { Context } from '../context/context.js';
3
- import { Entity } from './Entity.js';
4
- import { Disposable } from '../utils/Disposable.js';
5
4
  import { FileManager } from '../files/FileManager.js';
6
- import { WeakEvent } from 'weak-event';
5
+ import { Disposable } from '../utils/Disposable.js';
6
+ import { Entity } from './Entity.js';
7
7
  export type EntityStoreEventData = {
8
8
  oid: ObjectIdentifier;
9
9
  operations?: Record<string, Operation[]>;
@@ -1,10 +1,10 @@
1
1
  import { assert, assignOid, decomposeOid, getOidRoot, groupBaselinesByRootOid, groupPatchesByOid, groupPatchesByRootOid, isRootOid, removeOidsFromAllSubObjects, } from '@verdant-web/common';
2
- import { Entity } from './Entity.js';
2
+ import { WeakEvent } from 'weak-event';
3
+ import { processValueFiles } from '../files/utils.js';
3
4
  import { Disposable } from '../utils/Disposable.js';
5
+ import { Entity } from './Entity.js';
4
6
  import { EntityFamilyMetadata } from './EntityMetadata.js';
5
7
  import { OperationBatcher } from './OperationBatcher.js';
6
- import { WeakEvent } from 'weak-event';
7
- import { processValueFiles } from '../files/utils.js';
8
8
  var AbortReason;
9
9
  (function (AbortReason) {
10
10
  AbortReason[AbortReason["Reset"] = 0] = "Reset";
@@ -218,19 +218,17 @@ export class EntityStore extends Disposable {
218
218
  // remove any OID associations from the initial data
219
219
  removeOidsFromAllSubObjects(initial);
220
220
  // grab files and replace them with refs
221
- const processed = processValueFiles(initial, this.files.add);
221
+ const fileRefs = [];
222
+ const processed = processValueFiles(initial, fileRefs.push.bind(fileRefs));
222
223
  assignOid(processed, oid);
223
224
  // creating a new Entity with no data, then preloading the operations
224
225
  const entity = this.constructEntity(oid);
225
226
  if (!entity) {
226
227
  throw new Error(`Could not put new document: no schema exists for collection ${collection}`);
227
228
  }
228
- const operations = this.ctx.patchCreator.createInitialize(processed, oid);
229
- if (access) {
230
- operations.forEach((op) => {
231
- op.authz = access;
232
- });
233
- }
229
+ // add files with entity as parent
230
+ fileRefs.forEach((file) => this.files.add(file, entity));
231
+ const operations = this.ctx.patchCreator.createInitialize(processed, oid, access);
234
232
  await this.batcher.commitOperations(operations, {
235
233
  undoable: !!undoable,
236
234
  source: entity,
@@ -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,7 +1,7 @@
1
1
  import { Operation } from '@verdant-web/common';
2
2
  import { Context } from '../context/context.js';
3
- import type { EntityStore } from './EntityStore.js';
4
3
  import { Entity } from './Entity.js';
4
+ import type { EntityStore } from './EntityStore.js';
5
5
  export interface OperationBatch {
6
6
  run: (fn: () => void) => this;
7
7
  /** @deprecated - use commit() */
@@ -143,11 +143,13 @@ export class OperationBatcher {
143
143
  const redo = await this.createUndo({
144
144
  ops: inverseOps,
145
145
  source: data.source,
146
+ isRedo: true,
146
147
  });
147
148
  // set time to now for all undo operations, they're happening now.
148
149
  for (const op of inverseOps) {
149
150
  op.timestamp = this.ctx.time.now;
150
151
  }
152
+ this.ctx.log('debug', data.isRedo ? 'Redo' : 'Undo', inverseOps, '\n was \n', data.ops);
151
153
  await this.commitOperations(inverseOps,
152
154
  // undos should not generate their own undo operations
153
155
  // since they already calculate redo as the inverse.
@@ -1 +1 @@
1
- {"version":3,"file":"OperationBatcher.js","sourceRoot":"","sources":["../../../src/entities/OperationBatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OperationBatcher.js","sourceRoot":"","sources":["../../../src/entities/OperationBatcher.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import { EventSubscriber, FileData } from '@verdant-web/common';
2
2
  import { Context } from '../context/context.js';
3
+ import { Entity } from '../entities/Entity.js';
3
4
  export type EntityFileEvents = {
4
5
  change: () => void;
5
6
  };
6
7
  export declare const UPDATE: unique symbol;
7
8
  export declare const MARK_FAILED: unique symbol;
9
+ export declare const CHILD_FILE_CHANGED: unique symbol;
8
10
  export type EntityFileSnapshot = {
9
11
  id: string;
10
12
  url?: string | null;
@@ -23,13 +25,16 @@ export declare class EntityFile extends EventSubscriber<EntityFileEvents> {
23
25
  private _uploaded;
24
26
  private ctx;
25
27
  private unsubscribes;
26
- constructor(id: string, { downloadRemote, ctx, }: {
28
+ private parent;
29
+ constructor(id: string, { downloadRemote, ctx, parent, }: {
27
30
  downloadRemote?: boolean;
28
31
  ctx: Context;
32
+ parent: Entity;
29
33
  });
30
34
  get downloadRemote(): boolean;
31
35
  get isFile(): boolean;
32
36
  get isUploaded(): boolean;
37
+ private emitChange;
33
38
  [UPDATE]: (fileData: FileData) => void;
34
39
  [MARK_FAILED]: () => void;
35
40
  private onUploaded;
@@ -2,12 +2,14 @@ var _a, _b;
2
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');
5
7
  /**
6
8
  * Provides a consistent interface for files used in an app via
7
9
  * Entity access.
8
10
  */
9
11
  export class EntityFile extends EventSubscriber {
10
- constructor(id, { downloadRemote = false, ctx, }) {
12
+ constructor(id, { downloadRemote = false, ctx, parent, }) {
11
13
  super();
12
14
  this.id = id;
13
15
  // cached object URL for a local blob file, if applicable
@@ -30,12 +32,12 @@ export class EntityFile extends EventSubscriber {
30
32
  this.ctx.log('debug', 'Creating object URL for file', this.id);
31
33
  this._objectUrl = URL.createObjectURL(fileData.file);
32
34
  }
33
- this.emit('change');
35
+ this.emitChange();
34
36
  };
35
37
  this[_b] = () => {
36
38
  this._failed = true;
37
39
  this._loading = false;
38
- this.emit('change');
40
+ this.emitChange();
39
41
  };
40
42
  this.onUploaded = (data) => {
41
43
  var _c;
@@ -43,7 +45,7 @@ export class EntityFile extends EventSubscriber {
43
45
  (_c = this._fileData) !== null && _c !== void 0 ? _c : (this._fileData = data);
44
46
  this._uploaded = true;
45
47
  this.ctx.log('debug', 'File marked uploaded', this.id, this._fileData);
46
- this.emit('change');
48
+ this.emitChange();
47
49
  };
48
50
  this.destroy = () => {
49
51
  if (this._objectUrl) {
@@ -52,6 +54,7 @@ export class EntityFile extends EventSubscriber {
52
54
  this.dispose();
53
55
  };
54
56
  this.ctx = ctx;
57
+ this.parent = parent;
55
58
  this._downloadRemote = downloadRemote;
56
59
  this.unsubscribes.push(this.ctx.internalEvents.subscribe(`fileUploaded:${id}`, this.onUploaded));
57
60
  }
@@ -65,6 +68,10 @@ export class EntityFile extends EventSubscriber {
65
68
  var _c;
66
69
  return this._uploaded || ((_c = this._fileData) === null || _c === void 0 ? void 0 : _c.remote) || false;
67
70
  }
71
+ emitChange() {
72
+ this.parent[CHILD_FILE_CHANGED](this);
73
+ this.emit('change');
74
+ }
68
75
  get url() {
69
76
  var _c, _d;
70
77
  // prefer local file representations.
@@ -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,5 +1,6 @@
1
1
  import { FileData } from '@verdant-web/common';
2
2
  import { Context } from '../context/context.js';
3
+ import { Entity } from '../entities/Entity.js';
3
4
  import { Disposable } from '../internal.js';
4
5
  import { Sync } from '../sync/Sync.js';
5
6
  import { EntityFile } from './EntityFile.js';
@@ -11,7 +12,7 @@ export declare class FileManager extends Disposable {
11
12
  sync: Sync;
12
13
  context: Context;
13
14
  });
14
- add: (file: FileData) => Promise<void>;
15
+ add: (file: FileData, parent: Entity) => Promise<void>;
15
16
  /**
16
17
  * Immediately returns an EntityFile to use, then either loads
17
18
  * the file from cache, local database, or the server.
@@ -19,6 +20,7 @@ export declare class FileManager extends Disposable {
19
20
  get: (id: string, options: {
20
21
  downloadRemote?: boolean;
21
22
  ctx: Context;
23
+ parent: Entity;
22
24
  }) => EntityFile;
23
25
  private load;
24
26
  private onFileUploaded;