@verdant-web/store 3.0.0-next.0 → 3.0.1

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 (134) hide show
  1. package/dist/bundle/index.js +1 -1
  2. package/dist/bundle/index.js.map +4 -4
  3. package/dist/cjs/DocumentManager.d.ts +5 -6
  4. package/dist/cjs/DocumentManager.js +2 -2
  5. package/dist/cjs/DocumentManager.js.map +1 -1
  6. package/dist/cjs/client/Client.d.ts +3 -2
  7. package/dist/cjs/client/Client.js +1 -1
  8. package/dist/cjs/client/Client.js.map +1 -1
  9. package/dist/cjs/entities/Entity.d.ts +106 -171
  10. package/dist/cjs/entities/Entity.js +558 -383
  11. package/dist/cjs/entities/Entity.js.map +1 -1
  12. package/dist/cjs/entities/Entity.test.js.map +1 -0
  13. package/dist/cjs/entities/{2/EntityCache.d.ts → EntityCache.d.ts} +1 -1
  14. package/dist/cjs/entities/{2/EntityCache.js → EntityCache.js} +1 -1
  15. package/dist/cjs/entities/EntityCache.js.map +1 -0
  16. package/dist/{esm/entities/2 → cjs/entities}/EntityMetadata.d.ts +1 -1
  17. package/dist/cjs/entities/EntityMetadata.js.map +1 -0
  18. package/dist/cjs/entities/EntityStore.d.ts +63 -68
  19. package/dist/cjs/entities/EntityStore.js +296 -424
  20. package/dist/cjs/entities/EntityStore.js.map +1 -1
  21. package/dist/{esm/entities/2 → cjs/entities}/OperationBatcher.d.ts +2 -2
  22. package/dist/cjs/entities/OperationBatcher.js.map +1 -0
  23. package/dist/cjs/entities/{2/types.js.map → types.js.map} +1 -1
  24. package/dist/cjs/files/EntityFile.d.ts +5 -4
  25. package/dist/cjs/files/EntityFile.js.map +1 -1
  26. package/dist/cjs/index.d.ts +3 -3
  27. package/dist/cjs/index.js +1 -1
  28. package/dist/cjs/index.js.map +1 -1
  29. package/dist/cjs/queries/BaseQuery.js +1 -1
  30. package/dist/cjs/queries/BaseQuery.js.map +1 -1
  31. package/dist/cjs/queries/CollectionQueries.d.ts +4 -2
  32. package/dist/cjs/queries/utils.js +1 -1
  33. package/dist/cjs/queries/utils.js.map +1 -1
  34. package/dist/esm/DocumentManager.d.ts +5 -6
  35. package/dist/esm/DocumentManager.js +2 -2
  36. package/dist/esm/DocumentManager.js.map +1 -1
  37. package/dist/esm/client/Client.d.ts +3 -2
  38. package/dist/esm/client/Client.js +1 -1
  39. package/dist/esm/client/Client.js.map +1 -1
  40. package/dist/esm/entities/Entity.d.ts +106 -171
  41. package/dist/esm/entities/Entity.js +559 -383
  42. package/dist/esm/entities/Entity.js.map +1 -1
  43. package/dist/esm/entities/Entity.test.js.map +1 -0
  44. package/dist/esm/entities/{2/EntityCache.d.ts → EntityCache.d.ts} +1 -1
  45. package/dist/esm/entities/{2/EntityCache.js → EntityCache.js} +1 -1
  46. package/dist/esm/entities/EntityCache.js.map +1 -0
  47. package/dist/{cjs/entities/2 → esm/entities}/EntityMetadata.d.ts +1 -1
  48. package/dist/esm/entities/EntityMetadata.js.map +1 -0
  49. package/dist/esm/entities/EntityStore.d.ts +63 -68
  50. package/dist/esm/entities/EntityStore.js +297 -425
  51. package/dist/esm/entities/EntityStore.js.map +1 -1
  52. package/dist/{cjs/entities/2 → esm/entities}/OperationBatcher.d.ts +2 -2
  53. package/dist/esm/entities/OperationBatcher.js.map +1 -0
  54. package/dist/esm/entities/{2/types.js.map → types.js.map} +1 -1
  55. package/dist/esm/files/EntityFile.d.ts +5 -4
  56. package/dist/esm/files/EntityFile.js.map +1 -1
  57. package/dist/esm/index.d.ts +3 -3
  58. package/dist/esm/index.js +1 -1
  59. package/dist/esm/index.js.map +1 -1
  60. package/dist/esm/queries/BaseQuery.js +1 -1
  61. package/dist/esm/queries/BaseQuery.js.map +1 -1
  62. package/dist/esm/queries/CollectionQueries.d.ts +4 -2
  63. package/dist/esm/queries/utils.js +1 -1
  64. package/dist/esm/queries/utils.js.map +1 -1
  65. package/dist/tsconfig-cjs.tsbuildinfo +1 -1
  66. package/dist/tsconfig.tsbuildinfo +1 -1
  67. package/package.json +2 -2
  68. package/src/DocumentManager.ts +7 -3
  69. package/src/__tests__/batching.test.ts +1 -1
  70. package/src/client/Client.ts +1 -1
  71. package/src/entities/{2/Entity.test.ts → Entity.test.ts} +2 -2
  72. package/src/entities/{2/Entity.ts → Entity.ts} +4 -4
  73. package/src/entities/{2/EntityCache.ts → EntityCache.ts} +1 -1
  74. package/src/entities/{2/EntityMetadata.ts → EntityMetadata.ts} +1 -1
  75. package/src/entities/{2/EntityStore.ts → EntityStore.ts} +12 -8
  76. package/src/entities/{2/OperationBatcher.ts → OperationBatcher.ts} +2 -2
  77. package/src/files/EntityFile.ts +6 -1
  78. package/src/index.ts +3 -3
  79. package/src/queries/BaseQuery.ts +1 -1
  80. package/src/queries/CollectionQueries.ts +2 -2
  81. package/src/queries/utils.ts +1 -1
  82. package/dist/cjs/entities/2/Entity.d.ts +0 -148
  83. package/dist/cjs/entities/2/Entity.js +0 -711
  84. package/dist/cjs/entities/2/Entity.js.map +0 -1
  85. package/dist/cjs/entities/2/Entity.test.js.map +0 -1
  86. package/dist/cjs/entities/2/EntityCache.js.map +0 -1
  87. package/dist/cjs/entities/2/EntityMetadata.js.map +0 -1
  88. package/dist/cjs/entities/2/EntityStore.d.ts +0 -78
  89. package/dist/cjs/entities/2/EntityStore.js +0 -352
  90. package/dist/cjs/entities/2/EntityStore.js.map +0 -1
  91. package/dist/cjs/entities/2/OperationBatcher.js.map +0 -1
  92. package/dist/cjs/entities/DocumentFamiliyCache.d.ts +0 -96
  93. package/dist/cjs/entities/DocumentFamiliyCache.js +0 -287
  94. package/dist/cjs/entities/DocumentFamiliyCache.js.map +0 -1
  95. package/dist/cjs/entities/FakeWeakRef.d.ts +0 -11
  96. package/dist/cjs/entities/FakeWeakRef.js +0 -19
  97. package/dist/cjs/entities/FakeWeakRef.js.map +0 -1
  98. package/dist/cjs/indexes.d.ts +0 -3
  99. package/dist/cjs/indexes.js +0 -20
  100. package/dist/cjs/indexes.js.map +0 -1
  101. package/dist/esm/entities/2/Entity.d.ts +0 -148
  102. package/dist/esm/entities/2/Entity.js +0 -707
  103. package/dist/esm/entities/2/Entity.js.map +0 -1
  104. package/dist/esm/entities/2/Entity.test.js.map +0 -1
  105. package/dist/esm/entities/2/EntityCache.js.map +0 -1
  106. package/dist/esm/entities/2/EntityMetadata.js.map +0 -1
  107. package/dist/esm/entities/2/EntityStore.d.ts +0 -78
  108. package/dist/esm/entities/2/EntityStore.js +0 -348
  109. package/dist/esm/entities/2/EntityStore.js.map +0 -1
  110. package/dist/esm/entities/2/OperationBatcher.js.map +0 -1
  111. package/dist/esm/entities/DocumentFamiliyCache.d.ts +0 -96
  112. package/dist/esm/entities/DocumentFamiliyCache.js +0 -283
  113. package/dist/esm/entities/DocumentFamiliyCache.js.map +0 -1
  114. package/dist/esm/entities/FakeWeakRef.d.ts +0 -11
  115. package/dist/esm/entities/FakeWeakRef.js +0 -15
  116. package/dist/esm/entities/FakeWeakRef.js.map +0 -1
  117. package/dist/esm/indexes.d.ts +0 -3
  118. package/dist/esm/indexes.js +0 -15
  119. package/dist/esm/indexes.js.map +0 -1
  120. package/src/entities/2/NOTES.md +0 -22
  121. package/src/entities/design.tldr +0 -808
  122. /package/dist/cjs/entities/{2/Entity.test.d.ts → Entity.test.d.ts} +0 -0
  123. /package/dist/cjs/entities/{2/Entity.test.js → Entity.test.js} +0 -0
  124. /package/dist/cjs/entities/{2/EntityMetadata.js → EntityMetadata.js} +0 -0
  125. /package/dist/cjs/entities/{2/OperationBatcher.js → OperationBatcher.js} +0 -0
  126. /package/dist/cjs/entities/{2/types.d.ts → types.d.ts} +0 -0
  127. /package/dist/cjs/entities/{2/types.js → types.js} +0 -0
  128. /package/dist/esm/entities/{2/Entity.test.d.ts → Entity.test.d.ts} +0 -0
  129. /package/dist/esm/entities/{2/Entity.test.js → Entity.test.js} +0 -0
  130. /package/dist/esm/entities/{2/EntityMetadata.js → EntityMetadata.js} +0 -0
  131. /package/dist/esm/entities/{2/OperationBatcher.js → OperationBatcher.js} +0 -0
  132. /package/dist/esm/entities/{2/types.d.ts → types.d.ts} +0 -0
  133. /package/dist/esm/entities/{2/types.js → types.js} +0 -0
  134. /package/src/entities/{2/types.ts → types.ts} +0 -0
