mindoodb 0.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 (170) hide show
  1. package/README.md +263 -0
  2. package/dist/appendonlystores/InMemoryContentAddressedStoreFactory.d.ts +5 -0
  3. package/dist/appendonlystores/InMemoryContentAddressedStoreFactory.d.ts.map +1 -0
  4. package/dist/appendonlystores/InMemoryContentAddressedStoreFactory.js +17 -0
  5. package/dist/appendonlystores/InMemoryContentAddressedStoreFactory.js.map +1 -0
  6. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts +111 -0
  7. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -0
  8. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +237 -0
  9. package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -0
  10. package/dist/appendonlystores/network/HttpTransport.d.ts +78 -0
  11. package/dist/appendonlystores/network/HttpTransport.d.ts.map +1 -0
  12. package/dist/appendonlystores/network/HttpTransport.js +356 -0
  13. package/dist/appendonlystores/network/HttpTransport.js.map +1 -0
  14. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts +131 -0
  15. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts.map +1 -0
  16. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js +248 -0
  17. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js.map +1 -0
  18. package/dist/appendonlystores/network/index.d.ts +8 -0
  19. package/dist/appendonlystores/network/index.d.ts.map +1 -0
  20. package/dist/appendonlystores/network/index.js +21 -0
  21. package/dist/appendonlystores/network/index.js.map +1 -0
  22. package/dist/browser/crypto/BrowserCryptoAdapter.d.ts +14 -0
  23. package/dist/browser/crypto/BrowserCryptoAdapter.d.ts.map +1 -0
  24. package/dist/browser/crypto/BrowserCryptoAdapter.js +30 -0
  25. package/dist/browser/crypto/BrowserCryptoAdapter.js.map +1 -0
  26. package/dist/browser/index.d.ts +3 -0
  27. package/dist/browser/index.d.ts.map +1 -0
  28. package/dist/browser/index.js +26 -0
  29. package/dist/browser/index.js.map +1 -0
  30. package/dist/core/BaseMindooDB.d.ts +182 -0
  31. package/dist/core/BaseMindooDB.d.ts.map +1 -0
  32. package/dist/core/BaseMindooDB.js +1701 -0
  33. package/dist/core/BaseMindooDB.js.map +1 -0
  34. package/dist/core/BaseMindooTenant.d.ts +155 -0
  35. package/dist/core/BaseMindooTenant.d.ts.map +1 -0
  36. package/dist/core/BaseMindooTenant.js +673 -0
  37. package/dist/core/BaseMindooTenant.js.map +1 -0
  38. package/dist/core/BaseMindooTenantDirectory.d.ts +99 -0
  39. package/dist/core/BaseMindooTenantDirectory.d.ts.map +1 -0
  40. package/dist/core/BaseMindooTenantDirectory.js +776 -0
  41. package/dist/core/BaseMindooTenantDirectory.js.map +1 -0
  42. package/dist/core/BaseMindooTenantFactory.d.ts +91 -0
  43. package/dist/core/BaseMindooTenantFactory.d.ts.map +1 -0
  44. package/dist/core/BaseMindooTenantFactory.js +297 -0
  45. package/dist/core/BaseMindooTenantFactory.js.map +1 -0
  46. package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts +111 -0
  47. package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts.map +1 -0
  48. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js +293 -0
  49. package/dist/core/appendonlystores/InMemoryContentAddressedStore.js.map +1 -0
  50. package/dist/core/appendonlystores/network/AuthenticationService.d.ts +78 -0
  51. package/dist/core/appendonlystores/network/AuthenticationService.d.ts.map +1 -0
  52. package/dist/core/appendonlystores/network/AuthenticationService.js +297 -0
  53. package/dist/core/appendonlystores/network/AuthenticationService.js.map +1 -0
  54. package/dist/core/appendonlystores/network/NetworkTransport.d.ts +174 -0
  55. package/dist/core/appendonlystores/network/NetworkTransport.d.ts.map +1 -0
  56. package/dist/core/appendonlystores/network/NetworkTransport.js +3 -0
  57. package/dist/core/appendonlystores/network/NetworkTransport.js.map +1 -0
  58. package/dist/core/appendonlystores/network/types.d.ts +135 -0
  59. package/dist/core/appendonlystores/network/types.d.ts.map +1 -0
  60. package/dist/core/appendonlystores/network/types.js +35 -0
  61. package/dist/core/appendonlystores/network/types.js.map +1 -0
  62. package/dist/core/appendonlystores/types.d.ts +157 -0
  63. package/dist/core/appendonlystores/types.d.ts.map +1 -0
  64. package/dist/core/appendonlystores/types.js +3 -0
  65. package/dist/core/appendonlystores/types.js.map +1 -0
  66. package/dist/core/crypto/CryptoAdapter.d.ts +19 -0
  67. package/dist/core/crypto/CryptoAdapter.d.ts.map +1 -0
  68. package/dist/core/crypto/CryptoAdapter.js +3 -0
  69. package/dist/core/crypto/CryptoAdapter.js.map +1 -0
  70. package/dist/core/crypto/MindooDocSigner.d.ts +106 -0
  71. package/dist/core/crypto/MindooDocSigner.d.ts.map +1 -0
  72. package/dist/core/crypto/MindooDocSigner.js +192 -0
  73. package/dist/core/crypto/MindooDocSigner.js.map +1 -0
  74. package/dist/core/crypto/RSAEncryption.d.ts +62 -0
  75. package/dist/core/crypto/RSAEncryption.d.ts.map +1 -0
  76. package/dist/core/crypto/RSAEncryption.js +167 -0
  77. package/dist/core/crypto/RSAEncryption.js.map +1 -0
  78. package/dist/core/errors.d.ts +10 -0
  79. package/dist/core/errors.d.ts.map +1 -0
  80. package/dist/core/errors.js +17 -0
  81. package/dist/core/errors.js.map +1 -0
  82. package/dist/core/index.d.ts +14 -0
  83. package/dist/core/index.d.ts.map +1 -0
  84. package/dist/core/index.js +53 -0
  85. package/dist/core/index.js.map +1 -0
  86. package/dist/core/indexing/virtualviews/IViewEntryAccessCheck.d.ts +33 -0
  87. package/dist/core/indexing/virtualviews/IViewEntryAccessCheck.d.ts.map +1 -0
  88. package/dist/core/indexing/virtualviews/IViewEntryAccessCheck.js +27 -0
  89. package/dist/core/indexing/virtualviews/IViewEntryAccessCheck.js.map +1 -0
  90. package/dist/core/indexing/virtualviews/IVirtualViewDataProvider.d.ts +31 -0
  91. package/dist/core/indexing/virtualviews/IVirtualViewDataProvider.d.ts.map +1 -0
  92. package/dist/core/indexing/virtualviews/IVirtualViewDataProvider.js +3 -0
  93. package/dist/core/indexing/virtualviews/IVirtualViewDataProvider.js.map +1 -0
  94. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.d.ts +52 -0
  95. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.d.ts.map +1 -0
  96. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js +106 -0
  97. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js.map +1 -0
  98. package/dist/core/indexing/virtualviews/ViewEntrySortKey.d.ts +44 -0
  99. package/dist/core/indexing/virtualviews/ViewEntrySortKey.d.ts.map +1 -0
  100. package/dist/core/indexing/virtualviews/ViewEntrySortKey.js +107 -0
  101. package/dist/core/indexing/virtualviews/ViewEntrySortKey.js.map +1 -0
  102. package/dist/core/indexing/virtualviews/ViewEntrySortKeyComparator.d.ts +28 -0
  103. package/dist/core/indexing/virtualviews/ViewEntrySortKeyComparator.d.ts.map +1 -0
  104. package/dist/core/indexing/virtualviews/ViewEntrySortKeyComparator.js +133 -0
  105. package/dist/core/indexing/virtualviews/ViewEntrySortKeyComparator.js.map +1 -0
  106. package/dist/core/indexing/virtualviews/VirtualView.d.ts +109 -0
  107. package/dist/core/indexing/virtualviews/VirtualView.d.ts.map +1 -0
  108. package/dist/core/indexing/virtualviews/VirtualView.js +504 -0
  109. package/dist/core/indexing/virtualviews/VirtualView.js.map +1 -0
  110. package/dist/core/indexing/virtualviews/VirtualViewColumn.d.ts +59 -0
  111. package/dist/core/indexing/virtualviews/VirtualViewColumn.d.ts.map +1 -0
  112. package/dist/core/indexing/virtualviews/VirtualViewColumn.js +70 -0
  113. package/dist/core/indexing/virtualviews/VirtualViewColumn.js.map +1 -0
  114. package/dist/core/indexing/virtualviews/VirtualViewDataChange.d.ts +49 -0
  115. package/dist/core/indexing/virtualviews/VirtualViewDataChange.d.ts.map +1 -0
  116. package/dist/core/indexing/virtualviews/VirtualViewDataChange.js +69 -0
  117. package/dist/core/indexing/virtualviews/VirtualViewDataChange.js.map +1 -0
  118. package/dist/core/indexing/virtualviews/VirtualViewEntryData.d.ts +121 -0
  119. package/dist/core/indexing/virtualviews/VirtualViewEntryData.d.ts.map +1 -0
  120. package/dist/core/indexing/virtualviews/VirtualViewEntryData.js +365 -0
  121. package/dist/core/indexing/virtualviews/VirtualViewEntryData.js.map +1 -0
  122. package/dist/core/indexing/virtualviews/VirtualViewFactory.d.ts +131 -0
  123. package/dist/core/indexing/virtualviews/VirtualViewFactory.d.ts.map +1 -0
  124. package/dist/core/indexing/virtualviews/VirtualViewFactory.js +236 -0
  125. package/dist/core/indexing/virtualviews/VirtualViewFactory.js.map +1 -0
  126. package/dist/core/indexing/virtualviews/VirtualViewNavigator.d.ts +330 -0
  127. package/dist/core/indexing/virtualviews/VirtualViewNavigator.d.ts.map +1 -0
  128. package/dist/core/indexing/virtualviews/VirtualViewNavigator.js +1010 -0
  129. package/dist/core/indexing/virtualviews/VirtualViewNavigator.js.map +1 -0
  130. package/dist/core/indexing/virtualviews/index.d.ts +53 -0
  131. package/dist/core/indexing/virtualviews/index.d.ts.map +1 -0
  132. package/dist/core/indexing/virtualviews/index.js +89 -0
  133. package/dist/core/indexing/virtualviews/index.js.map +1 -0
  134. package/dist/core/indexing/virtualviews/types.d.ts +115 -0
  135. package/dist/core/indexing/virtualviews/types.d.ts.map +1 -0
  136. package/dist/core/indexing/virtualviews/types.js +175 -0
  137. package/dist/core/indexing/virtualviews/types.js.map +1 -0
  138. package/dist/core/keys/KeyBag.d.ts +122 -0
  139. package/dist/core/keys/KeyBag.d.ts.map +1 -0
  140. package/dist/core/keys/KeyBag.js +401 -0
  141. package/dist/core/keys/KeyBag.js.map +1 -0
  142. package/dist/core/types.d.ts +1004 -0
  143. package/dist/core/types.d.ts.map +1 -0
  144. package/dist/core/types.js +10 -0
  145. package/dist/core/types.js.map +1 -0
  146. package/dist/core/userid/index.d.ts +53 -0
  147. package/dist/core/userid/index.d.ts.map +1 -0
  148. package/dist/core/userid/index.js +3 -0
  149. package/dist/core/userid/index.js.map +1 -0
  150. package/dist/core/utils/idGeneration.d.ts +109 -0
  151. package/dist/core/utils/idGeneration.d.ts.map +1 -0
  152. package/dist/core/utils/idGeneration.js +182 -0
  153. package/dist/core/utils/idGeneration.js.map +1 -0
  154. package/dist/core/utils/index.d.ts +5 -0
  155. package/dist/core/utils/index.d.ts.map +1 -0
  156. package/dist/core/utils/index.js +19 -0
  157. package/dist/core/utils/index.js.map +1 -0
  158. package/dist/index.d.ts +7 -0
  159. package/dist/index.d.ts.map +1 -0
  160. package/dist/index.js +40 -0
  161. package/dist/index.js.map +1 -0
  162. package/dist/node/crypto/NodeCryptoAdapter.d.ts +16 -0
  163. package/dist/node/crypto/NodeCryptoAdapter.d.ts.map +1 -0
  164. package/dist/node/crypto/NodeCryptoAdapter.js +53 -0
  165. package/dist/node/crypto/NodeCryptoAdapter.js.map +1 -0
  166. package/dist/node/index.d.ts +3 -0
  167. package/dist/node/index.d.ts.map +1 -0
  168. package/dist/node/index.js +26 -0
  169. package/dist/node/index.js.map +1 -0
  170. package/package.json +58 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VirtualViewColumn.js","sourceRoot":"","sources":["../../../../src/core/indexing/virtualviews/VirtualViewColumn.ts"],"names":[],"mappings":";;;AAAA,mCAAwE;AA4BxE;;;GAGG;AACH,MAAa,iBAAiB;IAsB5B,YAAY,OAAiC;QAC3C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC;QAC9C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,qBAAa,CAAC,IAAI,CAAC;QACrD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,iBAAS,CAAC,IAAI,CAAC;QACrD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAE3C,8CAA8C;QAC9C,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,KAAK,qBAAa,CAAC,IAAI,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,iCAAiC,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CACb,IAAY,EACZ,OAAwE;QAExE,OAAO,IAAI,iBAAiB,CAAC;YAC3B,IAAI;YACJ,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,qBAAa,CAAC,SAAS,EAAE,yBAAyB;YAC3D,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CACX,IAAY,EACZ,UAAyB,qBAAa,CAAC,SAAS,EAChD,OAAqE;QAErE,OAAO,IAAI,iBAAiB,CAAC;YAC3B,IAAI;YACJ,OAAO;YACP,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAO,CACZ,IAAY,EACZ,OAAyD;QAEzD,OAAO,IAAI,iBAAiB,CAAC;YAC3B,IAAI;YACJ,OAAO,EAAE,qBAAa,CAAC,IAAI;YAC3B,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CACV,IAAY,EACZ,SAAoB,EACpB,OAAuE;QAEvE,OAAO,IAAI,iBAAiB,CAAC;YAC3B,IAAI;YACJ,SAAS;YACT,OAAO,EAAE,qBAAa,CAAC,IAAI;YAC3B,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,OAAO,2BAA2B,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,KAAK,gBAAgB,IAAI,CAAC,UAAU,aAAa,IAAI,CAAC,OAAO,eAAe,IAAI,CAAC,SAAS,GAAG,CAAC;IAC3J,CAAC;CACF;AApGD,8CAoGC"}
