serializable-bptree 3.2.3 → 3.3.0

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.
@@ -5,9 +5,9 @@ import { SerializableData } from './base/SerializeStrategy';
5
5
  export declare class BPTreeAsync<K, V> extends BPTree<K, V> {
6
6
  protected readonly strategy: SerializeStrategyAsync<K, V>;
7
7
  constructor(strategy: SerializeStrategyAsync<K, V>, comparator: ValueComparator<V>);
8
- protected _getPairsRightToLeft(value: V, startNode: BPTreeLeafNode<K, V>, fullSearch: boolean, comparator: (nodeValue: V, value: V) => boolean): Promise<BPTreePair<K, V>[]>;
9
- protected _getPairsLeftToRight(value: V, startNode: BPTreeLeafNode<K, V>, fullSearch: boolean, comparator: (nodeValue: V, value: V) => boolean): Promise<BPTreePair<K, V>[]>;
10
- protected getPairs(value: V, startNode: BPTreeLeafNode<K, V>, fullSearch: boolean, comparator: (nodeValue: V, value: V) => boolean, direction: 1 | -1): Promise<BPTreePair<K, V>[]>;
8
+ protected _getPairsRightToLeft(value: V, startNode: BPTreeLeafNode<K, V>, fullScan: boolean, comparator: (nodeValue: V, value: V) => boolean): Promise<BPTreePair<K, V>[]>;
9
+ protected _getPairsLeftToRight(value: V, startNode: BPTreeLeafNode<K, V>, fullScan: boolean, comparator: (nodeValue: V, value: V) => boolean): Promise<BPTreePair<K, V>[]>;
10
+ protected getPairs(value: V, startNode: BPTreeLeafNode<K, V>, fullScan: boolean, comparator: (nodeValue: V, value: V) => boolean, direction: 1 | -1): Promise<BPTreePair<K, V>[]>;
11
11
  protected _createNodeId(): Promise<number>;
12
12
  protected _createNode(keys: number[] | K[][], values: V[], leaf?: boolean, parent?: number, next?: number, prev?: number): Promise<BPTreeUnknownNode<K, V>>;
13
13
  protected _deleteEntry(node: BPTreeUnknownNode<K, V>, key: BPTreeNodeKey<K>, value: V): Promise<void>;
@@ -11,7 +11,6 @@ export declare class BPTreeSync<K, V> extends BPTree<K, V> {
11
11
  protected _createNodeId(): number;
12
12
  protected _createNode(keys: number[] | K[][], values: V[], leaf?: boolean, parent?: number, next?: number, prev?: number): BPTreeUnknownNode<K, V>;
13
13
  protected _deleteEntry(node: BPTreeUnknownNode<K, V>, key: BPTreeNodeKey<K>, value: V): void;
14
- protected _insertAtLeaf(node: BPTreeLeafNode<K, V>, key: K, value: V): void;
15
14
  protected _insertInParent(node: BPTreeUnknownNode<K, V>, value: V, pointer: BPTreeUnknownNode<K, V>): void;
16
15
  init(): void;
17
16
  protected getNode(id: number): BPTreeUnknownNode<K, V>;
@@ -43,7 +43,7 @@ export interface BPTreeLeafNode<K, V> extends BPTreeNode<K, V> {
43
43
  keys: K[][];
44
44
  }
45
45
  export declare abstract class BPTree<K, V> {
46
- private readonly _regexpCache;
46
+ private readonly _cachedRegexp;
47
47
  protected readonly strategy: SerializeStrategy<K, V>;
48
48
  protected readonly comparator: ValueComparator<V>;
49
49
  protected readonly nodes: Map<number, BPTreeUnknownNode<K, V>>;
@@ -56,9 +56,9 @@ export declare abstract class BPTree<K, V> {
56
56
  protected readonly verifierDirection: Record<keyof BPTreeCondition<V>, -1 | 1>;
57
57
  protected readonly verifierFullScan: Record<keyof BPTreeCondition<V>, boolean>;
58
58
  protected constructor(strategy: SerializeStrategy<K, V>, comparator: ValueComparator<V>);
59
- protected abstract _getPairsRightToLeft(value: V, startNode: BPTreeLeafNode<K, V>, fullSearch: boolean, comparator: (nodeValue: V, value: V) => boolean): Deferred<BPTreePair<K, V>[]>;
60
- protected abstract _getPairsLeftToRight(value: V, startNode: BPTreeLeafNode<K, V>, fullSearch: boolean, comparator: (nodeValue: V, value: V) => boolean): Deferred<BPTreePair<K, V>[]>;
61
- protected abstract getPairs(value: V, startNode: BPTreeLeafNode<K, V>, fullSearch: boolean, comparator: (nodeValue: V, value: V) => boolean, direction: -1 | 1): Deferred<BPTreePair<K, V>[]>;
59
+ protected abstract _getPairsRightToLeft(value: V, startNode: BPTreeLeafNode<K, V>, fullScan: boolean, comparator: (nodeValue: V, value: V) => boolean): Deferred<BPTreePair<K, V>[]>;
60
+ protected abstract _getPairsLeftToRight(value: V, startNode: BPTreeLeafNode<K, V>, fullScan: boolean, comparator: (nodeValue: V, value: V) => boolean): Deferred<BPTreePair<K, V>[]>;
61
+ protected abstract getPairs(value: V, startNode: BPTreeLeafNode<K, V>, fullScan: boolean, comparator: (nodeValue: V, value: V) => boolean, direction: -1 | 1): Deferred<BPTreePair<K, V>[]>;
62
62
  protected abstract _createNodeId(): Deferred<number>;
63
63
  protected abstract _createNode(keys: number[] | K[][], values: V[], leaf?: boolean, parent?: number, next?: number, prev?: number): Deferred<BPTreeUnknownNode<K, V>>;
64
64
  protected abstract _deleteEntry(node: BPTreeUnknownNode<K, V>, key: BPTreeNodeKey<K>, value: V): Deferred<void>;
@@ -122,7 +122,7 @@ export declare abstract class BPTree<K, V> {
122
122
  * Typically, there's no need to use this method, but it can be used to synchronize data in scenarios where the remote storage and the client are in a 1:n relationship.
123
123
  * @returns The return value is the total number of nodes updated.
124
124
  */
125
- abstract forceUpdate(nodeId: number): Deferred<number>;
125
+ abstract forceUpdate(): Deferred<number>;
126
126
  protected _insertAtLeaf(node: BPTreeLeafNode<K, V>, key: K, value: V): void;
127
127
  protected bufferForNodeCreate(node: BPTreeUnknownNode<K, V>): Deferred<void>;
128
128
  protected bufferForNodeUpdate(node: BPTreeUnknownNode<K, V>): Deferred<void>;
@@ -63,6 +63,7 @@ export declare abstract class SerializeStrategy<K, V> {
63
63
  * Therefore, when called again, the value incremented by `+1` is returned.
64
64
  *
65
65
  * This is a syntactic sugar for using the `setHeadData` and `getHeadData` methods.
66
+ * Therefore, the value specified by this key can be retrieved using the `getHeadData(key)` method or by accessing it directly through `this.head.data[key]`.
66
67
  * It assists in simplifying the implementation of node ID generation in the `id` method.
67
68
  * @param key The key of the data to be stored in the tree.
68
69
  * @param defaultValue The data to be stored in the tree.
package/package.json CHANGED
@@ -1,10 +1,17 @@
1
1
  {
2
2
  "name": "serializable-bptree",
3
- "version": "3.2.3",
3
+ "version": "3.3.0",
4
4
  "description": "Store the B+tree flexibly, not only in-memory.",
5
- "main": "dist/cjs/index.js",
6
- "module": "dist/esm/index.js",
5
+ "main": "dist/cjs/index.cjs",
6
+ "module": "dist/esm/index.mjs",
7
7
  "typings": "dist/typings/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/esm/index.mjs",
11
+ "require": "./dist/cjs/index.cjs",
12
+ "types": "./dist/typings/index.d.ts"
13
+ }
14
+ },
8
15
  "files": [
9
16
  "dist/**/*"
10
17
  ],
@@ -34,5 +41,8 @@
34
41
  "jest": "^29.7.0",
35
42
  "ts-jest": "^29.1.1",
36
43
  "typescript": "^5.2.2"
44
+ },
45
+ "dependencies": {
46
+ "cachebranch": "^1.2.0"
37
47
  }
38
48
  }
@@ -1,3 +0,0 @@
1
- export declare class CacheStorage<K, V> extends Map<K, V> {
2
- ensure(key: K, generator: () => V): V;
3
- }