@@ -1,5 +1,5 @@
1
1
  import { StorageSchema } from '@verdant-web/common';
2
- import { EntityStore } from './entities/2/EntityStore.js';
2
+ import { EntityStore } from './entities/EntityStore.js';
3
3
  import { Metadata } from './metadata/Metadata.js';
4
4
  /**
5
5
  * Exposes functionality for creating documents,
@@ -13,14 +13,13 @@ export declare class DocumentManager<Schema extends StorageSchema<any>> {
13
13
  constructor(meta: Metadata, schema: Schema, entities: EntityStore);
14
14
  private getOid;
15
15
  private addDefaults;
16
- create: (collection: string, init: any) => any;
16
+ create: (collection: string, init: any, options?: {
17
+ undoable?: boolean;
18
+ }) => any;
17
19
  delete: (collection: string, primaryKey: string, options?: {
18
20
  undoable?: boolean;
19
21
  }) => Promise<void>;
20
- deleteAll: (ids: [
21
- string,
22
- string
23
- ][], options?: {
22
+ deleteAll: (ids: [string, string][], options?: {
24
23
  undoable?: boolean;
25
24
  }) => Promise<void>;
26
25
  deleteAllFromCollection: (collection: string, ids: string[], options?: {
@@ -23,11 +23,11 @@ class DocumentManager {
23
23
  const collection = this.schema.collections[collectionName];
24
24
  return (0, common_1.addFieldDefaults)(collection, init);
25
25
  };
26
- this.create = (collection, init) => {
26
+ this.create = (collection, init, options = {}) => {
27
27
  const defaulted = this.addDefaults(collection, init);
28
28
  const oid = this.getOid(collection, defaulted);
29
29
  // documents are always objects at the root
30
- return this.entities.create(defaulted, oid);
30
+ return this.entities.create(defaulted, oid, options);
31
31
  };
32
32
  this.delete = async (collection, primaryKey, options = {}) => {
33
33
  const oid = (0, common_1.createOid)(collection, primaryKey);
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentManager.js","sourceRoot":"","sources":["../../src/DocumentManager.ts"],"names":[],"mappings":";;;AAAA,gDAQ6B;AAI7B;;;;GAIG;AACH,MAAa,eAAe;IAC3B,YACS,IAAc,EACd,MAAc,EACd,QAAqB;QAFrB,SAAI,GAAJ,IAAI,CAAU;QACd,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAa;QAGtB,WAAM,GAAG,CAAC,UAAkB,EAAE,IAAS,EAAE,EAAE;YAClD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC;iBACxD,UAGD,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;YACxC,IAAA,eAAM,EACL,UAAU,EACV,qCAAqC,cAAc,CAAC,QAAQ,EAAE,UAAU,IAAI,CAAC,SAAS,CACrF,IAAI,CACJ,GAAG,CACJ,CAAC;YACF,OAAO,IAAA,kBAAS,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC,CAAC;QAEM,gBAAW,GAAG,CAAC,cAAsB,EAAE,IAAS,EAAE,EAAE;YAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CACzC,cAAc,CACa,CAAC;YAC7B,OAAO,IAAA,yBAAgB,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC,CAAC;QAEF,WAAM,GAAG,CAAC,UAAkB,EAAE,IAAS,EAAE,EAAE;YAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACrD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAC/C,2CAA2C;YAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAQ,CAAC;QACpD,CAAC,CAAC;QAEF,WAAM,GAAG,KAAK,EACb,UAAkB,EAClB,UAAkB,EAClB,UAAkC,EAAE,EACnC,EAAE;YACH,MAAM,GAAG,GAAG,IAAA,kBAAS,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC,CAAC;QAEF,cAAS,GAAG,KAAK,EAChB,GAAuB,EACvB,UAAkC,EAAE,EACnC,EAAE;YACH,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC7B,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,IAAA,kBAAS,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC,EACxE,OAAO,CACP,CAAC;QACH,CAAC,CAAC;QAEF,4BAAuB,GAAG,KAAK,EAC9B,UAAkB,EAClB,GAAa,EACb,UAAkC,EAAE,EACnC,EAAE;YACH,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC7B,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAA,kBAAS,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC,EAC1D,OAAO,CACP,CAAC;QACH,CAAC,CAAC;IA5DC,CAAC;CA6DJ;AAlED,0CAkEC"}
1
+ {"version":3,"file":"DocumentManager.js","sourceRoot":"","sources":["../../src/DocumentManager.ts"],"names":[],"mappings":";;;AAAA,gDAQ6B;AAI7B;;;;GAIG;AACH,MAAa,eAAe;IAC3B,YACS,IAAc,EACd,MAAc,EACd,QAAqB;QAFrB,SAAI,GAAJ,IAAI,CAAU;QACd,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAa;QAGtB,WAAM,GAAG,CAAC,UAAkB,EAAE,IAAS,EAAE,EAAE;YAClD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC;iBACxD,UAGD,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;YACxC,IAAA,eAAM,EACL,UAAU,EACV,qCAAqC,cAAc,CAAC,QAAQ,EAAE,UAAU,IAAI,CAAC,SAAS,CACrF,IAAI,CACJ,GAAG,CACJ,CAAC;YACF,OAAO,IAAA,kBAAS,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC,CAAC;QAEM,gBAAW,GAAG,CAAC,cAAsB,EAAE,IAAS,EAAE,EAAE;YAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CACzC,cAAc,CACa,CAAC;YAC7B,OAAO,IAAA,yBAAgB,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC,CAAC;QAEF,WAAM,GAAG,CACR,UAAkB,EAClB,IAAS,EACT,UAAkC,EAAE,EACnC,EAAE;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACrD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAC/C,2CAA2C;YAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAQ,CAAC;QAC7D,CAAC,CAAC;QAEF,WAAM,GAAG,KAAK,EACb,UAAkB,EAClB,UAAkB,EAClB,UAAkC,EAAE,EACnC,EAAE;YACH,MAAM,GAAG,GAAG,IAAA,kBAAS,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC,CAAC;QAEF,cAAS,GAAG,KAAK,EAChB,GAAuB,EACvB,UAAkC,EAAE,EACnC,EAAE;YACH,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC7B,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,IAAA,kBAAS,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC,EACxE,OAAO,CACP,CAAC;QACH,CAAC,CAAC;QAEF,4BAAuB,GAAG,KAAK,EAC9B,UAAkB,EAClB,GAAa,EACb,UAAkC,EAAE,EACnC,EAAE;YACH,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAC7B,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAA,kBAAS,EAAC,UAAU,EAAE,UAAU,CAAC,CAAC,EAC1D,OAAO,CACP,CAAC;QACH,CAAC,CAAC;IAhEC,CAAC;CAiEJ;AAtED,0CAsEC"}
@@ -1,9 +1,10 @@
1
+ /// <reference types="node" resolution-mode="require"/>
1
2
  import { EventSubscriber, Migration } from '@verdant-web/common';
2
3
  import { Context } from '../context.js';
3
4
  import { DocumentManager } from '../DocumentManager.js';
4
5
  import { FileManagerConfig } from '../files/FileManager.js';
5
6
  import { Metadata } from '../metadata/Metadata.js';
6
- import { EntityStore } from '../entities/2/EntityStore.js';
7
+ import { EntityStore } from '../entities/EntityStore.js';
7
8
  import { ServerSyncOptions, Sync } from '../sync/Sync.js';
8
9
  import { CollectionQueries } from '../queries/CollectionQueries.js';
9
10
  interface ClientConfig<Presence = any> {
@@ -68,7 +69,7 @@ export declare class Client<Presence = any, Profile = any> extends EventSubscrib
68
69
  batchName?: string | undefined;
69
70
  max?: number | null | undefined;
70
71
  timeout?: number | null | undefined;
71
- }) => import("../entities/2/OperationBatcher.js").OperationBatch;
72
+ }) => import("../entities/OperationBatcher.js").OperationBatch;
72
73
  stats: () => Promise<{
73
74
  collections: Record<string, {
74
75
  count: number;
@@ -6,7 +6,7 @@ const DocumentManager_js_1 = require("../DocumentManager.js");
6
6
  const FileManager_js_1 = require("../files/FileManager.js");
7
7
  const idb_js_1 = require("../idb.js");
8
8
  const openDatabase_js_1 = require("../migration/openDatabase.js");
9
- const EntityStore_js_1 = require("../entities/2/EntityStore.js");
9
+ const EntityStore_js_1 = require("../entities/EntityStore.js");
10
10
  const Sync_js_1 = require("../sync/Sync.js");
11
11
  const CollectionQueries_js_1 = require("../queries/CollectionQueries.js");
12
12
  const QueryCache_js_1 = require("../queries/QueryCache.js");
@@ -1 +1 @@
1
- {"version":3,"file":"Client.js","sourceRoot":"","sources":["../../../src/client/Client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Client.js","sourceRoot":"","sources":["../../../src/client/Client.ts"],"names":[],"mappings":"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"}
@@ -1,127 +1,101 @@
1
- import { EventSubscriber, FileData, ObjectIdentifier, Operation, PatchCreator, StorageFieldSchema, StorageFieldsSchema, TimestampProvider } from '@verdant-web/common';
2
- import { EntityFile } from '../files/EntityFile.js';
3
- export declare const ADD_OPERATIONS = "@@addOperations";
4
- export declare const DELETE = "@@delete";
5
- export declare const REBASE = "@@rebase";
6
- declare const REFRESH = "@@refresh";
7
- export declare const DEEP_CHANGE = "@@deepChange";
8
- export interface CacheTools {
9
- computeView(oid: ObjectIdentifier): {
10
- view: any;
11
- deleted: boolean;
12
- lastTimestamp: number | null;
13
- };
14
- getEntity(params: {
15
- oid: ObjectIdentifier;
16
- fieldSchema: StorageFieldSchema;
17
- parent?: Entity;
18
- fieldKey?: string | number;
19
- }): Entity;
20
- hasOid(oid: ObjectIdentifier): boolean;
21
- weakRef<T extends object>(value: T): WeakRef<T>;
22
- }
23
- export interface StoreTools {
24
- addLocalOperations(operations: Operation[]): void;
1
+ import { EntityValidationProblem, EventSubscriber, ObjectIdentifier, PatchCreator, StorageFieldSchema } from '@verdant-web/common';
2
+ import { Context } from '../context.js';
3
+ import { FileManager } from '../files/FileManager.js';
4
+ import { EntityCache } from './EntityCache.js';
5
+ import { EntityFamilyMetadata, EntityMetadataView } from './EntityMetadata.js';
6
+ import { BaseEntityValue, DataFromInit, DeepPartial, EntityChange, EntityEvents, ListEntity, ListItemInit, ListItemValue, ObjectEntity } from './types.js';
7
+ import { EntityStoreEvents } from './EntityStore.js';
8
+ export interface EntityInit {
9
+ oid: ObjectIdentifier;
10
+ schema: StorageFieldSchema;
11
+ entityFamily?: EntityCache;
12
+ metadataFamily: EntityFamilyMetadata;
13
+ parent?: Entity;
14
+ ctx: Context;
15
+ files: FileManager;
16
+ readonlyKeys?: string[];
17
+ fieldPath?: (string | number)[];
25
18
  patchCreator: PatchCreator;
26
- addFile: (file: FileData) => void;
27
- getFile: (id: string) => EntityFile;
28
- time: TimestampProvider;
29
- now: string;
30
- }
31
- export type AccessibleEntityProperty<T> = T extends Array<any> ? number : T extends object ? keyof T : never;
32
- type DataFromInit<Init> = Init extends {
33
- [key: string]: any;
34
- } ? {
35
- [Key in keyof Init]: Init[Key];
36
- } : Init extends Array<any> ? Init : any;
37
- export type EntityShape<E extends Entity<any, any>> = E extends Entity<infer Value, any> ? Value : never;
38
- type DeletableKeys<T> = keyof {
39
- [Key in keyof T as IfNullableThen<T[Key], Key>]: Key;
40
- };
41
- type IfNullableThen<T, Out> = undefined extends T ? Out : null extends T ? Out : never;
42
- export declare function refreshEntity(entity: Entity<any, any>, info: EntityChangeInfo): void;
43
- export interface EntityChangeInfo {
44
- isLocal?: boolean;
19
+ events: EntityStoreEvents;
45
20
  }
46
- type EntityEvents = {
47
- change: (info: EntityChangeInfo) => void;
48
- changeDeep: (target: Entity<any, any>, info: EntityChangeInfo) => void;
49
- delete: (info: EntityChangeInfo) => void;
50
- restore: (info: EntityChangeInfo) => void;
51
- };
52
- type BaseEntityValue = {
53
- [Key: string]: any;
54
- } | any[];
55
- export declare class Entity<Init = any, KeyValue extends BaseEntityValue = any, Snapshot extends any = DataFromInit<Init>> implements ObjectEntity<Init, KeyValue, Snapshot>, ListEntity<Init, KeyValue, Snapshot> {
56
- protected _current: any | null;
21
+ export declare class Entity<Init = any, KeyValue extends BaseEntityValue = any, Snapshot extends any = DataFromInit<Init>> extends EventSubscriber<EntityEvents> implements ObjectEntity<Init, KeyValue, Snapshot>, ListEntity<Init, KeyValue, Snapshot> {
57
22
  readonly oid: ObjectIdentifier;
58
- readonly fieldPath: string[];
59
- readonly collection: string;
60
- protected readonly store: StoreTools;
61
- protected readonly fieldSchema: StorageFieldSchema | StorageFieldsSchema;
62
- protected readonly cache: CacheTools;
63
- protected _deleted: boolean;
64
- protected parent: WeakRef<Entity<any, any>> | undefined;
65
- protected readonly readonlyKeys: (keyof Init)[];
66
- private cachedSnapshot;
67
- private cachedDestructure;
23
+ private readonlyKeys;
24
+ private fieldPath;
25
+ private entityFamily;
26
+ private metadataFamily;
27
+ private schema;
28
+ private parent;
29
+ private ctx;
30
+ private files;
31
+ private patchCreator;
32
+ private events;
33
+ private _viewData;
34
+ private validationError;
68
35
  private cachedDeepUpdatedAt;
69
- private _updatedAt;
70
- protected events: EventSubscriber<EntityEvents>;
71
- protected hasSubscribersToDeepChanges(): boolean;
72
- get hasSubscribers(): boolean;
36
+ private wasDeletedLastChange;
37
+ private cachedView;
38
+ constructor({ oid, schema, entityFamily: childCache, parent, ctx, metadataFamily, readonlyKeys, files, patchCreator, events, }: EntityInit);
39
+ private onAdd;
40
+ private onReplace;
41
+ private onResetAll;
42
+ private get metadata();
43
+ /**
44
+ * The view of this Entity, not including nested
45
+ * entities (that's the snapshot - see #getSnapshot())
46
+ *
47
+ * Nested entities are represented by refs.
48
+ */
49
+ private get viewData();
50
+ /** convenience getter for viewData.view */
51
+ private get rawView();
52
+ /**
53
+ * An Entity's View includes the rendering of its underlying data,
54
+ * connecting of children where refs were, and validation
55
+ * and pruning according to schema.
56
+ */
57
+ private get view();
58
+ private childIsNull;
59
+ get uid(): string;
73
60
  get deleted(): boolean;