@@ -0,0 +1,49 @@
1
+ import type { EntryData } from "./types";
2
+ /**
3
+ * Encapsulates changes in a VirtualView data set from one data provider.
4
+ * Used to batch additions and removals for efficient processing.
5
+ */
6
+ export declare class VirtualViewDataChange {
7
+ /** Origin identifier (which data provider) */
8
+ readonly origin: string;
9
+ /** Document IDs to remove from the view */
10
+ private _removals;
11
+ /** Document IDs and their computed values to add to the view */
12
+ private _additions;
13
+ constructor(origin: string);
14
+ /**
15
+ * Mark a document for removal from the view
16
+ *
17
+ * @param docId Document ID to remove
18
+ */
19
+ removeEntry(docId: string): void;
20
+ /**
21
+ * Add a document to the view with computed column values
22
+ *
23
+ * @param docId Document ID
24
+ * @param values Computed column values
25
+ */
26
+ addEntry(docId: string, values: Record<string, unknown>): void;
27
+ /**
28
+ * Get all document IDs marked for removal
29
+ */
30
+ getRemovals(): Set<string>;
31
+ /**
32
+ * Get all additions (document ID -> entry data)
33
+ */
34
+ getAdditions(): Map<string, EntryData>;
35
+ /**
36
+ * Check if there are any changes to apply
37
+ */
38
+ hasChanges(): boolean;
39
+ /**
40
+ * Get total number of changes (removals + additions)
41
+ */
42
+ getChangeCount(): number;
43
+ /**
44
+ * Clear all changes
45
+ */
46
+ clear(): void;
47
+ toString(): string;
48
+ }
49
+ //# sourceMappingURL=VirtualViewDataChange.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VirtualViewDataChange.d.ts","sourceRoot":"","sources":["../../../../src/core/indexing/virtualviews/VirtualViewDataChange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC;;;GAGG;AACH,qBAAa,qBAAqB;IAChC,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,2CAA2C;IAC3C,OAAO,CAAC,SAAS,CAA0B;IAE3C,gEAAgE;IAChE,OAAO,CAAC,UAAU,CAAqC;gBAE3C,MAAM,EAAE,MAAM;IAI1B;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIhC;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI9D;;OAEG;IACH,WAAW,IAAI,GAAG,CAAC,MAAM,CAAC;IAI1B;;OAEG;IACH,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC;IAItC;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb,QAAQ,IAAI,MAAM;CAGnB"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VirtualViewDataChange = void 0;
4
+ /**
5
+ * Encapsulates changes in a VirtualView data set from one data provider.
6
+ * Used to batch additions and removals for efficient processing.
7
+ */
8
+ class VirtualViewDataChange {
9
+ constructor(origin) {
10
+ /** Document IDs to remove from the view */
11
+ this._removals = new Set();
12
+ /** Document IDs and their computed values to add to the view */
13
+ this._additions = new Map();
14
+ this.origin = origin;
15
+ }
16
+ /**
17
+ * Mark a document for removal from the view
18
+ *
19
+ * @param docId Document ID to remove
20
+ */
21
+ removeEntry(docId) {
22
+ this._removals.add(docId);
23
+ }
24
+ /**
25
+ * Add a document to the view with computed column values
26
+ *
27
+ * @param docId Document ID
28
+ * @param values Computed column values
29
+ */
30
+ addEntry(docId, values) {
31
+ this._additions.set(docId, { docId, values });
32
+ }
33
+ /**
34
+ * Get all document IDs marked for removal
35
+ */
36
+ getRemovals() {
37
+ return this._removals;
38
+ }
39
+ /**
40
+ * Get all additions (document ID -> entry data)
41
+ */
42
+ getAdditions() {
43
+ return this._additions;
44
+ }
45
+ /**
46
+ * Check if there are any changes to apply
47
+ */
48
+ hasChanges() {
49
+ return this._removals.size > 0 || this._additions.size > 0;
50
+ }
51
+ /**
52
+ * Get total number of changes (removals + additions)
53
+ */
54
+ getChangeCount() {
55
+ return this._removals.size + this._additions.size;
56
+ }
57
+ /**
58
+ * Clear all changes
59
+ */
60
+ clear() {
61
+ this._removals.clear();
62
+ this._additions.clear();
63
+ }
64
+ toString() {
65
+ return `VirtualViewDataChange [origin=${this.origin}, removals=${this._removals.size}, additions=${this._additions.size}]`;
66
+ }
67
+ }
68
+ exports.VirtualViewDataChange = VirtualViewDataChange;
69
+ //# sourceMappingURL=VirtualViewDataChange.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VirtualViewDataChange.js","sourceRoot":"","sources":["../../../../src/core/indexing/virtualviews/VirtualViewDataChange.ts"],"names":[],"mappings":";;;AAEA;;;GAGG;AACH,MAAa,qBAAqB;IAUhC,YAAY,MAAc;QAN1B,2CAA2C;QACnC,cAAS,GAAgB,IAAI,GAAG,EAAE,CAAC;QAE3C,gEAAgE;QACxD,eAAU,GAA2B,IAAI,GAAG,EAAE,CAAC;QAGrD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,KAAa;QACvB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACH,QAAQ,CAAC,KAAa,EAAE,MAA+B;QACrD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAED,QAAQ;QACN,OAAO,iCAAiC,IAAI,CAAC,MAAM,cAAc,IAAI,CAAC,SAAS,CAAC,IAAI,eAAe,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC;IAC7H,CAAC;CACF;AAxED,sDAwEC"}
@@ -0,0 +1,121 @@
1
+ import { ViewEntrySortKey } from "./ViewEntrySortKey";
2
+ import { ViewEntrySortKeyComparator } from "./ViewEntrySortKeyComparator";
3
+ import type { VirtualView } from "./VirtualView";
4
+ /**
5
+ * Entry in a VirtualView, representing a document or category.
6
+ * Forms a tree structure with sorted child entries.
7
+ */
8
+ export declare class VirtualViewEntryData {
9
+ /** Reference to the parent view */
10
+ private readonly parentView;
11
+ /** Parent entry in the tree (null for root) */
12
+ private _parent;
13
+ /** Origin identifier (which data provider) */
14
+ readonly origin: string;
15
+ /** Document ID (UNID) - for categories, this is a generated ID */
16
+ readonly docId: string;
17
+ /** Sort key for ordering within parent */
18
+ private readonly sortKey;
19
+ /** Comparator for ordering child entries */
20
+ private readonly childrenComparator;
21
+ /** Column values for this entry */
22
+ private columnValues;
23
+ /** Sorted child entries by sort key */
24
+ private childEntriesBySortKey;
25
+ /** Cached array of sorted child entries (invalidated on changes) */
26
+ private sortedChildrenCache;
27
+ /** Sibling index within parent (1-based) */
28
+ private siblingIndex;
29
+ /** Cached level in the tree (distance from root) */
30
+ private _level;
31
+ /** Indent levels for subcategories (e.g., "2024\03" has indent 1 for "03") */
32
+ private indentLevels;
33
+ /** Cached position array */
34
+ private _position;
35
+ /** Cached position string */
36
+ private _positionStr;
37
+ /** Number of direct children */
38
+ private _childCount;
39
+ /** Number of direct child categories */
40
+ private _childCategoryCount;
41
+ /** Number of direct child documents */
42
+ private _childDocumentCount;
43
+ /** Total number of descendants */
44
+ private _descendantCount;
45
+ /** Total number of descendant documents */
46
+ private _descendantDocumentCount;
47
+ /** Total number of descendant categories */
48
+ private _descendantCategoryCount;
49
+ private totalValues;
50
+ constructor(parentView: VirtualView, parent: VirtualViewEntryData | null, origin: string, docId: string, sortKey: ViewEntrySortKey, childrenComparator: ViewEntrySortKeyComparator);
51
+ getParentView(): VirtualView;
52
+ getParent(): VirtualViewEntryData | null;
53
+ getSortKey(): ViewEntrySortKey;
54
+ getChildrenComparator(): ViewEntrySortKeyComparator;
55
+ isCategory(): boolean;
56
+ isDocument(): boolean;
57
+ isRoot(): boolean;
58
+ getChildCount(): number;
59
+ getChildCategoryCount(): number;
60
+ getChildDocumentCount(): number;
61
+ getDescendantCount(): number;
62
+ getDescendantDocumentCount(): number;
63
+ getDescendantCategoryCount(): number;
64
+ getSiblingCount(): number;
65
+ getColumnValue(name: string): unknown;
66
+ getColumnValues(): Record<string, unknown>;
67
+ setColumnValues(values: Record<string, unknown>): void;
68
+ setColumnValue(name: string, value: unknown): void;
69
+ getAsString(name: string, defaultValue: string): string;
70
+ getAsNumber(name: string, defaultValue: number | null): number | null;
71
+ getAsStringList(name: string, defaultValue: string[] | null): string[] | null;
72
+ getCategoryValue(): unknown;
73
+ /**
74
+ * Get all child entries as a sorted array
75
+ */
76
+ getChildEntries(): VirtualViewEntryData[];
77
+ /**
78
+ * Get child entry by sort key
79
+ */
80
+ getChildEntry(sortKey: ViewEntrySortKey): VirtualViewEntryData | undefined;
81
+ /**
82
+ * Check if a child entry exists
83
+ */
84
+ hasChildEntry(sortKey: ViewEntrySortKey): boolean;
85
+ /**
86
+ * Add a child entry
87
+ * @returns true if the entry was added (didn't exist before)
88
+ */
89
+ addChildEntry(entry: VirtualViewEntryData): boolean;
90
+ /**
91
+ * Remove a child entry
92
+ * @returns true if the entry was removed
93
+ */
94
+ removeChildEntry(sortKey: ViewEntrySortKey): boolean;
95
+ /**
96
+ * Get child categories only
97
+ */
98
+ getChildCategories(): VirtualViewEntryData[];
99
+ /**
100
+ * Get child documents only
101
+ */
102
+ getChildDocuments(): VirtualViewEntryData[];
103
+ /**
104
+ * Get child entries in a range (for range scans)
105
+ */
106
+ getChildEntriesInRange(isCategory: boolean, startValue: unknown, endValue: unknown, descending?: boolean): VirtualViewEntryData[];
107
+ getSiblingIndex(): number;
108
+ setSiblingIndex(index: number): void;
109
+ getIndentLevels(): number;
110
+ setIndentLevels(levels: number): void;
111
+ getLevel(): number;
112
+ getPosition(): number[];
113
+ getPositionStr(): string;
114
+ incrementDescendantCount(isCategory: boolean): void;
115
+ decrementDescendantCount(isCategory: boolean): void;
116
+ addTotalValue(itemName: string, value: number): number;
117
+ getTotalValue(itemName: string): number | null;
118
+ invalidatePositionCache(): void;
119
+ toString(): string;
120
+ }
121
+ //# sourceMappingURL=VirtualViewEntryData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VirtualViewEntryData.d.ts","sourceRoot":"","sources":["../../../../src/core/indexing/virtualviews/VirtualViewEntryData.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,365 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VirtualViewEntryData = void 0;
4
+ const types_1 = require("./types");
5
+ /**
6
+ * Entry in a VirtualView, representing a document or category.
7
+ * Forms a tree structure with sorted child entries.
8
+ */
9
+ class VirtualViewEntryData {
10
+ constructor(parentView, parent, origin, docId, sortKey, childrenComparator) {
11
+ /** Column values for this entry */
12
+ this.columnValues = new Map();
13
+ /** Sorted child entries by sort key */
14
+ this.childEntriesBySortKey = new Map();
15
+ /** Cached array of sorted child entries (invalidated on changes) */
16
+ this.sortedChildrenCache = null;
17
+ /** Sibling index within parent (1-based) */
18
+ this.siblingIndex = 0;
19
+ /** Cached level in the tree (distance from root) */
20
+ this._level = null;
21
+ /** Indent levels for subcategories (e.g., "2024\03" has indent 1 for "03") */
22
+ this.indentLevels = 0;
23
+ /** Cached position array */
24
+ this._position = null;
25
+ /** Cached position string */
26
+ this._positionStr = null;
27
+ // Counts
28
+ /** Number of direct children */
29
+ this._childCount = 0;
30
+ /** Number of direct child categories */
31
+ this._childCategoryCount = 0;
32
+ /** Number of direct child documents */
33
+ this._childDocumentCount = 0;
34
+ /** Total number of descendants */
35
+ this._descendantCount = 0;
36
+ /** Total number of descendant documents */
37
+ this._descendantDocumentCount = 0;
38
+ /** Total number of descendant categories */
39
+ this._descendantCategoryCount = 0;
40
+ // Totals for category entries
41
+ this.totalValues = new Map();
42
+ this.parentView = parentView;
43
+ this._parent = parent;
44
+ this.origin = origin;
45
+ this.docId = docId;
46
+ this.sortKey = sortKey;
47
+ this.childrenComparator = childrenComparator;
48
+ }
49
+ // Getters
50
+ getParentView() {
51
+ return this.parentView;
52
+ }
53
+ getParent() {
54
+ return this._parent;
55
+ }
56
+ getSortKey() {
57
+ return this.sortKey;
58
+ }
59
+ getChildrenComparator() {
60
+ return this.childrenComparator;
61
+ }
62
+ // Type checks
63
+ isCategory() {
64
+ return this.sortKey.isCategory;
65
+ }
66
+ isDocument() {
67
+ return !this.sortKey.isCategory;
68
+ }
69
+ isRoot() {
70
+ return this._parent === null;
71
+ }
72
+ // Count getters
73
+ getChildCount() {
74
+ return this._childCount;
75
+ }
76
+ getChildCategoryCount() {
77
+ return this._childCategoryCount;
78
+ }
79
+ getChildDocumentCount() {
80
+ return this._childDocumentCount;
81
+ }
82
+ getDescendantCount() {
83
+ return this._descendantCount;
84
+ }
85
+ getDescendantDocumentCount() {
86
+ return this._descendantDocumentCount;
87
+ }
88
+ getDescendantCategoryCount() {
89
+ return this._descendantCategoryCount;
90
+ }
91
+ getSiblingCount() {
92
+ return this._parent ? this._parent.getChildCount() : 0;
93
+ }
94
+ // Column values
95
+ getColumnValue(name) {
96
+ return this.columnValues.get(name);
97
+ }
98
+ getColumnValues() {
99
+ const result = {};
100
+ for (const [key, value] of this.columnValues) {
101
+ result[key] = value;
102
+ }
103
+ return result;
104
+ }
105
+ setColumnValues(values) {
106
+ this.columnValues.clear();
107
+ for (const [key, value] of Object.entries(values)) {
108
+ if (value !== undefined) {
109
+ this.columnValues.set(key, value);
110
+ }
111
+ }
112
+ }
113
+ setColumnValue(name, value) {
114
+ if (value === undefined) {
115
+ this.columnValues.delete(name);
116
+ }
117
+ else {
118
+ this.columnValues.set(name, value);
119
+ }
120
+ }
121
+ getAsString(name, defaultValue) {
122
+ const val = this.columnValues.get(name);
123
+ if (val === null || val === undefined)
124
+ return defaultValue;
125
+ return String(val);
126
+ }
127
+ getAsNumber(name, defaultValue) {
128
+ const val = this.columnValues.get(name);
129
+ if (val === null || val === undefined)
130
+ return defaultValue;
131
+ if (typeof val === "number")
132
+ return val;
133
+ const parsed = parseFloat(String(val));
134
+ return isNaN(parsed) ? defaultValue : parsed;
135
+ }
136
+ getAsStringList(name, defaultValue) {
137
+ const val = this.columnValues.get(name);
138
+ if (val === null || val === undefined)
139
+ return defaultValue;
140
+ if (Array.isArray(val)) {
141
+ return val.map(v => String(v));
142
+ }
143
+ return [String(val)];
144
+ }
145
+ // Category value (first sort key value for categories)
146
+ getCategoryValue() {
147
+ if (this.isCategory()) {
148
+ const values = this.sortKey.values;
149
+ return values.length > 0 ? values[0] : null;
150
+ }
151
+ return null;
152
+ }
153
+ // Child entry management
154
+ /**
155
+ * Get all child entries as a sorted array
156
+ */
157
+ getChildEntries() {
158
+ if (this.sortedChildrenCache === null) {
159
+ const entries = Array.from(this.childEntriesBySortKey.values());
160
+ entries.sort((a, b) => this.childrenComparator.compare(a.sortKey, b.sortKey));
161
+ this.sortedChildrenCache = entries;
162
+ }
163
+ return this.sortedChildrenCache;
164
+ }
165
+ /**
166
+ * Get child entry by sort key
167
+ */
168
+ getChildEntry(sortKey) {
169
+ return this.childEntriesBySortKey.get(sortKey.toKey());
170
+ }
171
+ /**
172
+ * Check if a child entry exists
173
+ */
174
+ hasChildEntry(sortKey) {
175
+ return this.childEntriesBySortKey.has(sortKey.toKey());
176
+ }
177
+ /**
178
+ * Add a child entry
179
+ * @returns true if the entry was added (didn't exist before)
180
+ */
181
+ addChildEntry(entry) {
182
+ const key = entry.sortKey.toKey();
183
+ if (this.childEntriesBySortKey.has(key)) {
184
+ return false;
185
+ }
186
+ this.childEntriesBySortKey.set(key, entry);
187
+ this.sortedChildrenCache = null; // Invalidate cache
188
+ this._childCount++;
189
+ if (entry.isCategory()) {
190
+ this._childCategoryCount++;
191
+ }
192
+ else {
193
+ this._childDocumentCount++;
194
+ }
195
+ return true;
196
+ }
197
+ /**
198
+ * Remove a child entry
199
+ * @returns true if the entry was removed
200
+ */
201
+ removeChildEntry(sortKey) {
202
+ const key = sortKey.toKey();
203
+ const entry = this.childEntriesBySortKey.get(key);
204
+ if (!entry) {
205
+ return false;
206
+ }
207
+ this.childEntriesBySortKey.delete(key);
208
+ this.sortedChildrenCache = null; // Invalidate cache
209
+ this._childCount--;
210
+ if (entry.isCategory()) {
211
+ this._childCategoryCount--;
212
+ }
213
+ else {
214
+ this._childDocumentCount--;
215
+ }
216
+ return true;
217
+ }
218
+ /**
219
+ * Get child categories only
220
+ */
221
+ getChildCategories() {
222
+ return this.getChildEntries().filter(e => e.isCategory());
223
+ }
224
+ /**
225
+ * Get child documents only
226
+ */
227
+ getChildDocuments() {
228
+ return this.getChildEntries().filter(e => e.isDocument());
229
+ }
230
+ /**
231
+ * Get child entries in a range (for range scans)
232
+ */
233
+ getChildEntriesInRange(isCategory, startValue, endValue, descending = false) {
234
+ const entries = this.getChildEntries().filter(e => {
235
+ if (e.isCategory() !== isCategory)
236
+ return false;
237
+ const val = e.sortKey.values.length > 0 ? e.sortKey.values[0] : null;
238
+ // Simple range check (could be optimized with binary search)
239
+ if (startValue !== types_1.LOW_SORTVAL && val !== null && val !== undefined) {
240
+ if (typeof val === "string" && typeof startValue === "string") {
241
+ if (val.localeCompare(startValue, undefined, { sensitivity: "base" }) < 0)
242
+ return false;
243
+ }
244
+ else if (typeof val === "number" && typeof startValue === "number") {
245
+ if (val < startValue)
246
+ return false;
247
+ }
248
+ }
249
+ if (endValue !== types_1.HIGH_SORTVAL && val !== null && val !== undefined) {
250
+ if (typeof val === "string" && typeof endValue === "string") {
251
+ if (val.localeCompare(endValue, undefined, { sensitivity: "base" }) > 0)
252
+ return false;
253
+ }
254
+ else if (typeof val === "number" && typeof endValue === "number") {
255
+ if (val > endValue)
256
+ return false;
257
+ }
258
+ }
259
+ return true;
260
+ });
261
+ return descending ? entries.reverse() : entries;
262
+ }
263
+ // Sibling index
264
+ getSiblingIndex() {
265
+ return this.siblingIndex;
266
+ }
267
+ setSiblingIndex(index) {
268
+ if (this.siblingIndex !== index) {
269
+ this.siblingIndex = index;
270
+ // Invalidate cached position
271
+ this._position = null;
272
+ this._positionStr = null;
273
+ }
274
+ }
275
+ // Indent levels
276
+ getIndentLevels() {
277
+ return this.indentLevels;
278
+ }
279
+ setIndentLevels(levels) {
280
+ this.indentLevels = levels;
281
+ }
282
+ // Level in tree
283
+ getLevel() {
284
+ if (this._level === null) {
285
+ this._level = -1;
286
+ let parent = this._parent;
287
+ while (parent !== null) {
288
+ this._level++;
289
+ parent = parent._parent;
290
+ }
291
+ }
292
+ return this._level;
293
+ }
294
+ // Position
295
+ getPosition() {
296
+ if (this._position === null) {
297
+ if (this.isRoot()) {
298
+ this._position = [0];
299
+ }
300
+ else {
301
+ const positions = [this.siblingIndex];
302
+ let parent = this._parent;
303
+ while (parent !== null) {
304
+ const parentSiblingIdx = parent.siblingIndex;
305
+ parent = parent._parent;
306
+ if (parent !== null) {
307
+ // Ignore root sibling position
308
+ positions.unshift(parentSiblingIdx);
309
+ }
310
+ }
311
+ this._position = positions;
312
+ }
313
+ }
314
+ return this._position;
315
+ }
316
+ getPositionStr() {
317
+ if (this._positionStr === null) {
318
+ this._positionStr = this.getPosition().join(".");
319
+ }
320
+ return this._positionStr;
321
+ }
322
+ // Descendant count management
323
+ incrementDescendantCount(isCategory) {
324
+ this._descendantCount++;
325
+ if (isCategory) {
326
+ this._descendantCategoryCount++;
327
+ }
328
+ else {
329
+ this._descendantDocumentCount++;
330
+ }
331
+ }
332
+ decrementDescendantCount(isCategory) {
333
+ this._descendantCount--;
334
+ if (isCategory) {
335
+ this._descendantCategoryCount--;
336
+ }
337
+ else {
338
+ this._descendantDocumentCount--;
339
+ }
340
+ }
341
+ // Total values (for category aggregations)
342
+ addTotalValue(itemName, value) {
343
+ const key = itemName.toLowerCase();
344
+ const current = this.totalValues.get(key) ?? 0;
345
+ const newValue = current + value;
346
+ this.totalValues.set(key, newValue);
347
+ return newValue;
348
+ }
349
+ getTotalValue(itemName) {
350
+ const key = itemName.toLowerCase();
351
+ return this.totalValues.get(key) ?? null;
352
+ }
353
+ // Invalidate caches when structure changes
354
+ invalidatePositionCache() {
355
+ this._position = null;
356
+ this._positionStr = null;
357
+ this._level = null;
358
+ }
359
+ toString() {
360
+ const type = this.isDocument() ? "document" : this.isCategory() ? "category" : "root";
361
+ return `VirtualViewEntry [pos=${this.getPositionStr()}, level=${this.getLevel()}, type=${type}, origin=${this.origin}, docId=${this.docId}, columnValues=${JSON.stringify(this.getColumnValues())}]`;
362
+ }
363
+ }
364
+ exports.VirtualViewEntryData = VirtualViewEntryData;
365
+ //# sourceMappingURL=VirtualViewEntryData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VirtualViewEntryData.js","sourceRoot":"","sources":["../../../../src/core/indexing/virtualviews/VirtualViewEntryData.ts"],"names":[],"mappings":"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"}