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.
- package/README.md +263 -0
- package/dist/appendonlystores/InMemoryContentAddressedStoreFactory.d.ts +5 -0
- package/dist/appendonlystores/InMemoryContentAddressedStoreFactory.d.ts.map +1 -0
- package/dist/appendonlystores/InMemoryContentAddressedStoreFactory.js +17 -0
- package/dist/appendonlystores/InMemoryContentAddressedStoreFactory.js.map +1 -0
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts +111 -0
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.d.ts.map +1 -0
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js +237 -0
- package/dist/appendonlystores/network/ClientNetworkContentAddressedStore.js.map +1 -0
- package/dist/appendonlystores/network/HttpTransport.d.ts +78 -0
- package/dist/appendonlystores/network/HttpTransport.d.ts.map +1 -0
- package/dist/appendonlystores/network/HttpTransport.js +356 -0
- package/dist/appendonlystores/network/HttpTransport.js.map +1 -0
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts +131 -0
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts.map +1 -0
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js +248 -0
- package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js.map +1 -0
- package/dist/appendonlystores/network/index.d.ts +8 -0
- package/dist/appendonlystores/network/index.d.ts.map +1 -0
- package/dist/appendonlystores/network/index.js +21 -0
- package/dist/appendonlystores/network/index.js.map +1 -0
- package/dist/browser/crypto/BrowserCryptoAdapter.d.ts +14 -0
- package/dist/browser/crypto/BrowserCryptoAdapter.d.ts.map +1 -0
- package/dist/browser/crypto/BrowserCryptoAdapter.js +30 -0
- package/dist/browser/crypto/BrowserCryptoAdapter.js.map +1 -0
- package/dist/browser/index.d.ts +3 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +26 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/core/BaseMindooDB.d.ts +182 -0
- package/dist/core/BaseMindooDB.d.ts.map +1 -0
- package/dist/core/BaseMindooDB.js +1701 -0
- package/dist/core/BaseMindooDB.js.map +1 -0
- package/dist/core/BaseMindooTenant.d.ts +155 -0
- package/dist/core/BaseMindooTenant.d.ts.map +1 -0
- package/dist/core/BaseMindooTenant.js +673 -0
- package/dist/core/BaseMindooTenant.js.map +1 -0
- package/dist/core/BaseMindooTenantDirectory.d.ts +99 -0
- package/dist/core/BaseMindooTenantDirectory.d.ts.map +1 -0
- package/dist/core/BaseMindooTenantDirectory.js +776 -0
- package/dist/core/BaseMindooTenantDirectory.js.map +1 -0
- package/dist/core/BaseMindooTenantFactory.d.ts +91 -0
- package/dist/core/BaseMindooTenantFactory.d.ts.map +1 -0
- package/dist/core/BaseMindooTenantFactory.js +297 -0
- package/dist/core/BaseMindooTenantFactory.js.map +1 -0
- package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts +111 -0
- package/dist/core/appendonlystores/InMemoryContentAddressedStore.d.ts.map +1 -0
- package/dist/core/appendonlystores/InMemoryContentAddressedStore.js +293 -0
- package/dist/core/appendonlystores/InMemoryContentAddressedStore.js.map +1 -0
- package/dist/core/appendonlystores/network/AuthenticationService.d.ts +78 -0
- package/dist/core/appendonlystores/network/AuthenticationService.d.ts.map +1 -0
- package/dist/core/appendonlystores/network/AuthenticationService.js +297 -0
- package/dist/core/appendonlystores/network/AuthenticationService.js.map +1 -0
- package/dist/core/appendonlystores/network/NetworkTransport.d.ts +174 -0
- package/dist/core/appendonlystores/network/NetworkTransport.d.ts.map +1 -0
- package/dist/core/appendonlystores/network/NetworkTransport.js +3 -0
- package/dist/core/appendonlystores/network/NetworkTransport.js.map +1 -0
- package/dist/core/appendonlystores/network/types.d.ts +135 -0
- package/dist/core/appendonlystores/network/types.d.ts.map +1 -0
- package/dist/core/appendonlystores/network/types.js +35 -0
- package/dist/core/appendonlystores/network/types.js.map +1 -0
- package/dist/core/appendonlystores/types.d.ts +157 -0
- package/dist/core/appendonlystores/types.d.ts.map +1 -0
- package/dist/core/appendonlystores/types.js +3 -0
- package/dist/core/appendonlystores/types.js.map +1 -0
- package/dist/core/crypto/CryptoAdapter.d.ts +19 -0
- package/dist/core/crypto/CryptoAdapter.d.ts.map +1 -0
- package/dist/core/crypto/CryptoAdapter.js +3 -0
- package/dist/core/crypto/CryptoAdapter.js.map +1 -0
- package/dist/core/crypto/MindooDocSigner.d.ts +106 -0
- package/dist/core/crypto/MindooDocSigner.d.ts.map +1 -0
- package/dist/core/crypto/MindooDocSigner.js +192 -0
- package/dist/core/crypto/MindooDocSigner.js.map +1 -0
- package/dist/core/crypto/RSAEncryption.d.ts +62 -0
- package/dist/core/crypto/RSAEncryption.d.ts.map +1 -0
- package/dist/core/crypto/RSAEncryption.js +167 -0
- package/dist/core/crypto/RSAEncryption.js.map +1 -0
- package/dist/core/errors.d.ts +10 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +17 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/index.d.ts +14 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +53 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/indexing/virtualviews/IViewEntryAccessCheck.d.ts +33 -0
- package/dist/core/indexing/virtualviews/IViewEntryAccessCheck.d.ts.map +1 -0
- package/dist/core/indexing/virtualviews/IViewEntryAccessCheck.js +27 -0
- package/dist/core/indexing/virtualviews/IViewEntryAccessCheck.js.map +1 -0
- package/dist/core/indexing/virtualviews/IVirtualViewDataProvider.d.ts +31 -0
- package/dist/core/indexing/virtualviews/IVirtualViewDataProvider.d.ts.map +1 -0
- package/dist/core/indexing/virtualviews/IVirtualViewDataProvider.js +3 -0
- package/dist/core/indexing/virtualviews/IVirtualViewDataProvider.js.map +1 -0
- package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.d.ts +52 -0
- package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.d.ts.map +1 -0
- package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js +106 -0
- package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js.map +1 -0
- package/dist/core/indexing/virtualviews/ViewEntrySortKey.d.ts +44 -0
- package/dist/core/indexing/virtualviews/ViewEntrySortKey.d.ts.map +1 -0
- package/dist/core/indexing/virtualviews/ViewEntrySortKey.js +107 -0
- package/dist/core/indexing/virtualviews/ViewEntrySortKey.js.map +1 -0
- package/dist/core/indexing/virtualviews/ViewEntrySortKeyComparator.d.ts +28 -0
- package/dist/core/indexing/virtualviews/ViewEntrySortKeyComparator.d.ts.map +1 -0
- package/dist/core/indexing/virtualviews/ViewEntrySortKeyComparator.js +133 -0
- package/dist/core/indexing/virtualviews/ViewEntrySortKeyComparator.js.map +1 -0
- package/dist/core/indexing/virtualviews/VirtualView.d.ts +109 -0
- package/dist/core/indexing/virtualviews/VirtualView.d.ts.map +1 -0
- package/dist/core/indexing/virtualviews/VirtualView.js +504 -0
- package/dist/core/indexing/virtualviews/VirtualView.js.map +1 -0
- package/dist/core/indexing/virtualviews/VirtualViewColumn.d.ts +59 -0
- package/dist/core/indexing/virtualviews/VirtualViewColumn.d.ts.map +1 -0
- package/dist/core/indexing/virtualviews/VirtualViewColumn.js +70 -0
- package/dist/core/indexing/virtualviews/VirtualViewColumn.js.map +1 -0
- package/dist/core/indexing/virtualviews/VirtualViewDataChange.d.ts +49 -0
- package/dist/core/indexing/virtualviews/VirtualViewDataChange.d.ts.map +1 -0
- package/dist/core/indexing/virtualviews/VirtualViewDataChange.js +69 -0
- package/dist/core/indexing/virtualviews/VirtualViewDataChange.js.map +1 -0
- package/dist/core/indexing/virtualviews/VirtualViewEntryData.d.ts +121 -0
- package/dist/core/indexing/virtualviews/VirtualViewEntryData.d.ts.map +1 -0
- package/dist/core/indexing/virtualviews/VirtualViewEntryData.js +365 -0
- package/dist/core/indexing/virtualviews/VirtualViewEntryData.js.map +1 -0
- package/dist/core/indexing/virtualviews/VirtualViewFactory.d.ts +131 -0
- package/dist/core/indexing/virtualviews/VirtualViewFactory.d.ts.map +1 -0
- package/dist/core/indexing/virtualviews/VirtualViewFactory.js +236 -0
- package/dist/core/indexing/virtualviews/VirtualViewFactory.js.map +1 -0
- package/dist/core/indexing/virtualviews/VirtualViewNavigator.d.ts +330 -0
- package/dist/core/indexing/virtualviews/VirtualViewNavigator.d.ts.map +1 -0
- package/dist/core/indexing/virtualviews/VirtualViewNavigator.js +1010 -0
- package/dist/core/indexing/virtualviews/VirtualViewNavigator.js.map +1 -0
- package/dist/core/indexing/virtualviews/index.d.ts +53 -0
- package/dist/core/indexing/virtualviews/index.d.ts.map +1 -0
- package/dist/core/indexing/virtualviews/index.js +89 -0
- package/dist/core/indexing/virtualviews/index.js.map +1 -0
- package/dist/core/indexing/virtualviews/types.d.ts +115 -0
- package/dist/core/indexing/virtualviews/types.d.ts.map +1 -0
- package/dist/core/indexing/virtualviews/types.js +175 -0
- package/dist/core/indexing/virtualviews/types.js.map +1 -0
- package/dist/core/keys/KeyBag.d.ts +122 -0
- package/dist/core/keys/KeyBag.d.ts.map +1 -0
- package/dist/core/keys/KeyBag.js +401 -0
- package/dist/core/keys/KeyBag.js.map +1 -0
- package/dist/core/types.d.ts +1004 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +10 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/userid/index.d.ts +53 -0
- package/dist/core/userid/index.d.ts.map +1 -0
- package/dist/core/userid/index.js +3 -0
- package/dist/core/userid/index.js.map +1 -0
- package/dist/core/utils/idGeneration.d.ts +109 -0
- package/dist/core/utils/idGeneration.d.ts.map +1 -0
- package/dist/core/utils/idGeneration.js +182 -0
- package/dist/core/utils/idGeneration.js.map +1 -0
- package/dist/core/utils/index.d.ts +5 -0
- package/dist/core/utils/index.d.ts.map +1 -0
- package/dist/core/utils/index.js +19 -0
- package/dist/core/utils/index.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +40 -0
- package/dist/index.js.map +1 -0
- package/dist/node/crypto/NodeCryptoAdapter.d.ts +16 -0
- package/dist/node/crypto/NodeCryptoAdapter.d.ts.map +1 -0
- package/dist/node/crypto/NodeCryptoAdapter.js +53 -0
- package/dist/node/crypto/NodeCryptoAdapter.js.map +1 -0
- package/dist/node/index.d.ts +3 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +26 -0
- package/dist/node/index.js.map +1 -0
- 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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"}
|