74
- protected get value(): any;
61
+ get invalid(): boolean;
75
62
  get isList(): any;
76
- get updatedAt(): number | null;
77
- get deepUpdatedAt(): number | null;
78
- get uid(): string;
79
- constructor({ oid, store, fieldSchema, cache, parent, onAllUnsubscribed, readonlyKeys, fieldPath, }: {
80
- oid: ObjectIdentifier;
81
- store: StoreTools;
82
- fieldSchema: StorageFieldSchema | StorageFieldsSchema;
83
- cache: CacheTools;
84
- parent?: Entity<any, any>;
85
- onAllUnsubscribed?: () => void;
86
- readonlyKeys?: (keyof Init)[];
87
- fieldPath?: string[];
88
- });
89
- private [REFRESH];
90
- private [DEEP_CHANGE];
91
- protected getChildFieldSchema: (key: any) => any;
92
- dispose: () => void;
93
- subscribe: <EventName extends keyof EntityEvents>(event: EventName, callback: EntityEvents[EventName]) => () => void;
94
- protected addPatches: (patches: Operation[]) => void;
95
- protected cloneCurrent: () => any;
96
- protected getSubObject: (oid: ObjectIdentifier, key: any) => Entity<any, any>;
97
- protected wrapValue: <Key extends keyof KeyValue>(value: any, key: Key) => KeyValue[Key];
98
- protected processInputValue: (value: any, key: any) => any;
99
- get: <Key extends keyof KeyValue>(key: Key) => KeyValue[Key];
100
- getAll: () => KeyValue;
101
- private getFileSnapshot;
63
+ get updatedAt(): number;
64
+ get deepUpdatedAt(): number;
102
65
  /**
103
- * Returns a copy of the entity and all sub-objects as
104
- * a plain object or array.
66
+ * @internal - this is relevant to Verdant's system, not users.
67
+ *
68
+ * Indicates whether this document is from an outdated version
69
+ * of the schema - which means it cannot be used until it is upgraded.
105
70
  */
