@zengrid/shared 1.0.4 → 1.1.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.
- package/README.md +4 -0
- package/dist/README.md +4 -0
- package/dist/index.cjs.js +3085 -1783
- package/dist/index.esm.js +3080 -1783
- package/dist/package.json +1 -1
- package/dist/src/algorithms/graph/bfs.d.ts.map +1 -1
- package/dist/src/algorithms/graph/dfs.d.ts.map +1 -1
- package/dist/src/algorithms/graph/index.d.ts +1 -1
- package/dist/src/algorithms/graph/index.d.ts.map +1 -1
- package/dist/src/algorithms/index.d.ts +5 -5
- package/dist/src/algorithms/index.d.ts.map +1 -1
- package/dist/src/algorithms/pattern/index.d.ts +2 -2
- package/dist/src/algorithms/pattern/index.d.ts.map +1 -1
- package/dist/src/algorithms/pattern/sequence-detector.d.ts.map +1 -1
- package/dist/src/algorithms/search/index.d.ts +2 -2
- package/dist/src/algorithms/search/index.d.ts.map +1 -1
- package/dist/src/algorithms/sorting/comparators.d.ts.map +1 -1
- package/dist/src/algorithms/sorting/index.d.ts +1 -1
- package/dist/src/algorithms/sorting/index.d.ts.map +1 -1
- package/dist/src/algorithms/sorting/timsort-gallop.d.ts +21 -0
- package/dist/src/algorithms/sorting/timsort-gallop.d.ts.map +1 -0
- package/dist/src/algorithms/sorting/timsort-merge.d.ts +6 -0
- package/dist/src/algorithms/sorting/timsort-merge.d.ts.map +1 -0
- package/dist/src/algorithms/sorting/timsort-run.d.ts +38 -0
- package/dist/src/algorithms/sorting/timsort-run.d.ts.map +1 -0
- package/dist/src/algorithms/sorting/timsort.d.ts.map +1 -1
- package/dist/src/algorithms/sorting/timsort.interface.d.ts +32 -0
- package/dist/src/algorithms/sorting/timsort.interface.d.ts.map +1 -0
- package/dist/src/data-structures/column-store/column-store.d.ts.map +1 -1
- package/dist/src/data-structures/column-store/column-store.interface.d.ts.map +1 -1
- package/dist/src/data-structures/command-stack/command-stack.d.ts.map +1 -1
- package/dist/src/data-structures/disjoint-set/disjoint-set.d.ts.map +1 -1
- package/dist/src/data-structures/disjoint-set/index.d.ts +1 -1
- package/dist/src/data-structures/disjoint-set/index.d.ts.map +1 -1
- package/dist/src/data-structures/index-map/index-map.d.ts.map +1 -1
- package/dist/src/data-structures/index-map/index.d.ts +1 -1
- package/dist/src/data-structures/index-map/index.d.ts.map +1 -1
- package/dist/src/data-structures/index.d.ts +8 -8
- package/dist/src/data-structures/index.d.ts.map +1 -1
- package/dist/src/data-structures/interval-tree/interval-tree.d.ts +0 -83
- package/dist/src/data-structures/interval-tree/interval-tree.d.ts.map +1 -1
- package/dist/src/data-structures/interval-tree/node.d.ts +34 -0
- package/dist/src/data-structures/interval-tree/node.d.ts.map +1 -0
- package/dist/src/data-structures/interval-tree/operations/balance.d.ts +34 -0
- package/dist/src/data-structures/interval-tree/operations/balance.d.ts.map +1 -0
- package/dist/src/data-structures/interval-tree/operations/delete.d.ts +26 -0
- package/dist/src/data-structures/interval-tree/operations/delete.d.ts.map +1 -0
- package/dist/src/data-structures/interval-tree/operations/insert.d.ts +19 -0
- package/dist/src/data-structures/interval-tree/operations/insert.d.ts.map +1 -0
- package/dist/src/data-structures/interval-tree/operations/search.d.ts +46 -0
- package/dist/src/data-structures/interval-tree/operations/search.d.ts.map +1 -0
- package/dist/src/data-structures/interval-tree/operations/traversal.d.ts +29 -0
- package/dist/src/data-structures/interval-tree/operations/traversal.d.ts.map +1 -0
- package/dist/src/data-structures/interval-tree/operations/utilities.d.ts +30 -0
- package/dist/src/data-structures/interval-tree/operations/utilities.d.ts.map +1 -0
- package/dist/src/data-structures/lru-cache/index.d.ts +1 -1
- package/dist/src/data-structures/lru-cache/index.d.ts.map +1 -1
- package/dist/src/data-structures/lru-cache/lru-cache.d.ts.map +1 -1
- package/dist/src/data-structures/prefix-sum-array/prefix-sum-array.d.ts.map +1 -1
- package/dist/src/data-structures/ring-buffer.d.ts +96 -0
- package/dist/src/data-structures/ring-buffer.d.ts.map +1 -0
- package/dist/src/data-structures/rtree/rtree.d.ts.map +1 -1
- package/dist/src/data-structures/segment-tree/aggregation-config.d.ts +6 -0
- package/dist/src/data-structures/segment-tree/aggregation-config.d.ts.map +1 -0
- package/dist/src/data-structures/segment-tree/index.d.ts +1 -1
- package/dist/src/data-structures/segment-tree/index.d.ts.map +1 -1
- package/dist/src/data-structures/segment-tree/lazy-propagation.d.ts +5 -0
- package/dist/src/data-structures/segment-tree/lazy-propagation.d.ts.map +1 -0
- package/dist/src/data-structures/segment-tree/segment-tree.d.ts +1 -105
- package/dist/src/data-structures/segment-tree/segment-tree.d.ts.map +1 -1
- package/dist/src/data-structures/segment-tree/segment-tree.interface.d.ts.map +1 -1
- package/dist/src/data-structures/segment-tree/tree-builder.d.ts +3 -0
- package/dist/src/data-structures/segment-tree/tree-builder.d.ts.map +1 -0
- package/dist/src/data-structures/segment-tree/tree-query.d.ts +3 -0
- package/dist/src/data-structures/segment-tree/tree-query.d.ts.map +1 -0
- package/dist/src/data-structures/segment-tree/tree-search.d.ts +2 -0
- package/dist/src/data-structures/segment-tree/tree-search.d.ts.map +1 -0
- package/dist/src/data-structures/segment-tree/tree-update.d.ts +4 -0
- package/dist/src/data-structures/segment-tree/tree-update.d.ts.map +1 -0
- package/dist/src/data-structures/segment-tree/tree-validation.d.ts +3 -0
- package/dist/src/data-structures/segment-tree/tree-validation.d.ts.map +1 -0
- package/dist/src/data-structures/skip-list/skip-list.d.ts.map +1 -1
- package/dist/src/data-structures/sparse-matrix/sparse-matrix.d.ts.map +1 -1
- package/dist/src/data-structures/suffix-array/suffix-array.d.ts.map +1 -1
- package/dist/src/data-structures/trie/index.d.ts +1 -1
- package/dist/src/data-structures/trie/index.d.ts.map +1 -1
- package/dist/src/data-structures/trie/trie.d.ts.map +1 -1
- package/dist/src/index.d.ts +13 -10
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/patterns/coordinator.d.ts.map +1 -1
- package/dist/src/patterns/event-emitter.d.ts.map +1 -1
- package/dist/src/patterns/factory.d.ts.map +1 -1
- package/dist/src/patterns/index.d.ts +4 -4
- package/dist/src/patterns/index.d.ts.map +1 -1
- package/dist/src/patterns/state-machine.d.ts.map +1 -1
- package/dist/src/reactive/batch-processor.d.ts +80 -0
- package/dist/src/reactive/batch-processor.d.ts.map +1 -0
- package/dist/src/reactive/core/batch-manager.d.ts +48 -0
- package/dist/src/reactive/core/batch-manager.d.ts.map +1 -0
- package/dist/src/reactive/core/batch-queue.d.ts +39 -0
- package/dist/src/reactive/core/batch-queue.d.ts.map +1 -0
- package/dist/src/reactive/core/event-handler-registry.d.ts +52 -0
- package/dist/src/reactive/core/event-handler-registry.d.ts.map +1 -0
- package/dist/src/reactive/core/event-mapper.d.ts +37 -0
- package/dist/src/reactive/core/event-mapper.d.ts.map +1 -0
- package/dist/src/reactive/core/pool-stats.d.ts +47 -0
- package/dist/src/reactive/core/pool-stats.d.ts.map +1 -0
- package/dist/src/reactive/core/subscription-manager.d.ts +46 -0
- package/dist/src/reactive/core/subscription-manager.d.ts.map +1 -0
- package/dist/src/reactive/event-delegator.d.ts +84 -0
- package/dist/src/reactive/event-delegator.d.ts.map +1 -0
- package/dist/src/reactive/index.d.ts +61 -0
- package/dist/src/reactive/index.d.ts.map +1 -0
- package/dist/src/reactive/interfaces.d.ts +207 -0
- package/dist/src/reactive/interfaces.d.ts.map +1 -0
- package/dist/src/reactive/object-pool.d.ts +97 -0
- package/dist/src/reactive/object-pool.d.ts.map +1 -0
- package/dist/src/reactive/reactive-state.d.ts +132 -0
- package/dist/src/reactive/reactive-state.d.ts.map +1 -0
- package/package.json +52 -52
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Delete Operations
|
|
3
|
+
* Handles deletion of intervals from the tree
|
|
4
|
+
*/
|
|
5
|
+
import type { Interval, IntervalData } from '../interval-tree.interface';
|
|
6
|
+
import { IntervalNode } from '../node';
|
|
7
|
+
/**
|
|
8
|
+
* Delete an interval from the tree
|
|
9
|
+
*
|
|
10
|
+
* @param node - Root of the subtree
|
|
11
|
+
* @param interval - Interval to delete
|
|
12
|
+
* @param comparator - Comparator function for intervals
|
|
13
|
+
* @param balanced - Whether to balance the tree
|
|
14
|
+
* @param onDelete - Callback when a node is deleted
|
|
15
|
+
* @returns New root of the subtree (null if deleted)
|
|
16
|
+
*/
|
|
17
|
+
export declare function deleteNode<T>(node: IntervalNode<T> | null, interval: IntervalData<T>, comparator: (a: Interval, b: Interval) => number, balanced: boolean, onDelete?: () => void): IntervalNode<T> | null;
|
|
18
|
+
/**
|
|
19
|
+
* Find an interval by ID in the tree
|
|
20
|
+
*
|
|
21
|
+
* @param node - Root of the subtree
|
|
22
|
+
* @param id - ID to search for
|
|
23
|
+
* @returns The interval data if found, null otherwise
|
|
24
|
+
*/
|
|
25
|
+
export declare function findById<T>(node: IntervalNode<T> | null, id: string | number): IntervalData<T> | null;
|
|
26
|
+
//# sourceMappingURL=delete.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../../src/data-structures/interval-tree/operations/delete.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,YAAY,EAAwC,MAAM,SAAS,CAAC;AAG7E;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAC1B,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,EAC5B,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EACzB,UAAU,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,KAAK,MAAM,EAChD,QAAQ,EAAE,OAAO,EACjB,QAAQ,CAAC,EAAE,MAAM,IAAI,GACpB,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAmDxB;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACxB,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,EAC5B,EAAE,EAAE,MAAM,GAAG,MAAM,GAClB,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAQxB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Insert Operations
|
|
3
|
+
* Handles insertion of intervals into the tree
|
|
4
|
+
*/
|
|
5
|
+
import type { Interval, IntervalData } from '../interval-tree.interface';
|
|
6
|
+
import { IntervalNode } from '../node';
|
|
7
|
+
/**
|
|
8
|
+
* Insert an interval into the tree
|
|
9
|
+
*
|
|
10
|
+
* @param node - Root of the subtree
|
|
11
|
+
* @param interval - Interval to insert
|
|
12
|
+
* @param comparator - Comparator function for intervals
|
|
13
|
+
* @param allowDuplicates - Whether to allow duplicate intervals
|
|
14
|
+
* @param balanced - Whether to balance the tree
|
|
15
|
+
* @param onInsert - Callback called when a new node is inserted
|
|
16
|
+
* @returns New root of the subtree
|
|
17
|
+
*/
|
|
18
|
+
export declare function insertNode<T>(node: IntervalNode<T> | null, interval: IntervalData<T>, comparator: (a: Interval, b: Interval) => number, allowDuplicates: boolean, balanced: boolean, onInsert?: () => void): IntervalNode<T>;
|
|
19
|
+
//# sourceMappingURL=insert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insert.d.ts","sourceRoot":"","sources":["../../../../../src/data-structures/interval-tree/operations/insert.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,YAAY,EAA2B,MAAM,SAAS,CAAC;AAGhE;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAC1B,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,EAC5B,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,EACzB,UAAU,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,KAAK,MAAM,EAChD,eAAe,EAAE,OAAO,EACxB,QAAQ,EAAE,OAAO,EACjB,QAAQ,CAAC,EAAE,MAAM,IAAI,GACpB,YAAY,CAAC,CAAC,CAAC,CA2CjB"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Search Operations
|
|
3
|
+
* Handles various search queries on the interval tree
|
|
4
|
+
*/
|
|
5
|
+
import type { Interval, IntervalData } from '../interval-tree.interface';
|
|
6
|
+
import { IntervalNode } from '../node';
|
|
7
|
+
/**
|
|
8
|
+
* Find all intervals that overlap with the given interval
|
|
9
|
+
*
|
|
10
|
+
* @param node - Root of the subtree
|
|
11
|
+
* @param interval - Query interval
|
|
12
|
+
* @param result - Array to collect results
|
|
13
|
+
*/
|
|
14
|
+
export declare function searchOverlap<T>(node: IntervalNode<T> | null, interval: Interval, result: IntervalData<T>[]): void;
|
|
15
|
+
/**
|
|
16
|
+
* Check if any interval overlaps with the given interval
|
|
17
|
+
*
|
|
18
|
+
* @param node - Root of the subtree
|
|
19
|
+
* @param interval - Query interval
|
|
20
|
+
* @returns true if any overlap exists
|
|
21
|
+
*/
|
|
22
|
+
export declare function hasOverlap<T>(node: IntervalNode<T> | null, interval: Interval): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Find all intervals completely contained within the given interval
|
|
25
|
+
*
|
|
26
|
+
* @param node - Root of the subtree
|
|
27
|
+
* @param interval - Containing interval
|
|
28
|
+
* @param result - Array to collect results
|
|
29
|
+
*/
|
|
30
|
+
export declare function searchContained<T>(node: IntervalNode<T> | null, interval: Interval, result: IntervalData<T>[]): void;
|
|
31
|
+
/**
|
|
32
|
+
* Find all intervals that completely contain the given interval
|
|
33
|
+
*
|
|
34
|
+
* @param node - Root of the subtree
|
|
35
|
+
* @param interval - Interval to be contained
|
|
36
|
+
* @param result - Array to collect results
|
|
37
|
+
*/
|
|
38
|
+
export declare function searchContaining<T>(node: IntervalNode<T> | null, interval: Interval, result: IntervalData<T>[]): void;
|
|
39
|
+
/**
|
|
40
|
+
* Find the interval with the maximum endpoint
|
|
41
|
+
*
|
|
42
|
+
* @param node - Root of the subtree
|
|
43
|
+
* @returns Interval with the maximum endpoint
|
|
44
|
+
*/
|
|
45
|
+
export declare function findMaxEndpoint<T>(node: IntervalNode<T>): IntervalData<T>;
|
|
46
|
+
//# sourceMappingURL=search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../../../src/data-structures/interval-tree/operations/search.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,EAC5B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GACxB,IAAI,CAmBN;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAqBvF;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,EAC5B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GACxB,IAAI,CAiBN;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,EAC5B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GACxB,IAAI,CAiBN;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAmBzE"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Traversal Operations
|
|
3
|
+
* Handles traversal and iteration over the tree
|
|
4
|
+
*/
|
|
5
|
+
import type { IntervalData } from '../interval-tree.interface';
|
|
6
|
+
import { IntervalNode } from '../node';
|
|
7
|
+
/**
|
|
8
|
+
* Inorder traversal of the tree
|
|
9
|
+
*
|
|
10
|
+
* @param node - Root of the subtree
|
|
11
|
+
* @param result - Array to collect results
|
|
12
|
+
*/
|
|
13
|
+
export declare function inorder<T>(node: IntervalNode<T> | null, result: IntervalData<T>[]): void;
|
|
14
|
+
/**
|
|
15
|
+
* Iterate over all intervals in the tree
|
|
16
|
+
*
|
|
17
|
+
* @param node - Root of the subtree
|
|
18
|
+
* @param callback - Function to call for each interval
|
|
19
|
+
*/
|
|
20
|
+
export declare function forEach<T>(node: IntervalNode<T> | null, callback: (interval: IntervalData<T>) => void): void;
|
|
21
|
+
/**
|
|
22
|
+
* Validate tree structure
|
|
23
|
+
*
|
|
24
|
+
* @param node - Root of the subtree
|
|
25
|
+
* @param comparator - Comparator function for intervals
|
|
26
|
+
* @returns true if valid
|
|
27
|
+
*/
|
|
28
|
+
export declare function validateNode<T>(node: IntervalNode<T> | null, comparator: (a: IntervalData<T>, b: IntervalData<T>) => number): boolean;
|
|
29
|
+
//# sourceMappingURL=traversal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traversal.d.ts","sourceRoot":"","sources":["../../../../../src/data-structures/interval-tree/operations/traversal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAKxF;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,CAAC,EACvB,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,EAC5B,QAAQ,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,GAC5C,IAAI,CAKN;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,EAC5B,UAAU,EAAE,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,MAAM,GAC7D,OAAO,CAuBT"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility Operations
|
|
3
|
+
* Static and helper methods for IntervalTree
|
|
4
|
+
*/
|
|
5
|
+
import type { IIntervalTree, Interval, IntervalData, IntervalTreeOptions } from '../interval-tree.interface';
|
|
6
|
+
import type { IntervalNode } from '../node';
|
|
7
|
+
/**
|
|
8
|
+
* Filter intervals by a predicate
|
|
9
|
+
*/
|
|
10
|
+
export declare function filter<T>(tree: IIntervalTree<T>, root: IntervalNode<T> | null, predicate: (interval: IntervalData<T>) => boolean, options: IntervalTreeOptions): IIntervalTree<T>;
|
|
11
|
+
/**
|
|
12
|
+
* Map intervals to a new interval tree
|
|
13
|
+
*/
|
|
14
|
+
export declare function map<T, U>(tree: IIntervalTree<T>, root: IntervalNode<T> | null, mapper: (data: T, interval: Interval) => U, options: IntervalTreeOptions): IIntervalTree<U>;
|
|
15
|
+
/**
|
|
16
|
+
* Get tree structure as string
|
|
17
|
+
*/
|
|
18
|
+
export declare function treeToString<T>(root: IntervalNode<T> | null, balanced: boolean): string;
|
|
19
|
+
/**
|
|
20
|
+
* Validate tree structure
|
|
21
|
+
*/
|
|
22
|
+
export declare function validate<T>(root: IntervalNode<T> | null, comparator: (a: Interval, b: Interval) => number): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Create IntervalTree from array of intervals
|
|
25
|
+
*/
|
|
26
|
+
export declare function fromArray<T>(IntervalTreeClass: new (opts?: IntervalTreeOptions) => IIntervalTree<T>, intervals: Array<{
|
|
27
|
+
interval: Interval;
|
|
28
|
+
data: T;
|
|
29
|
+
}>, options?: IntervalTreeOptions): IIntervalTree<T>;
|
|
30
|
+
//# sourceMappingURL=utilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utilities.d.ts","sourceRoot":"","sources":["../../../../../src/data-structures/interval-tree/operations/utilities.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAI5C;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EACtB,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EACtB,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,EAC5B,SAAS,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,OAAO,EACjD,OAAO,EAAE,mBAAmB,GAC3B,aAAa,CAAC,CAAC,CAAC,CAWlB;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EACtB,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EACtB,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,EAC5B,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,KAAK,CAAC,EAC1C,OAAO,EAAE,mBAAmB,GAC3B,aAAa,CAAC,CAAC,CAAC,CAUlB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAIvF;AAUD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACxB,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,EAC5B,UAAU,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,KAAK,MAAM,GAC/C,OAAO,CAET;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACzB,iBAAiB,EAAE,KAAK,IAAI,CAAC,EAAE,mBAAmB,KAAK,aAAa,CAAC,CAAC,CAAC,EACvE,SAAS,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,EACjD,OAAO,CAAC,EAAE,mBAAmB,GAC5B,aAAa,CAAC,CAAC,CAAC,CAMlB"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { LRUCache } from './lru-cache';
|
|
2
|
-
export type { ILRUCache, LRUCacheOptions, CacheEntry, CacheStats
|
|
2
|
+
export type { ILRUCache, LRUCacheOptions, CacheEntry, CacheStats } from './lru-cache.interface';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/lru-cache/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/lru-cache/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lru-cache.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/lru-cache/lru-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"lru-cache.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/lru-cache/lru-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAiBhG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,qBAAa,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAE,YAAW,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;IACpD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,KAAK,CAAwB;IACrC,OAAO,CAAC,IAAI,CAA8B;IAC1C,OAAO,CAAC,IAAI,CAA8B;IAC1C,OAAO,CAAC,OAAO,CAAC,CAA6B;IAC7C,OAAO,CAAC,UAAU,CAAU;IAG5B,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,IAAI,CAAa;gBAEb,OAAO,GAAE,eAAoB;IAYzC;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IA0B1B;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAyB3B;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAYpB;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAUvB;;OAEG;IACH,KAAK,IAAI,IAAI;IAab;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,QAAQ,IAAI,UAAU;IAsBtB;;OAEG;IACH,IAAI,IAAI,CAAC,EAAE;IAYX;;OAEG;IACH,MAAM,IAAI,CAAC,EAAE;IAYb;;OAEG;IACH,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAoBpC;;OAEG;IACH,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAa3B;;OAEG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAejC;;OAEG;IACH,OAAO,CAAC,SAAS;IAKjB;;OAEG;IACH,OAAO,CAAC,UAAU;IAOlB;;OAEG;IACH,OAAO,CAAC,SAAS;IAejB;;OAEG;IACH,OAAO,CAAC,UAAU;IAclB;;OAEG;IACH,OAAO,CAAC,QAAQ;CAcjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefix-sum-array.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/prefix-sum-array/prefix-sum-array.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,IAAI,eAAe,EACjC,qBAAqB,EACtB,MAAM,8BAA8B,CAAC;AAGtC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,cAAe,YAAW,eAAe;IACpD,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,IAAI,CAAW;gBAEX,OAAO,GAAE,qBAA0B;IAM/C;;;;OAIG;IACH,OAAO,CAAC,KAAK;IASb,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"prefix-sum-array.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/prefix-sum-array/prefix-sum-array.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,IAAI,eAAe,EACjC,qBAAqB,EACtB,MAAM,8BAA8B,CAAC;AAGtC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,cAAe,YAAW,eAAe;IACpD,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,IAAI,CAAW;gBAEX,OAAO,GAAE,qBAA0B;IAM/C;;;;OAIG;IACH,OAAO,CAAC,KAAK;IASb,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOhC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOjC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAO/C,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IA6BzC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAkB7C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAO/B,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,UAAU,IAAI,aAAa,CAAC,MAAM,CAAC,CAEtC;IAED;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IASzB;;;OAGG;IACH,GAAG,IAAI,MAAM,GAAG,SAAS;IASzB;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc;CAG9C"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RingBuffer - Fixed-size circular buffer
|
|
3
|
+
*
|
|
4
|
+
* @description
|
|
5
|
+
* Circular buffer with fixed capacity that auto-evicts oldest items.
|
|
6
|
+
* Perfect for event history, logging, and debugging.
|
|
7
|
+
*
|
|
8
|
+
* @performance
|
|
9
|
+
* - push: O(1)
|
|
10
|
+
* - get: O(1)
|
|
11
|
+
* - toArray: O(n)
|
|
12
|
+
* - Memory: Fixed at capacity
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* const history = new RingBuffer<Event>(100);
|
|
17
|
+
*
|
|
18
|
+
* // Add events
|
|
19
|
+
* history.push(event1);
|
|
20
|
+
* history.push(event2);
|
|
21
|
+
* // ... 100 more events
|
|
22
|
+
*
|
|
23
|
+
* // Latest 100 events available
|
|
24
|
+
* const recent = history.toArray(); // [event1, event2, ...]
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare class RingBuffer<T> {
|
|
28
|
+
private readonly capacity;
|
|
29
|
+
private buffer;
|
|
30
|
+
private head;
|
|
31
|
+
private tail;
|
|
32
|
+
private count;
|
|
33
|
+
constructor(capacity: number);
|
|
34
|
+
/**
|
|
35
|
+
* Add item to buffer (O(1))
|
|
36
|
+
* Auto-evicts oldest if full
|
|
37
|
+
*/
|
|
38
|
+
push(item: T): void;
|
|
39
|
+
/**
|
|
40
|
+
* Get item at index (O(1))
|
|
41
|
+
* Index 0 = oldest, size()-1 = newest
|
|
42
|
+
*/
|
|
43
|
+
get(index: number): T | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Get newest item (O(1))
|
|
46
|
+
*/
|
|
47
|
+
newest(): T | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* Get oldest item (O(1))
|
|
50
|
+
*/
|
|
51
|
+
oldest(): T | undefined;
|
|
52
|
+
/**
|
|
53
|
+
* Convert to array (O(n))
|
|
54
|
+
* Returns [oldest, ..., newest]
|
|
55
|
+
*/
|
|
56
|
+
toArray(): T[];
|
|
57
|
+
/**
|
|
58
|
+
* Get current size
|
|
59
|
+
*/
|
|
60
|
+
size(): number;
|
|
61
|
+
/**
|
|
62
|
+
* Check if empty
|
|
63
|
+
*/
|
|
64
|
+
isEmpty(): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Check if full
|
|
67
|
+
*/
|
|
68
|
+
isFull(): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Get capacity
|
|
71
|
+
*/
|
|
72
|
+
getCapacity(): number;
|
|
73
|
+
/**
|
|
74
|
+
* Clear buffer
|
|
75
|
+
*/
|
|
76
|
+
clear(): void;
|
|
77
|
+
/**
|
|
78
|
+
* Iterate over items (oldest to newest)
|
|
79
|
+
*/
|
|
80
|
+
forEach(callback: (item: T, index: number) => void): void;
|
|
81
|
+
/**
|
|
82
|
+
* Get item at index with bounds checking
|
|
83
|
+
* @throws Error if index is out of bounds
|
|
84
|
+
*/
|
|
85
|
+
at(index: number): T;
|
|
86
|
+
/**
|
|
87
|
+
* Replace item at index
|
|
88
|
+
* @throws Error if index is out of bounds
|
|
89
|
+
*/
|
|
90
|
+
set(index: number, item: T): void;
|
|
91
|
+
/**
|
|
92
|
+
* Get all items as a new array (alternative to toArray)
|
|
93
|
+
*/
|
|
94
|
+
values(): T[];
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=ring-buffer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ring-buffer.d.ts","sourceRoot":"","sources":["../../../src/data-structures/ring-buffer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,UAAU,CAAC,CAAC;IAMX,OAAO,CAAC,QAAQ,CAAC,QAAQ;IALrC,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,KAAK,CAAK;gBAEW,QAAQ,EAAE,MAAM;IAO7C;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAYnB;;;OAGG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IASjC;;OAEG;IACH,MAAM,IAAI,CAAC,GAAG,SAAS;IAOvB;;OAEG;IACH,MAAM,IAAI,CAAC,GAAG,SAAS;IAKvB;;;OAGG;IACH,OAAO,IAAI,CAAC,EAAE;IASd;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;OAEG;IACH,MAAM,IAAI,OAAO;IAIjB;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAOzD;;;OAGG;IACH,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC;IASpB;;;OAGG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;IASjC;;OAEG;IACH,MAAM,IAAI,CAAC,EAAE;CAGd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rtree.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/rtree/rtree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,SAAS,EAET,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACX,MAAM,mBAAmB,CAAC;AAmB3B;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,KAAK,CAAC,CAAC,GAAG,GAAG,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,SAAS,CAAa;gBAElB,OAAO,GAAE,YAAiB;IAStC;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;IAMtC;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE;IAQ/C;;OAEG;IACH,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE;IAS3D;;OAEG;IACH,OAAO,
|
|
1
|
+
{"version":3,"file":"rtree.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/rtree/rtree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,SAAS,EAET,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACX,MAAM,mBAAmB,CAAC;AAmB3B;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,KAAK,CAAC,CAAC,GAAG,GAAG,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,SAAS,CAAa;gBAElB,OAAO,GAAE,YAAiB;IAStC;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;IAMtC;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE;IAQ/C;;OAEG;IACH,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,EAAE;IAS3D;;OAEG;IACH,OAAO,CACL,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,UAAU,GAAE,MAAU,EACtB,WAAW,GAAE,MAAiB,GAC7B,iBAAiB,CAAC,CAAC,CAAC,EAAE;IAuDzB;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO;IAmC1C;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,GAAG,IAAI,iBAAiB,CAAC,CAAC,CAAC,EAAE;IAQ7B;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;OAEG;IACH,QAAQ,IAAI,UAAU;IAuBtB;;OAEG;IACH,OAAO,IAAI,IAAI;IAWf,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,QAAQ;IAuBhB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,UAAU;IA+DlB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,KAAK;IA8Bb,OAAO,CAAC,QAAQ;IA6BhB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,WAAW;CAcpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aggregation-config.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/segment-tree/aggregation-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEzE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,eAAe,GAAG;IAC3D,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;CAClB,CAiBA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { SegmentTree } from './segment-tree';
|
|
2
|
-
export type { ISegmentTree, SegmentTreeOptions, AggregateFunction
|
|
2
|
+
export type { ISegmentTree, SegmentTreeOptions, AggregateFunction } from './segment-tree.interface';
|
|
3
3
|
export { Aggregations, SegmentTreeUtils, AggregationType } from './segment-tree.interface';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/segment-tree/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/segment-tree/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { AggregateFunction } from './segment-tree.interface';
|
|
2
|
+
import { AggregationType } from './segment-tree.interface';
|
|
3
|
+
export declare function pushDown<T>(tree: T[], lazy: T[], aggregate: AggregateFunction<T>, identityValue: T, type: AggregationType, node: number, start: number, end: number): void;
|
|
4
|
+
export declare function applyUpdate<T>(nodeValue: T, updateValue: T, rangeSize: number, aggregate: AggregateFunction<T>, type: AggregationType): T;
|
|
5
|
+
//# sourceMappingURL=lazy-propagation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy-propagation.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/segment-tree/lazy-propagation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAoB,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE7E,wBAAgB,QAAQ,CAAC,CAAC,EACxB,IAAI,EAAE,CAAC,EAAE,EACT,IAAI,EAAE,CAAC,EAAE,EACT,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC/B,aAAa,EAAE,CAAC,EAChB,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,GACV,IAAI,CAgBN;AAED,wBAAgB,WAAW,CAAC,CAAC,EAC3B,SAAS,EAAE,CAAC,EACZ,WAAW,EAAE,CAAC,EACd,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC/B,IAAI,EAAE,eAAe,GACpB,CAAC,CAMH"}
|
|
@@ -1,38 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Segment Tree implementation
|
|
3
|
-
* Efficient range query and update data structure
|
|
4
|
-
*/
|
|
5
1
|
import type { ISegmentTree, SegmentTreeOptions, AggregateFunction } from './segment-tree.interface';
|
|
6
2
|
import { AggregationType } from './segment-tree.interface';
|
|
7
|
-
/**
|
|
8
|
-
* Segment Tree - Efficient range queries and updates
|
|
9
|
-
*
|
|
10
|
-
* Implementation:
|
|
11
|
-
* - Array-based complete binary tree
|
|
12
|
-
* - Each node stores the aggregate of its range
|
|
13
|
-
* - Supports lazy propagation for efficient range updates
|
|
14
|
-
* - Generic type T for flexibility (numbers, objects, etc.)
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```typescript
|
|
18
|
-
* // Sum queries
|
|
19
|
-
* const tree = new SegmentTree({ values: [1, 3, 5, 7, 9, 11], type: 'sum' });
|
|
20
|
-
* tree.query(1, 3); // Returns 15 (3 + 5 + 7)
|
|
21
|
-
* tree.update(1, 10); // Change 3 to 10
|
|
22
|
-
* tree.query(1, 3); // Returns 22 (10 + 5 + 7)
|
|
23
|
-
*
|
|
24
|
-
* // Min queries
|
|
25
|
-
* const minTree = new SegmentTree({ values: [5, 2, 8, 1, 9], type: 'min' });
|
|
26
|
-
* minTree.query(0, 4); // Returns 1
|
|
27
|
-
* minTree.update(3, 10);
|
|
28
|
-
* minTree.query(0, 4); // Returns 2
|
|
29
|
-
*
|
|
30
|
-
* // Status bar aggregation example
|
|
31
|
-
* const cellValues = [100, 200, 150, 300, 250];
|
|
32
|
-
* const sumTree = new SegmentTree({ values: cellValues, type: 'sum' });
|
|
33
|
-
* sumTree.query(1, 3); // Sum of cells 1-3: 650
|
|
34
|
-
* ```
|
|
35
|
-
*/
|
|
36
3
|
export declare class SegmentTree<T> implements ISegmentTree<T> {
|
|
37
4
|
private tree;
|
|
38
5
|
private lazy;
|
|
@@ -43,92 +10,21 @@ export declare class SegmentTree<T> implements ISegmentTree<T> {
|
|
|
43
10
|
private useLazy;
|
|
44
11
|
private _type;
|
|
45
12
|
constructor(options: SegmentTreeOptions<T>);
|
|
46
|
-
/**
|
|
47
|
-
* Get aggregation configuration
|
|
48
|
-
*/
|
|
49
|
-
private getAggregationConfig;
|
|
50
|
-
/**
|
|
51
|
-
* Build the segment tree recursively
|
|
52
|
-
*/
|
|
53
|
-
private buildTree;
|
|
54
|
-
/**
|
|
55
|
-
* Push lazy updates down to children
|
|
56
|
-
*/
|
|
57
13
|
private pushDown;
|
|
58
|
-
/**
|
|
59
|
-
* Apply update to a node value
|
|
60
|
-
* For SUM: multiply update by range size
|
|
61
|
-
* For MIN/MAX: just use the update value
|
|
62
|
-
*/
|
|
63
|
-
private applyUpdate;
|
|
64
|
-
/**
|
|
65
|
-
* Query range [left, right]
|
|
66
|
-
*/
|
|
67
14
|
query(left: number, right: number): T;
|
|
68
|
-
/**
|
|
69
|
-
* Recursive query helper
|
|
70
|
-
*/
|
|
71
|
-
private queryTree;
|
|
72
|
-
/**
|
|
73
|
-
* Update a single element
|
|
74
|
-
*/
|
|
75
15
|
update(index: number, value: T): void;
|
|
76
|
-
/**
|
|
77
|
-
* Recursive update helper
|
|
78
|
-
*/
|
|
79
|
-
private updateTree;
|
|
80
|
-
/**
|
|
81
|
-
* Update a range [left, right]
|
|
82
|
-
*/
|
|
83
16
|
rangeUpdate(left: number, right: number, value: T): void;
|
|
84
|
-
/**
|
|
85
|
-
* Lazy range update helper
|
|
86
|
-
*/
|
|
87
|
-
private rangeUpdateLazy;
|
|
88
|
-
/**
|
|
89
|
-
* Get value at index
|
|
90
|
-
*/
|
|
91
17
|
get(index: number): T;
|
|
92
|
-
/**
|
|
93
|
-
* Build tree from new array
|
|
94
|
-
*/
|
|
95
18
|
build(arr: T[]): void;
|
|
96
|
-
/**
|
|
97
|
-
* Convert tree to array
|
|
98
|
-
*/
|
|
99
19
|
toArray(): T[];
|
|
100
|
-
/**
|
|
101
|
-
* Find first index where predicate is true
|
|
102
|
-
*/
|
|
103
20
|
findFirst(left: number, predicate: (value: T) => boolean): number;
|
|
104
|
-
/**
|
|
105
|
-
* Get size of array
|
|
106
|
-
*/
|
|
107
21
|
get size(): number;
|
|
108
|
-
/**
|
|
109
|
-
* Get total aggregated value
|
|
110
|
-
*/
|
|
111
22
|
get total(): T;
|
|
112
|
-
/**
|
|
113
|
-
* Get aggregation type
|
|
114
|
-
*/
|
|
115
23
|
get aggregationType(): AggregationType;
|
|
116
|
-
/**
|
|
117
|
-
* Create SegmentTree from array
|
|
118
|
-
*/
|
|
119
24
|
static from<T>(values: T[], type?: AggregationType): SegmentTree<T>;
|
|
120
|
-
/**
|
|
121
|
-
* Create custom SegmentTree
|
|
122
|
-
*/
|
|
123
25
|
static custom<T>(values: T[], aggregate: AggregateFunction<T>, identity: T): SegmentTree<T>;
|
|
124
|
-
|
|
125
|
-
* Debug: Print tree structure
|
|
126
|
-
*/
|
|
26
|
+
findIndexAtSum(target: number): number;
|
|
127
27
|
toString(): string;
|
|
128
|
-
/**
|
|
129
|
-
* Debug: Validate tree structure
|
|
130
|
-
*/
|
|
131
28
|
validate(): boolean;
|
|
132
|
-
private validateNode;
|
|
133
29
|
}
|
|
134
30
|
//# sourceMappingURL=segment-tree.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"segment-tree.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/segment-tree/segment-tree.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"segment-tree.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/segment-tree/segment-tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACpG,OAAO,EAAoB,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAS7E,qBAAa,WAAW,CAAC,CAAC,CAAE,YAAW,YAAY,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,CAAC,CAAS;IAClB,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,KAAK,CAAkB;gBAEnB,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;IA6B1C,OAAO,CAAC,QAAQ;IAchB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;IAwBrC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAoBrC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IA0BxD,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC;IAQrB,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI;IAarB,OAAO,IAAI,CAAC,EAAE;IAQd,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,MAAM;IAUjE,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,KAAK,IAAI,CAAC,CAKb;IAED,IAAI,eAAe,IAAI,eAAe,CAErC;IAED,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,IAAI,GAAE,eAAqC,GAAG,WAAW,CAAC,CAAC,CAAC;IAIxF,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;IAS3F,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IA0BtC,QAAQ,IAAI,MAAM;IAIlB,QAAQ,IAAI,OAAO;CAGpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"segment-tree.interface.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/segment-tree/segment-tree.interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAErD;;GAEG;AACH,oBAAY,eAAe;IACzB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC;IAEtC;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAEtC;;;;;;OAMG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAEzD;;;;;OAKG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC;IAEtB;;;;OAIG;IACH,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC;IAEtB;;;;OAIG;IACH,OAAO,IAAI,CAAC,EAAE,CAAC;IAEf;;;;;;;OAOG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,MAAM,CAAC;IAElE;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;IAEb;;;OAGG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC;IAEvB;;;OAGG;IACH,eAAe,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAEvC;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEb;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY;;gBAEb,MAAM,KAAK,MAAM;;;;gBAIjB,MAAM,KAAK,MAAM;;;;gBAIjB,MAAM,KAAK,MAAM;;;;gBAIjB,MAAM,KAAK,MAAM;;;;gBAWjB,MAAM,KAAK,MAAM;;;;gBAOjB,MAAM,KAAK,MAAM;;;CAG5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB;IAC3B;;OAEG;mBACY,MAAM,GAAG,MAAM;IAK9B;;OAEG;wBACiB,MAAM,QAAQ,MAAM,GAAG,OAAO;IAIlD;;OAEG;uBACgB,MAAM,SAAS,MAAM,QAAQ,MAAM,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"segment-tree.interface.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/segment-tree/segment-tree.interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAErD;;GAEG;AACH,oBAAY,eAAe;IACzB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC;IAEtC;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAEtC;;;;;;OAMG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAEzD;;;;;OAKG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC;IAEtB;;;;OAIG;IACH,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC;IAEtB;;;;OAIG;IACH,OAAO,IAAI,CAAC,EAAE,CAAC;IAEf;;;;;;;OAOG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,MAAM,CAAC;IAElE;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;IAEb;;;OAGG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC;IAEvB;;;OAGG;IACH,eAAe,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAEvC;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEb;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY;;gBAEb,MAAM,KAAK,MAAM;;;;gBAIjB,MAAM,KAAK,MAAM;;;;gBAIjB,MAAM,KAAK,MAAM;;;;gBAIjB,MAAM,KAAK,MAAM;;;;gBAWjB,MAAM,KAAK,MAAM;;;;gBAOjB,MAAM,KAAK,MAAM;;;CAG5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB;IAC3B;;OAEG;mBACY,MAAM,GAAG,MAAM;IAK9B;;OAEG;wBACiB,MAAM,QAAQ,MAAM,GAAG,OAAO;IAIlD;;OAEG;uBACgB,MAAM,SAAS,MAAM,QAAQ,MAAM,GAAG,OAAO;IAIhE;;OAEG;kBACW,MAAM,GAAG,MAAM;IAI7B;;OAEG;qBACc,MAAM,GAAG,MAAM;IAIhC;;OAEG;sBACe,MAAM,GAAG,MAAM;IAIjC;;OAEG;cACO,MAAM,SAAS,MAAM,GAAG,MAAM;CAGzC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-builder.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/segment-tree/tree-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,wBAAgB,SAAS,CAAC,CAAC,EACzB,IAAI,EAAE,CAAC,EAAE,EACT,GAAG,EAAE,CAAC,EAAE,EACR,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC/B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,GACV,IAAI,CAcN"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { AggregateFunction } from './segment-tree.interface';
|
|
2
|
+
export declare function queryTree<T>(tree: T[], lazy: T[], aggregate: AggregateFunction<T>, identityValue: T, useLazy: boolean, pushDownFn: (node: number, start: number, end: number) => void, node: number, start: number, end: number, left: number, right: number): T;
|
|
3
|
+
//# sourceMappingURL=tree-query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-query.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/segment-tree/tree-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,wBAAgB,SAAS,CAAC,CAAC,EACzB,IAAI,EAAE,CAAC,EAAE,EACT,IAAI,EAAE,CAAC,EAAE,EACT,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC/B,aAAa,EAAE,CAAC,EAChB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,EAC9D,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,CAAC,CA6CH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-search.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/segment-tree/tree-search.ts"],"names":[],"mappings":"AAEA,wBAAgB,uBAAuB,CAAC,CAAC,EACvC,IAAI,EAAE,CAAC,EAAE,EACT,IAAI,EAAE,CAAC,EAAE,EACT,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,EAC9D,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,GAChB,MAAM,CA2CR"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AggregateFunction } from './segment-tree.interface';
|
|
2
|
+
export declare function updateTree<T>(tree: T[], lazy: T[], aggregate: AggregateFunction<T>, useLazy: boolean, pushDownFn: (node: number, start: number, end: number) => void, node: number, start: number, end: number, index: number, value: T): void;
|
|
3
|
+
export declare function rangeUpdateLazy<T>(tree: T[], lazy: T[], aggregate: AggregateFunction<T>, pushDownFn: (node: number, start: number, end: number) => void, node: number, start: number, end: number, left: number, right: number, value: T): void;
|
|
4
|
+
//# sourceMappingURL=tree-update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-update.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/segment-tree/tree-update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,wBAAgB,UAAU,CAAC,CAAC,EAC1B,IAAI,EAAE,CAAC,EAAE,EACT,IAAI,EAAE,CAAC,EAAE,EACT,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC/B,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,EAC9D,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,CAAC,GACP,IAAI,CAqBN;AAED,wBAAgB,eAAe,CAAC,CAAC,EAC/B,IAAI,EAAE,CAAC,EAAE,EACT,IAAI,EAAE,CAAC,EAAE,EACT,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC/B,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,EAC9D,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,CAAC,GACP,IAAI,CAuBN"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-validation.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/segment-tree/tree-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAGlE,wBAAgB,YAAY,CAAC,CAAC,EAC5B,IAAI,EAAE,CAAC,EAAE,EACT,GAAG,EAAE,CAAC,EAAE,EACR,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC/B,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,GACV,OAAO,CAqBT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skip-list.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/skip-list/skip-list.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,SAAS,EAET,eAAe,EACf,WAAW,EACX,aAAa,EACd,MAAM,uBAAuB,CAAC;AAI/B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAE,YAAW,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;IACpD,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,KAAK,CAAS;gBAEV,OAAO,GAAE,eAAe,CAAC,CAAC,CAAM;IAW5C;;OAEG;IACH,OAAO,CAAC,UAAU;IAQlB;;OAEG;IACH,OAAO,CAAC,WAAW;IAQnB;;;OAGG;IACH,OAAO,CAAC,cAAc;
|
|
1
|
+
{"version":3,"file":"skip-list.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/skip-list/skip-list.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,SAAS,EAET,eAAe,EACf,WAAW,EACX,aAAa,EACd,MAAM,uBAAuB,CAAC;AAI/B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAE,YAAW,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;IACpD,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,KAAK,CAAS;gBAEV,OAAO,GAAE,eAAe,CAAC,CAAC,CAAM;IAW5C;;OAEG;IACH,OAAO,CAAC,UAAU;IAQlB;;OAEG;IACH,OAAO,CAAC,WAAW;IAQnB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAetB;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAmCpC;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAoB1B;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAIpB;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IA0BvB;;OAEG;IACH,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAYxB;;OAEG;IACH,IAAI,IAAI,CAAC,EAAE;IAYX;;OAEG;IACH,MAAM,IAAI,CAAC,EAAE;IAYb;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAuBlD;;OAEG;IACH,GAAG,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS;IAQpC;;OAEG;IACH,GAAG,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS;IAsBpC;;OAEG;IACH,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS;IAoBhD;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM;IAI1C;;OAEG;IACH,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS;IAkB5C;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS;IAkB9C;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI;IASnD;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,QAAQ,IAAI,aAAa;IAyBzB;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IAQvF;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,QAAQ,IAAI,OAAO;CAyBpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sparse-matrix.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/sparse-matrix/sparse-matrix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"sparse-matrix.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/sparse-matrix/sparse-matrix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,IAAI,aAAa,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEpG;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,YAAY,CAAC,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,IAAI,CAA8B;IAC1C,OAAO,CAAC,SAAS,CAAS;gBAEd,QAAQ,GAAE,mBAAwB;IAO9C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAK5C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;IAKtC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAuB7C,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;IAmBzC,KAAK,IAAI,IAAI;IAKb,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAM3C,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAc9C,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,IAAI;IAMjD,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAc9B,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAyBjC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAEA,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAQ3D;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE;CAarE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suffix-array.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/suffix-array/suffix-array.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,qBAAa,WAAY,YAAW,YAAY;IAC9C,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,WAAW,CAAW;IAC9B,OAAO,CAAC,GAAG,CAAyB;IACpC,OAAO,CAAC,OAAO,CAA+B;gBAElC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB;IAkB1D;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAgBjC;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,GAAE,MAAW,GAAG,kBAAkB,EAAE;IAmBpF;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAW9B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOlC;;OAEG;IACH,wBAAwB,IAAI,MAAM;IAkBlC;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAY1C;;OAEG;IACH,QAAQ,IAAI,gBAAgB;IAa5B;;OAEG;IACH,KAAK,IAAI,IAAI;IAQb;;OAEG;IACH,OAAO,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"suffix-array.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/suffix-array/suffix-array.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,qBAAa,WAAY,YAAW,YAAY;IAC9C,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,WAAW,CAAW;IAC9B,OAAO,CAAC,GAAG,CAAyB;IACpC,OAAO,CAAC,OAAO,CAA+B;gBAElC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB;IAkB1D;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAgBjC;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,GAAE,MAAW,GAAG,kBAAkB,EAAE;IAmBpF;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAW9B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOlC;;OAEG;IACH,wBAAwB,IAAI,MAAM;IAkBlC;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAY1C;;OAEG;IACH,QAAQ,IAAI,gBAAgB;IAa5B;;OAEG;IACH,KAAK,IAAI,IAAI;IAQb;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsBxB;;;OAGG;IACH,OAAO,CAAC,aAAa;IA6BrB;;OAEG;IACH,OAAO,CAAC,SAAS;CA0ClB"}
|
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
* Used for autocomplete, search suggestions, and prefix-based queries.
|
|
5
5
|
*/
|
|
6
6
|
export { Trie } from './trie';
|
|
7
|
-
export type { ITrie, ITrieNode, TrieOptions, TrieSearchResult
|
|
7
|
+
export type { ITrie, ITrieNode, TrieOptions, TrieSearchResult } from './trie.interface';
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/trie/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/trie/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trie.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/trie/trie.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"trie.d.ts","sourceRoot":"","sources":["../../../../src/data-structures/trie/trie.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAa,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAgBxF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,qBAAa,IAAK,YAAW,KAAK;IAChC,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,SAAS,CAAa;gBAElB,OAAO,GAAE,WAAgB;IASrC;;;;;;;;;;OAUG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAoB1B;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAO7B;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAOnC;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAkB3D;;;;;;;;;;;;;;;;OAgBG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB;IAqBpC;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAO7B;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;;;;;;;;;;OAWG;IACH,WAAW,IAAI,MAAM,EAAE;IAMvB;;;;OAIG;IACH,IAAI,IAAI,MAAM;IAId;;;;OAIG;IACH,OAAO,IAAI,OAAO;IAMlB;;OAEG;IACH,OAAO,CAAC,SAAS;IAIjB;;OAEG;IACH,OAAO,CAAC,WAAW;IAqBnB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAahB;;OAEG;IACH,OAAO,CAAC,YAAY;IAwBpB;;OAEG;IACH,OAAO,CAAC,eAAe;CA+BxB"}
|