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":"VirtualViewNavigator.js","sourceRoot":"","sources":["../../../../src/core/indexing/virtualviews/VirtualViewNavigator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* VirtualView system for creating hierarchical, sorted views of MindooDB documents.
|
|
3
|
+
*
|
|
4
|
+
* This module provides:
|
|
5
|
+
* - VirtualView: Main class for creating categorized, sorted views
|
|
6
|
+
* - VirtualViewColumn: Column definitions with sorting, categories, and totals
|
|
7
|
+
* - VirtualViewNavigator: Navigation through the view tree structure
|
|
8
|
+
* - MindooDBVirtualViewDataProvider: Data provider using MindooDB.processChangesSince
|
|
9
|
+
* - VirtualViewFactory: Builder pattern for easy view construction
|
|
10
|
+
*
|
|
11
|
+
* Example usage:
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import {
|
|
14
|
+
* VirtualViewFactory,
|
|
15
|
+
* VirtualViewColumn,
|
|
16
|
+
* ColumnSorting,
|
|
17
|
+
* TotalMode,
|
|
18
|
+
* } from "./indexing/virtualviews";
|
|
19
|
+
*
|
|
20
|
+
* // Create a view with categories and sorting
|
|
21
|
+
* const view = await VirtualViewFactory.createView()
|
|
22
|
+
* .addCategoryColumn("department", { title: "Department" })
|
|
23
|
+
* .addCategoryColumn("year", { sorting: ColumnSorting.DESCENDING })
|
|
24
|
+
* .addSortedColumn("lastName")
|
|
25
|
+
* .addDisplayColumn("firstName")
|
|
26
|
+
* .addTotalColumn("salary", TotalMode.SUM)
|
|
27
|
+
* .withDB("mydb", myDatabase, (doc) => doc.getData().type === "employee")
|
|
28
|
+
* .buildAndUpdate();
|
|
29
|
+
*
|
|
30
|
+
* // Navigate the view
|
|
31
|
+
* const nav = VirtualViewFactory.createNavigator(view)
|
|
32
|
+
* .hideEmptyCategories()
|
|
33
|
+
* .expandAll()
|
|
34
|
+
* .build();
|
|
35
|
+
*
|
|
36
|
+
* for await (const entry of nav.entriesForward()) {
|
|
37
|
+
* console.log(entry.getPositionStr(), entry.getColumnValues());
|
|
38
|
+
* }
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export { ColumnSorting, TotalMode, CategorizationStyle, WithCategories, WithDocuments, SelectedOnly, LOW_SORTVAL, HIGH_SORTVAL, LOW_ORIGIN, HIGH_ORIGIN, ORIGIN_VIRTUALVIEW, type ScopedDocId, createScopedDocId, scopedDocIdKey, parseScopedDocIdKey, type ColumnValueFunction, type DocumentFilterFunction, type EntryData, getDataTypeSortOrder, compareValues, } from "./types";
|
|
42
|
+
export { VirtualView } from "./VirtualView";
|
|
43
|
+
export { VirtualViewColumn, type VirtualViewColumnOptions } from "./VirtualViewColumn";
|
|
44
|
+
export { VirtualViewEntryData } from "./VirtualViewEntryData";
|
|
45
|
+
export { VirtualViewDataChange } from "./VirtualViewDataChange";
|
|
46
|
+
export { ViewEntrySortKey } from "./ViewEntrySortKey";
|
|
47
|
+
export { ViewEntrySortKeyComparator } from "./ViewEntrySortKeyComparator";
|
|
48
|
+
export { VirtualViewNavigator } from "./VirtualViewNavigator";
|
|
49
|
+
export { type IVirtualViewDataProvider } from "./IVirtualViewDataProvider";
|
|
50
|
+
export { MindooDBVirtualViewDataProvider, type MindooDBVirtualViewDataProviderOptions, } from "./MindooDBVirtualViewDataProvider";
|
|
51
|
+
export { type IViewEntryAccessCheck, AllowAllAccessCheck, CallbackAccessCheck, } from "./IViewEntryAccessCheck";
|
|
52
|
+
export { VirtualViewFactory, VirtualViewBuilder, VirtualViewNavigatorBuilder, } from "./VirtualViewFactory";
|
|
53
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/indexing/virtualviews/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAGH,OAAO,EACL,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,KAAK,WAAW,EAChB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,SAAS,EACd,oBAAoB,EACpB,aAAa,GACd,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAG1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EACL,+BAA+B,EAC/B,KAAK,sCAAsC,GAC5C,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EACL,KAAK,qBAAqB,EAC1B,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* VirtualView system for creating hierarchical, sorted views of MindooDB documents.
|
|
4
|
+
*
|
|
5
|
+
* This module provides:
|
|
6
|
+
* - VirtualView: Main class for creating categorized, sorted views
|
|
7
|
+
* - VirtualViewColumn: Column definitions with sorting, categories, and totals
|
|
8
|
+
* - VirtualViewNavigator: Navigation through the view tree structure
|
|
9
|
+
* - MindooDBVirtualViewDataProvider: Data provider using MindooDB.processChangesSince
|
|
10
|
+
* - VirtualViewFactory: Builder pattern for easy view construction
|
|
11
|
+
*
|
|
12
|
+
* Example usage:
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import {
|
|
15
|
+
* VirtualViewFactory,
|
|
16
|
+
* VirtualViewColumn,
|
|
17
|
+
* ColumnSorting,
|
|
18
|
+
* TotalMode,
|
|
19
|
+
* } from "./indexing/virtualviews";
|
|
20
|
+
*
|
|
21
|
+
* // Create a view with categories and sorting
|
|
22
|
+
* const view = await VirtualViewFactory.createView()
|
|
23
|
+
* .addCategoryColumn("department", { title: "Department" })
|
|
24
|
+
* .addCategoryColumn("year", { sorting: ColumnSorting.DESCENDING })
|
|
25
|
+
* .addSortedColumn("lastName")
|
|
26
|
+
* .addDisplayColumn("firstName")
|
|
27
|
+
* .addTotalColumn("salary", TotalMode.SUM)
|
|
28
|
+
* .withDB("mydb", myDatabase, (doc) => doc.getData().type === "employee")
|
|
29
|
+
* .buildAndUpdate();
|
|
30
|
+
*
|
|
31
|
+
* // Navigate the view
|
|
32
|
+
* const nav = VirtualViewFactory.createNavigator(view)
|
|
33
|
+
* .hideEmptyCategories()
|
|
34
|
+
* .expandAll()
|
|
35
|
+
* .build();
|
|
36
|
+
*
|
|
37
|
+
* for await (const entry of nav.entriesForward()) {
|
|
38
|
+
* console.log(entry.getPositionStr(), entry.getColumnValues());
|
|
39
|
+
* }
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.VirtualViewNavigatorBuilder = exports.VirtualViewBuilder = exports.VirtualViewFactory = exports.CallbackAccessCheck = exports.AllowAllAccessCheck = exports.MindooDBVirtualViewDataProvider = exports.VirtualViewNavigator = exports.ViewEntrySortKeyComparator = exports.ViewEntrySortKey = exports.VirtualViewDataChange = exports.VirtualViewEntryData = exports.VirtualViewColumn = exports.VirtualView = exports.compareValues = exports.getDataTypeSortOrder = exports.parseScopedDocIdKey = exports.scopedDocIdKey = exports.createScopedDocId = exports.ORIGIN_VIRTUALVIEW = exports.HIGH_ORIGIN = exports.LOW_ORIGIN = exports.HIGH_SORTVAL = exports.LOW_SORTVAL = exports.SelectedOnly = exports.WithDocuments = exports.WithCategories = exports.CategorizationStyle = exports.TotalMode = exports.ColumnSorting = void 0;
|
|
44
|
+
// Types and enums
|
|
45
|
+
var types_1 = require("./types");
|
|
46
|
+
Object.defineProperty(exports, "ColumnSorting", { enumerable: true, get: function () { return types_1.ColumnSorting; } });
|
|
47
|
+
Object.defineProperty(exports, "TotalMode", { enumerable: true, get: function () { return types_1.TotalMode; } });
|
|
48
|
+
Object.defineProperty(exports, "CategorizationStyle", { enumerable: true, get: function () { return types_1.CategorizationStyle; } });
|
|
49
|
+
Object.defineProperty(exports, "WithCategories", { enumerable: true, get: function () { return types_1.WithCategories; } });
|
|
50
|
+
Object.defineProperty(exports, "WithDocuments", { enumerable: true, get: function () { return types_1.WithDocuments; } });
|
|
51
|
+
Object.defineProperty(exports, "SelectedOnly", { enumerable: true, get: function () { return types_1.SelectedOnly; } });
|
|
52
|
+
Object.defineProperty(exports, "LOW_SORTVAL", { enumerable: true, get: function () { return types_1.LOW_SORTVAL; } });
|
|
53
|
+
Object.defineProperty(exports, "HIGH_SORTVAL", { enumerable: true, get: function () { return types_1.HIGH_SORTVAL; } });
|
|
54
|
+
Object.defineProperty(exports, "LOW_ORIGIN", { enumerable: true, get: function () { return types_1.LOW_ORIGIN; } });
|
|
55
|
+
Object.defineProperty(exports, "HIGH_ORIGIN", { enumerable: true, get: function () { return types_1.HIGH_ORIGIN; } });
|
|
56
|
+
Object.defineProperty(exports, "ORIGIN_VIRTUALVIEW", { enumerable: true, get: function () { return types_1.ORIGIN_VIRTUALVIEW; } });
|
|
57
|
+
Object.defineProperty(exports, "createScopedDocId", { enumerable: true, get: function () { return types_1.createScopedDocId; } });
|
|
58
|
+
Object.defineProperty(exports, "scopedDocIdKey", { enumerable: true, get: function () { return types_1.scopedDocIdKey; } });
|
|
59
|
+
Object.defineProperty(exports, "parseScopedDocIdKey", { enumerable: true, get: function () { return types_1.parseScopedDocIdKey; } });
|
|
60
|
+
Object.defineProperty(exports, "getDataTypeSortOrder", { enumerable: true, get: function () { return types_1.getDataTypeSortOrder; } });
|
|
61
|
+
Object.defineProperty(exports, "compareValues", { enumerable: true, get: function () { return types_1.compareValues; } });
|
|
62
|
+
// Core classes
|
|
63
|
+
var VirtualView_1 = require("./VirtualView");
|
|
64
|
+
Object.defineProperty(exports, "VirtualView", { enumerable: true, get: function () { return VirtualView_1.VirtualView; } });
|
|
65
|
+
var VirtualViewColumn_1 = require("./VirtualViewColumn");
|
|
66
|
+
Object.defineProperty(exports, "VirtualViewColumn", { enumerable: true, get: function () { return VirtualViewColumn_1.VirtualViewColumn; } });
|
|
67
|
+
var VirtualViewEntryData_1 = require("./VirtualViewEntryData");
|
|
68
|
+
Object.defineProperty(exports, "VirtualViewEntryData", { enumerable: true, get: function () { return VirtualViewEntryData_1.VirtualViewEntryData; } });
|
|
69
|
+
var VirtualViewDataChange_1 = require("./VirtualViewDataChange");
|
|
70
|
+
Object.defineProperty(exports, "VirtualViewDataChange", { enumerable: true, get: function () { return VirtualViewDataChange_1.VirtualViewDataChange; } });
|
|
71
|
+
var ViewEntrySortKey_1 = require("./ViewEntrySortKey");
|
|
72
|
+
Object.defineProperty(exports, "ViewEntrySortKey", { enumerable: true, get: function () { return ViewEntrySortKey_1.ViewEntrySortKey; } });
|
|
73
|
+
var ViewEntrySortKeyComparator_1 = require("./ViewEntrySortKeyComparator");
|
|
74
|
+
Object.defineProperty(exports, "ViewEntrySortKeyComparator", { enumerable: true, get: function () { return ViewEntrySortKeyComparator_1.ViewEntrySortKeyComparator; } });
|
|
75
|
+
// Navigation
|
|
76
|
+
var VirtualViewNavigator_1 = require("./VirtualViewNavigator");
|
|
77
|
+
Object.defineProperty(exports, "VirtualViewNavigator", { enumerable: true, get: function () { return VirtualViewNavigator_1.VirtualViewNavigator; } });
|
|
78
|
+
var MindooDBVirtualViewDataProvider_1 = require("./MindooDBVirtualViewDataProvider");
|
|
79
|
+
Object.defineProperty(exports, "MindooDBVirtualViewDataProvider", { enumerable: true, get: function () { return MindooDBVirtualViewDataProvider_1.MindooDBVirtualViewDataProvider; } });
|
|
80
|
+
// Access control
|
|
81
|
+
var IViewEntryAccessCheck_1 = require("./IViewEntryAccessCheck");
|
|
82
|
+
Object.defineProperty(exports, "AllowAllAccessCheck", { enumerable: true, get: function () { return IViewEntryAccessCheck_1.AllowAllAccessCheck; } });
|
|
83
|
+
Object.defineProperty(exports, "CallbackAccessCheck", { enumerable: true, get: function () { return IViewEntryAccessCheck_1.CallbackAccessCheck; } });
|
|
84
|
+
// Factory and builders
|
|
85
|
+
var VirtualViewFactory_1 = require("./VirtualViewFactory");
|
|
86
|
+
Object.defineProperty(exports, "VirtualViewFactory", { enumerable: true, get: function () { return VirtualViewFactory_1.VirtualViewFactory; } });
|
|
87
|
+
Object.defineProperty(exports, "VirtualViewBuilder", { enumerable: true, get: function () { return VirtualViewFactory_1.VirtualViewBuilder; } });
|
|
88
|
+
Object.defineProperty(exports, "VirtualViewNavigatorBuilder", { enumerable: true, get: function () { return VirtualViewFactory_1.VirtualViewNavigatorBuilder; } });
|
|
89
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/indexing/virtualviews/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;;;AAEH,kBAAkB;AAClB,iCAqBiB;AApBf,sGAAA,aAAa,OAAA;AACb,kGAAA,SAAS,OAAA;AACT,4GAAA,mBAAmB,OAAA;AACnB,uGAAA,cAAc,OAAA;AACd,sGAAA,aAAa,OAAA;AACb,qGAAA,YAAY,OAAA;AACZ,oGAAA,WAAW,OAAA;AACX,qGAAA,YAAY,OAAA;AACZ,mGAAA,UAAU,OAAA;AACV,oGAAA,WAAW,OAAA;AACX,2GAAA,kBAAkB,OAAA;AAElB,0GAAA,iBAAiB,OAAA;AACjB,uGAAA,cAAc,OAAA;AACd,4GAAA,mBAAmB,OAAA;AAInB,6GAAA,oBAAoB,OAAA;AACpB,sGAAA,aAAa,OAAA;AAGf,eAAe;AACf,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,yDAAuF;AAA9E,sHAAA,iBAAiB,OAAA;AAC1B,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,iEAAgE;AAAvD,8HAAA,qBAAqB,OAAA;AAC9B,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,2EAA0E;AAAjE,wIAAA,0BAA0B,OAAA;AAEnC,aAAa;AACb,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAI7B,qFAG2C;AAFzC,kJAAA,+BAA+B,OAAA;AAIjC,iBAAiB;AACjB,iEAIiC;AAF/B,4HAAA,mBAAmB,OAAA;AACnB,4HAAA,mBAAmB,OAAA;AAGrB,uBAAuB;AACvB,2DAI8B;AAH5B,wHAAA,kBAAkB,OAAA;AAClB,wHAAA,kBAAkB,OAAA;AAClB,iIAAA,2BAA2B,OAAA"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared types and enums for the VirtualView system
|
|
3
|
+
*/
|
|
4
|
+
import type { MindooDoc } from "../../types";
|
|
5
|
+
/**
|
|
6
|
+
* Column sorting direction
|
|
7
|
+
*/
|
|
8
|
+
export declare enum ColumnSorting {
|
|
9
|
+
NONE = "none",
|
|
10
|
+
ASCENDING = "ascending",
|
|
11
|
+
DESCENDING = "descending"
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Total/aggregation mode for category columns
|
|
15
|
+
*/
|
|
16
|
+
export declare enum TotalMode {
|
|
17
|
+
NONE = "none",
|
|
18
|
+
SUM = "sum",
|
|
19
|
+
AVERAGE = "average"
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Controls whether categories appear before or after documents in the view
|
|
23
|
+
*/
|
|
24
|
+
export declare enum CategorizationStyle {
|
|
25
|
+
/** Documents appear before categories (Domino default) */
|
|
26
|
+
DOCUMENT_THEN_CATEGORY = "document_then_category",
|
|
27
|
+
/** Categories appear before documents */
|
|
28
|
+
CATEGORY_THEN_DOCUMENT = "category_then_document"
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Navigator filter options for categories
|
|
32
|
+
*/
|
|
33
|
+
export declare enum WithCategories {
|
|
34
|
+
YES = "yes",
|
|
35
|
+
NO = "no"
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Navigator filter options for documents
|
|
39
|
+
*/
|
|
40
|
+
export declare enum WithDocuments {
|
|
41
|
+
YES = "yes",
|
|
42
|
+
NO = "no"
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Navigator filter for selected entries only
|
|
46
|
+
*/
|
|
47
|
+
export declare enum SelectedOnly {
|
|
48
|
+
YES = "yes",
|
|
49
|
+
NO = "no"
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Special sentinel values for range scans in the sorted map
|
|
53
|
+
*/
|
|
54
|
+
export declare const LOW_SORTVAL: unique symbol;
|
|
55
|
+
export declare const HIGH_SORTVAL: unique symbol;
|
|
56
|
+
export declare const LOW_ORIGIN = "~~LOW~";
|
|
57
|
+
export declare const HIGH_ORIGIN = "~~HIGH~";
|
|
58
|
+
/**
|
|
59
|
+
* Origin identifier for VirtualView-created entries (categories, root)
|
|
60
|
+
*/
|
|
61
|
+
export declare const ORIGIN_VIRTUALVIEW = "virtualview";
|
|
62
|
+
/**
|
|
63
|
+
* Scoped document ID - combines origin with document ID for uniqueness across origins
|
|
64
|
+
*/
|
|
65
|
+
export interface ScopedDocId {
|
|
66
|
+
origin: string;
|
|
67
|
+
docId: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Creates a scoped document ID
|
|
71
|
+
*/
|
|
72
|
+
export declare function createScopedDocId(origin: string, docId: string): ScopedDocId;
|
|
73
|
+
/**
|
|
74
|
+
* Creates a string key from a scoped document ID for use in Maps/Sets
|
|
75
|
+
*/
|
|
76
|
+
export declare function scopedDocIdKey(scopedId: ScopedDocId): string;
|
|
77
|
+
/**
|
|
78
|
+
* Parses a scoped document ID key back to its components
|
|
79
|
+
*/
|
|
80
|
+
export declare function parseScopedDocIdKey(key: string): ScopedDocId;
|
|
81
|
+
/**
|
|
82
|
+
* Column value function type - computes a column value from document data
|
|
83
|
+
*
|
|
84
|
+
* @param doc The document to compute the value for
|
|
85
|
+
* @param columnValues Previously computed column values (for dependent columns)
|
|
86
|
+
* @param origin The origin identifier of the data provider
|
|
87
|
+
* @returns The computed column value
|
|
88
|
+
*/
|
|
89
|
+
export type ColumnValueFunction = (doc: MindooDoc, columnValues: Record<string, unknown>, origin: string) => unknown;
|
|
90
|
+
/**
|
|
91
|
+
* Filter function type - determines if a document should be included in the view
|
|
92
|
+
*
|
|
93
|
+
* @param doc The document to check
|
|
94
|
+
* @returns true if the document should be included, false otherwise
|
|
95
|
+
*/
|
|
96
|
+
export type DocumentFilterFunction = (doc: MindooDoc) => boolean;
|
|
97
|
+
/**
|
|
98
|
+
* Entry data for additions in a VirtualViewDataChange
|
|
99
|
+
*/
|
|
100
|
+
export interface EntryData {
|
|
101
|
+
/** Document UNID */
|
|
102
|
+
docId: string;
|
|
103
|
+
/** Computed column values */
|
|
104
|
+
values: Record<string, unknown>;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Data type sort order for mixed-type column comparisons
|
|
108
|
+
* Numbers < Dates < Strings < null
|
|
109
|
+
*/
|
|
110
|
+
export declare function getDataTypeSortOrder(val: unknown): number;
|
|
111
|
+
/**
|
|
112
|
+
* Compare two values for sorting, handling different types
|
|
113
|
+
*/
|
|
114
|
+
export declare function compareValues(a: unknown, b: unknown, descending: boolean): number;
|
|
115
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/indexing/virtualviews/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;GAEG;AACH,oBAAY,aAAa;IACvB,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,UAAU,eAAe;CAC1B;AAED;;GAEG;AACH,oBAAY,SAAS;IACnB,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,oBAAY,mBAAmB;IAC7B,0DAA0D;IAC1D,sBAAsB,2BAA2B;IACjD,yCAAyC;IACzC,sBAAsB,2BAA2B;CAClD;AAED;;GAEG;AACH,oBAAY,cAAc;IACxB,GAAG,QAAQ;IACX,EAAE,OAAO;CACV;AAED;;GAEG;AACH,oBAAY,aAAa;IACvB,GAAG,QAAQ;IACX,EAAE,OAAO;CACV;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,GAAG,QAAQ;IACX,EAAE,OAAO;CACV;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,eAAwB,CAAC;AACjD,eAAO,MAAM,YAAY,eAAyB,CAAC;AACnD,eAAO,MAAM,UAAU,WAAW,CAAC;AACnC,eAAO,MAAM,WAAW,YAAY,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,CAE5E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAS5D;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAChC,GAAG,EAAE,SAAS,EACd,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,MAAM,EAAE,MAAM,KACX,OAAO,CAAC;AAEb;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAezD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM,CAmDjF"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Shared types and enums for the VirtualView system
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ORIGIN_VIRTUALVIEW = exports.HIGH_ORIGIN = exports.LOW_ORIGIN = exports.HIGH_SORTVAL = exports.LOW_SORTVAL = exports.SelectedOnly = exports.WithDocuments = exports.WithCategories = exports.CategorizationStyle = exports.TotalMode = exports.ColumnSorting = void 0;
|
|
7
|
+
exports.createScopedDocId = createScopedDocId;
|
|
8
|
+
exports.scopedDocIdKey = scopedDocIdKey;
|
|
9
|
+
exports.parseScopedDocIdKey = parseScopedDocIdKey;
|
|
10
|
+
exports.getDataTypeSortOrder = getDataTypeSortOrder;
|
|
11
|
+
exports.compareValues = compareValues;
|
|
12
|
+
/**
|
|
13
|
+
* Column sorting direction
|
|
14
|
+
*/
|
|
15
|
+
var ColumnSorting;
|
|
16
|
+
(function (ColumnSorting) {
|
|
17
|
+
ColumnSorting["NONE"] = "none";
|
|
18
|
+
ColumnSorting["ASCENDING"] = "ascending";
|
|
19
|
+
ColumnSorting["DESCENDING"] = "descending";
|
|
20
|
+
})(ColumnSorting || (exports.ColumnSorting = ColumnSorting = {}));
|
|
21
|
+
/**
|
|
22
|
+
* Total/aggregation mode for category columns
|
|
23
|
+
*/
|
|
24
|
+
var TotalMode;
|
|
25
|
+
(function (TotalMode) {
|
|
26
|
+
TotalMode["NONE"] = "none";
|
|
27
|
+
TotalMode["SUM"] = "sum";
|
|
28
|
+
TotalMode["AVERAGE"] = "average";
|
|
29
|
+
})(TotalMode || (exports.TotalMode = TotalMode = {}));
|
|
30
|
+
/**
|
|
31
|
+
* Controls whether categories appear before or after documents in the view
|
|
32
|
+
*/
|
|
33
|
+
var CategorizationStyle;
|
|
34
|
+
(function (CategorizationStyle) {
|
|
35
|
+
/** Documents appear before categories (Domino default) */
|
|
36
|
+
CategorizationStyle["DOCUMENT_THEN_CATEGORY"] = "document_then_category";
|
|
37
|
+
/** Categories appear before documents */
|
|
38
|
+
CategorizationStyle["CATEGORY_THEN_DOCUMENT"] = "category_then_document";
|
|
39
|
+
})(CategorizationStyle || (exports.CategorizationStyle = CategorizationStyle = {}));
|
|
40
|
+
/**
|
|
41
|
+
* Navigator filter options for categories
|
|
42
|
+
*/
|
|
43
|
+
var WithCategories;
|
|
44
|
+
(function (WithCategories) {
|
|
45
|
+
WithCategories["YES"] = "yes";
|
|
46
|
+
WithCategories["NO"] = "no";
|
|
47
|
+
})(WithCategories || (exports.WithCategories = WithCategories = {}));
|
|
48
|
+
/**
|
|
49
|
+
* Navigator filter options for documents
|
|
50
|
+
*/
|
|
51
|
+
var WithDocuments;
|
|
52
|
+
(function (WithDocuments) {
|
|
53
|
+
WithDocuments["YES"] = "yes";
|
|
54
|
+
WithDocuments["NO"] = "no";
|
|
55
|
+
})(WithDocuments || (exports.WithDocuments = WithDocuments = {}));
|
|
56
|
+
/**
|
|
57
|
+
* Navigator filter for selected entries only
|
|
58
|
+
*/
|
|
59
|
+
var SelectedOnly;
|
|
60
|
+
(function (SelectedOnly) {
|
|
61
|
+
SelectedOnly["YES"] = "yes";
|
|
62
|
+
SelectedOnly["NO"] = "no";
|
|
63
|
+
})(SelectedOnly || (exports.SelectedOnly = SelectedOnly = {}));
|
|
64
|
+
/**
|
|
65
|
+
* Special sentinel values for range scans in the sorted map
|
|
66
|
+
*/
|
|
67
|
+
exports.LOW_SORTVAL = Symbol("LOW_SORTVAL");
|
|
68
|
+
exports.HIGH_SORTVAL = Symbol("HIGH_SORTVAL");
|
|
69
|
+
exports.LOW_ORIGIN = "~~LOW~";
|
|
70
|
+
exports.HIGH_ORIGIN = "~~HIGH~";
|
|
71
|
+
/**
|
|
72
|
+
* Origin identifier for VirtualView-created entries (categories, root)
|
|
73
|
+
*/
|
|
74
|
+
exports.ORIGIN_VIRTUALVIEW = "virtualview";
|
|
75
|
+
/**
|
|
76
|
+
* Creates a scoped document ID
|
|
77
|
+
*/
|
|
78
|
+
function createScopedDocId(origin, docId) {
|
|
79
|
+
return { origin, docId };
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Creates a string key from a scoped document ID for use in Maps/Sets
|
|
83
|
+
*/
|
|
84
|
+
function scopedDocIdKey(scopedId) {
|
|
85
|
+
return `${scopedId.origin}:${scopedId.docId}`;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Parses a scoped document ID key back to its components
|
|
89
|
+
*/
|
|
90
|
+
function parseScopedDocIdKey(key) {
|
|
91
|
+
const colonIndex = key.indexOf(":");
|
|
92
|
+
if (colonIndex === -1) {
|
|
93
|
+
throw new Error(`Invalid scoped doc ID key: ${key}`);
|
|
94
|
+
}
|
|
95
|
+
return {
|
|
96
|
+
origin: key.substring(0, colonIndex),
|
|
97
|
+
docId: key.substring(colonIndex + 1),
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Data type sort order for mixed-type column comparisons
|
|
102
|
+
* Numbers < Dates < Strings < null
|
|
103
|
+
*/
|
|
104
|
+
function getDataTypeSortOrder(val) {
|
|
105
|
+
if (val === null || val === undefined) {
|
|
106
|
+
return Number.MAX_SAFE_INTEGER;
|
|
107
|
+
}
|
|
108
|
+
if (typeof val === "number") {
|
|
109
|
+
return 1; // Numbers first
|
|
110
|
+
}
|
|
111
|
+
if (val instanceof Date || (typeof val === "number" && !isNaN(val))) {
|
|
112
|
+
return 2; // Dates second
|
|
113
|
+
}
|
|
114
|
+
if (typeof val === "string") {
|
|
115
|
+
return 3; // Strings third
|
|
116
|
+
}
|
|
117
|
+
// Other types - compare as strings
|
|
118
|
+
return 4;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Compare two values for sorting, handling different types
|
|
122
|
+
*/
|
|
123
|
+
function compareValues(a, b, descending) {
|
|
124
|
+
// Handle special sentinel values
|
|
125
|
+
if (a === exports.LOW_SORTVAL) {
|
|
126
|
+
return b === exports.LOW_SORTVAL ? 0 : -1;
|
|
127
|
+
}
|
|
128
|
+
if (b === exports.LOW_SORTVAL) {
|
|
129
|
+
return 1;
|
|
130
|
+
}
|
|
131
|
+
if (a === exports.HIGH_SORTVAL) {
|
|
132
|
+
return b === exports.HIGH_SORTVAL ? 0 : 1;
|
|
133
|
+
}
|
|
134
|
+
if (b === exports.HIGH_SORTVAL) {
|
|
135
|
+
return -1;
|
|
136
|
+
}
|
|
137
|
+
// Treat empty strings as null
|
|
138
|
+
if (a === "")
|
|
139
|
+
a = null;
|
|
140
|
+
if (b === "")
|
|
141
|
+
b = null;
|
|
142
|
+
// Handle nulls - nulls sort to the end
|
|
143
|
+
if (a === null || a === undefined) {
|
|
144
|
+
if (b === null || b === undefined) {
|
|
145
|
+
return 0;
|
|
146
|
+
}
|
|
147
|
+
return descending ? -1 : 1;
|
|
148
|
+
}
|
|
149
|
+
if (b === null || b === undefined) {
|
|
150
|
+
return descending ? 1 : -1;
|
|
151
|
+
}
|
|
152
|
+
// Compare by data type first
|
|
153
|
+
const typeOrder1 = getDataTypeSortOrder(a);
|
|
154
|
+
const typeOrder2 = getDataTypeSortOrder(b);
|
|
155
|
+
if (typeOrder1 !== typeOrder2) {
|
|
156
|
+
return (descending ? -1 : 1) * (typeOrder1 - typeOrder2);
|
|
157
|
+
}
|
|
158
|
+
// Same type comparison
|
|
159
|
+
let result = 0;
|
|
160
|
+
if (typeof a === "string" && typeof b === "string") {
|
|
161
|
+
result = a.localeCompare(b, undefined, { sensitivity: "base" });
|
|
162
|
+
}
|
|
163
|
+
else if (typeof a === "number" && typeof b === "number") {
|
|
164
|
+
result = a - b;
|
|
165
|
+
}
|
|
166
|
+
else if (a instanceof Date && b instanceof Date) {
|
|
167
|
+
result = a.getTime() - b.getTime();
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
// Fallback: convert to string and compare
|
|
171
|
+
result = String(a).localeCompare(String(b));
|
|
172
|
+
}
|
|
173
|
+
return descending ? -result : result;
|
|
174
|
+
}
|
|
175
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/indexing/virtualviews/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { EncryptedPrivateKey } from "../types";
|
|
2
|
+
import { CryptoAdapter } from "../crypto/CryptoAdapter";
|
|
3
|
+
/**
|
|
4
|
+
* The KeyBag is used to store encryption keys that the current user has access to
|
|
5
|
+
* in order to decrypt document changes stored in the AppendOnlyStore.
|
|
6
|
+
* Supports key rotation by storing multiple versions per keyId (newest first).
|
|
7
|
+
*/
|
|
8
|
+
export declare class KeyBag {
|
|
9
|
+
private userEncryptionKey;
|
|
10
|
+
private userEncryptionKeyPassword;
|
|
11
|
+
private keys;
|
|
12
|
+
private cryptoAdapter;
|
|
13
|
+
/**
|
|
14
|
+
* Creates a new KeyBag instance.
|
|
15
|
+
*
|
|
16
|
+
* @param userEncryptionKey The encrypted user encryption key
|
|
17
|
+
* @param userEncryptionKeyPassword The password to decrypt the user encryption key
|
|
18
|
+
* @param cryptoAdapter The crypto adapter to use for encryption and decryption
|
|
19
|
+
*/
|
|
20
|
+
constructor(userEncryptionKey: EncryptedPrivateKey, userEncryptionKeyPassword: string, cryptoAdapter: CryptoAdapter);
|
|
21
|
+
/**
|
|
22
|
+
* Reads a key from the key bag.
|
|
23
|
+
* Returns the newest key (based on createdAt) or the first key if no timestamps are available.
|
|
24
|
+
*
|
|
25
|
+
* @param keyId The ID of the key to read
|
|
26
|
+
* @return The exported key, or null if not found
|
|
27
|
+
*/
|
|
28
|
+
get(keyId: string): Promise<Uint8Array | null>;
|
|
29
|
+
/**
|
|
30
|
+
* Gets all keys for a given keyId, sorted by createdAt (newest first).
|
|
31
|
+
* Useful for trying multiple keys during decryption (key rotation support).
|
|
32
|
+
*
|
|
33
|
+
* @param keyId The ID of the keys to read
|
|
34
|
+
* @return Array of keys sorted by createdAt (newest first), or empty array if not found
|
|
35
|
+
*/
|
|
36
|
+
getAllKeys(keyId: string): Promise<Uint8Array[]>;
|
|
37
|
+
/**
|
|
38
|
+
* Sets a key in the key bag.
|
|
39
|
+
* Adds the key to the array of keys for this keyId (supports key rotation).
|
|
40
|
+
*
|
|
41
|
+
* @param keyId The ID of the key
|
|
42
|
+
* @param key The key bytes
|
|
43
|
+
* @param createdAt Optional creation timestamp (milliseconds since Unix epoch)
|
|
44
|
+
*/
|
|
45
|
+
set(keyId: string, key: Uint8Array, createdAt?: number): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Decrypts an encrypted private key with the given password and imports it into the key bag.
|
|
48
|
+
* Adds the key to the array of keys for this keyId (supports key rotation).
|
|
49
|
+
*
|
|
50
|
+
* @param keyId The ID to store the decrypted key under
|
|
51
|
+
* @param key The encrypted private key to decrypt
|
|
52
|
+
* @param password The password to decrypt the key
|
|
53
|
+
* @param saltString Optional salt string for key derivation. Defaults to "default".
|
|
54
|
+
* Use "default" for keys created by createSymmetricEncryptedPrivateKey.
|
|
55
|
+
* Keys exported via encryptAndExportKey use keyId as salt, so pass keyId explicitly.
|
|
56
|
+
* @return A promise that resolves when the key is decrypted and stored
|
|
57
|
+
*/
|
|
58
|
+
decryptAndImportKey(keyId: string, key: EncryptedPrivateKey, password: string, saltString?: string): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Encrypts a key from the key bag with the given password and exports it as an EncryptedPrivateKey.
|
|
61
|
+
* Returns the newest key (based on createdAt) or the first key if no timestamps are available.
|
|
62
|
+
*
|
|
63
|
+
* @param keyId The ID of the key to encrypt and export
|
|
64
|
+
* @param password The password to encrypt the key with
|
|
65
|
+
* @return A promise that resolves to the encrypted private key, or null if the key is not found
|
|
66
|
+
*/
|
|
67
|
+
encryptAndExportKey(keyId: string, password: string): Promise<EncryptedPrivateKey | null>;
|
|
68
|
+
/**
|
|
69
|
+
* Deletes all keys for a given keyId from the key bag.
|
|
70
|
+
*
|
|
71
|
+
* @param keyId The ID of the keys to delete
|
|
72
|
+
* @return A promise that resolves when the keys are deleted
|
|
73
|
+
*/
|
|
74
|
+
deleteKey(keyId: string): Promise<void>;
|
|
75
|
+
/**
|
|
76
|
+
* Lists all key IDs in the key bag.
|
|
77
|
+
*
|
|
78
|
+
* @return A promise that resolves to an array of key IDs
|
|
79
|
+
*/
|
|
80
|
+
listKeys(): Promise<string[]>;
|
|
81
|
+
/**
|
|
82
|
+
* Save the key bag to a binary data blob, encrypted with the user encryption key.
|
|
83
|
+
*
|
|
84
|
+
* @return A promise that resolves to the encrypted binary data (Uint8Array)
|
|
85
|
+
*/
|
|
86
|
+
save(): Promise<Uint8Array>;
|
|
87
|
+
/**
|
|
88
|
+
* Load the key bag from a binary data blob, decrypted with the user encryption key.
|
|
89
|
+
*
|
|
90
|
+
* @param encryptedData The encrypted binary data to load (Uint8Array)
|
|
91
|
+
* @return A promise that resolves when the keys are loaded
|
|
92
|
+
*/
|
|
93
|
+
load(encryptedData: Uint8Array): Promise<void>;
|
|
94
|
+
/**
|
|
95
|
+
* Internal method to decrypt a private key using password-based key derivation.
|
|
96
|
+
*
|
|
97
|
+
* @param encryptedKey The encrypted private key
|
|
98
|
+
* @param password The password to decrypt the key
|
|
99
|
+
* @param saltString The salt string for key derivation (e.g., keyId)
|
|
100
|
+
* @returns The decrypted private key as ArrayBuffer
|
|
101
|
+
*/
|
|
102
|
+
private decryptPrivateKey;
|
|
103
|
+
/**
|
|
104
|
+
* Internal method to encrypt a private key using password-based key derivation.
|
|
105
|
+
* This is the reverse of decryptPrivateKey().
|
|
106
|
+
*
|
|
107
|
+
* @param privateKeyBytes The private key bytes to encrypt
|
|
108
|
+
* @param password The password to encrypt the key with
|
|
109
|
+
* @param saltString The salt string for key derivation (e.g., keyId)
|
|
110
|
+
* @returns The encrypted private key
|
|
111
|
+
*/
|
|
112
|
+
private encryptPrivateKey;
|
|
113
|
+
/**
|
|
114
|
+
* Helper method to convert base64 string to Uint8Array
|
|
115
|
+
*/
|
|
116
|
+
private base64ToUint8Array;
|
|
117
|
+
/**
|
|
118
|
+
* Helper method to convert Uint8Array to base64 string
|
|
119
|
+
*/
|
|
120
|
+
private uint8ArrayToBase64;
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=KeyBag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeyBag.d.ts","sourceRoot":"","sources":["../../../src/core/keys/KeyBag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAUxD;;;;GAIG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,iBAAiB,CAAsB;IAC/C,OAAO,CAAC,yBAAyB,CAAS;IAC1C,OAAO,CAAC,IAAI,CAAsC;IAClD,OAAO,CAAC,aAAa,CAAgB;IAErC;;;;;;OAMG;gBACS,iBAAiB,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa;IAMnH;;;;;;OAMG;IACG,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAgBpD;;;;;;OAMG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAgBtD;;;;;;;OAOG;IACG,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5E;;;;;;;;;;;OAWG;IACG,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWxH;;;;;;;OAOG;IACG,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAgC/F;;;;;OAKG;IACG,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAInC;;;;OAIG;IACG,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IA2FjC;;;;;OAKG;IACG,IAAI,CAAC,aAAa,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAuFpD;;;;;;;OAOG;YACW,iBAAiB;IA+D/B;;;;;;;;OAQG;YACW,iBAAiB;IAgF/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAO3B"}
|