106
- getSnapshot: () => any;
71
+ get isOutdatedVersion(): boolean;
107
72
  /**
108
- * Object methods
73
+ * Pruning - when entities have invalid children, we 'prune' that
74
+ * data up to the nearest prunable point - a nullable field,
75
+ * or a list.
109
76
  */
110
- keys: () => string[];
111
- entries: () => [string, any][];
112
- values: () => any[];
113
- set: <Key extends keyof Init>(key: Key, value: Init[Key]) => void;
114
- delete: (key: any) => void;
115
- private getDeleteMode;
116
- /** @deprecated - renamed to delete */
117
- remove: (key: any) => void;
118
- update: (value: DeepPartial<Init>, { replaceSubObjects, merge, }?: {
119
- replaceSubObjects?: boolean | undefined;
120
- merge?: boolean | undefined;
121
- }) => void;
77
+ protected validate: (...args: unknown[]) => EntityValidationProblem | undefined;
78
+ private viewWithMappedChildren;
122
79
  /**
123
- * List methods
80
+ * A current snapshot of this Entity's data, including nested
81
+ * Entities.
124
82
  */
83
+ getSnapshot: () => any;
84
+ private addPendingOperations;
85
+ private addConfirmedData;
86
+ private replaceAllData;
87
+ private resetAllData;
88
+ private change;
89
+ protected deepChange: (target: Entity, ev: EntityChange) => void;
90
+ private getChild;
91
+ /**
92
+ * Gets a value from this Entity. If the value
93
+ * is an object, it will be wrapped in another
94
+ * Entity.
95
+ */
96
+ get: <Key extends keyof KeyValue>(key: Key) => KeyValue[Key];
97
+ private processInputValue;
98
+ private getDeleteMode;
125
99
  /**
126
100
  * Returns the referent value of an item in the list, used for
127
101
  * operations which act on items. if the item is an object,
@@ -129,16 +103,29 @@ export declare class Entity<Init = any, KeyValue extends BaseEntityValue = any,
129
103
  * is a primitive, it will return the primitive.
130
104
  */
