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":"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"}