131
105
  private getItemRefValue;
132
- get length(): any;
106
+ set: <Key extends keyof Init>(key: Key, value: Init[Key]) => void;
107
+ /**
108
+ * Returns a destructured version of this Entity, where child
109
+ * Entities are accessible at their respective keys.
110
+ */
111
+ getAll: () => KeyValue;
112
+ delete: (key: any) => void;
113
+ keys: () => string[];
114
+ entries: () => [string, Exclude<KeyValue[keyof KeyValue], undefined>][];
115
+ values: () => Exclude<KeyValue[keyof KeyValue], undefined>[];
116
+ update: (data: DeepPartial<Init>, { merge, replaceSubObjects, }?: {
117
+ replaceSubObjects?: boolean | undefined;
118
+ merge?: boolean | undefined;
119
+ }) => void;
120
+ get length(): number;
133
121
  push: (value: ListItemInit<Init>) => void;
134
122
  insert: (index: number, value: ListItemInit<Init>) => void;
135
123
  move: (from: number, to: number) => void;
136
124
  moveItem: (item: ListItemValue<KeyValue>, to: number) => void;
125
+ add: (value: ListItemValue<KeyValue>) => void;
137
126
  removeAll: (item: ListItemValue<KeyValue>) => void;
138
127
  removeFirst: (item: ListItemValue<KeyValue>) => void;
139
128
  removeLast: (item: ListItemValue<KeyValue>) => void;
140
- add: (item: ListItemValue<KeyValue>) => void;
141
- has: (item: ListItemValue<KeyValue>) => any;
142
129
  [Symbol.iterator](): {
143
130
  next: () => {
144
131
  readonly value: ListItemValue<KeyValue>;
@@ -148,66 +135,14 @@ export declare class Entity<Init = any, KeyValue extends BaseEntityValue = any,
148
135
  readonly done: true;
149
136
  };
150
137
  };
151
- private getAsWrapped;
152
138
  map: <U>(callback: (value: ListItemValue<KeyValue>, index: number) => U) => U[];
153
139
  filter: (callback: (value: ListItemValue<KeyValue>, index: number) => boolean) => ListItemValue<KeyValue>[];
140
+ has: (value: ListItemValue<KeyValue>) => boolean;
154
141
  forEach: (callback: (value: ListItemValue<KeyValue>, index: number) => void) => void;
155
142
  some: (predicate: (value: ListItemValue<KeyValue>) => boolean) => boolean;
156
143
  every: (predicate: (value: ListItemValue<KeyValue>) => boolean) => boolean;
157
144
  find: (predicate: (value: ListItemValue<KeyValue>) => boolean) => ListItemValue<KeyValue> | undefined;
158
- includes: (item: ListItemValue<KeyValue>) => any;
159
- }
160
- export interface BaseEntity<Init, Value extends BaseEntityValue, Snapshot = DataFromInit<Init>> {
161
- dispose: () => void;
162
- subscribe<EventName extends keyof EntityEvents>(event: EventName, callback: EntityEvents[EventName]): () => void;
163
- get<Key extends keyof Value>(key: Key): Value[Key];
164
- getAll(): Value;
165
- getSnapshot(): Snapshot;
166
- readonly deleted: boolean;
167
- readonly hasSubscribers: boolean;
168
- }
169
- type DeepPartial<T> = {
170
- [P in keyof T]?: T[P] extends Array<infer U> ? Array<DeepPartial<U>> : T[P] extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : DeepPartial<T[P]>;
171
- };
172
- export interface ObjectEntity<Init, Value extends BaseEntityValue, Snapshot = DataFromInit<Init>> extends BaseEntity<Init, Value, Snapshot> {
173
- keys(): string[];
174
- entries(): [string, Exclude<Value[keyof Value], undefined>][];
175
- values(): Exclude<Value[keyof Value], undefined>[];
176
- set<Key extends keyof Init>(key: Key, value: Init[Key]): void;
177
- delete(key: DeletableKeys<Value>): void;
178
- update(value: DeepPartial<Init>, options?: {
179
- replaceSubObjects?: boolean;
180
- merge?: boolean;
181
- }): void;
182
- readonly isList: false;
183
- }
184
- export interface ListEntity<Init, Value extends BaseEntityValue, Snapshot = DataFromInit<Init>> extends Iterable<ListItemValue<Value>>, BaseEntity<Init, Value, Snapshot> {
185
- readonly isList: true;
186
- readonly length: number;
187
- push(value: ListItemInit<Init>): void;
188
- insert(index: number, value: ListItemInit<Init>): void;
189
- move(from: number, to: number): void;
190
- moveItem(item: ListItemValue<Value>, to: number): void;
191
- /**
192
- * A Set operation which adds a value if an equivalent value is not already present.
193
- * Object values are never the same.
194
- */
195
- add(value: ListItemValue<Value>): void;
196
- removeAll(item: ListItemValue<Value>): void;
197
- removeFirst(item: ListItemValue<Value>): void;
198
- removeLast(item: ListItemValue<Value>): void;
199
- map<U>(callback: (value: ListItemValue<Value>, index: number) => U): U[];
200
- filter(callback: (value: ListItemValue<Value>, index: number) => boolean): ListItemValue<Value>[];
201
- delete(index: number): void;
202
- has(value: ListItemValue<Value>): boolean;
203
- forEach(callback: (value: ListItemValue<Value>, index: number) => void): void;
204
- some(predicate: (value: ListItemValue<Value>) => boolean): boolean;
205
- every(predicate: (value: ListItemValue<Value>) => boolean): boolean;
206
- find(predicate: (value: ListItemValue<Value>) => boolean): ListItemValue<Value> | undefined;
207
- includes(value: ListItemValue<Value>): boolean;
145
+ includes: (value: ListItemValue<KeyValue>) => boolean;
146
+ __getViewData__: (oid: ObjectIdentifier, type: 'confirmed' | 'pending') => EntityMetadataView;
147
+ __getFamilyOids__: () => string[];
208
148
  }
209
- export type AnyEntity<Init, KeyValue extends BaseEntityValue, Snapshot extends any> = ListEntity<Init, KeyValue, Snapshot> | ObjectEntity<Init, KeyValue, Snapshot>;
210
- type ListItemValue<KeyValue> = KeyValue extends Array<infer T> ? T : never;
211
- type ListItemInit<Init> = Init extends Array<infer T> ? T : never;
212
- export type EntityDestructured<T extends AnyEntity<any, any, any> | null> = (T extends ListEntity<any, infer KeyValue, any> ? KeyValue : T extends ObjectEntity<any, infer KeyValue, any> ? KeyValue : never) | (T extends null ? null : never);
213
- export {};