Class: Trie<T, U>
Defined in: packages/core/src/data-structures/trie.ts:13
Trie data structure for storing sequences of keys with associated values. Supports efficient prefix-based operations and iteration.
Type Parameters
| Type Parameter | Default type | Description |
|---|---|---|
T | - | Type of the key parts (e.g., string, symbol). |
U | true | Type of the value stored (default: true for set-like behavior). |
Constructors
Constructor
new Trie<
T,U>(source?):Trie<T,U>
Defined in: packages/core/src/data-structures/trie.ts:27
Creates a new Trie instance.
Parameters
| Parameter | Type | Description |
|---|---|---|
source? | Iterable<T[], any, any> | Record<Extract<T, string | symbol>, unknown> | Optional iterable of key arrays or object to initialize the trie. |
Returns
Trie<T, U>
Accessors
size
Get Signature
get size():
number
Defined in: packages/core/src/data-structures/trie.ts:18
Number of entries in the trie.
Returns
number
Methods
[iterator]()
[iterator]():
IterableIterator<T[]>
Defined in: packages/core/src/data-structures/trie.ts:173
Returns an iterator over all key sequences in the trie.
Returns
IterableIterator<T[]>
IterableIterator of key arrays.
add()
add(
parts):void
Defined in: packages/core/src/data-structures/trie.ts:56
Adds a key sequence to the trie, storing true as the value.
Parameters
| Parameter | Type | Description |
|---|---|---|
parts | T[] | Array of key parts. |
Returns
void
clear()
clear():
void
Defined in: packages/core/src/data-structures/trie.ts:150
Removes all entries from the trie.
Returns
void
clone()
clone(
deep?):Trie<T,U>
Defined in: packages/core/src/data-structures/trie.ts:238
Creates a clone of the trie.
Parameters
| Parameter | Type | Default value | Description |
|---|---|---|---|
deep | boolean | false | If true, performs a deep clone; otherwise, shallow clone. |
Returns
Trie<T, U>
A new Trie instance with the same contents.
delete()
delete(
parts):boolean
Defined in: packages/core/src/data-structures/trie.ts:124
Deletes a key sequence from the trie.
Parameters
| Parameter | Type | Description |
|---|---|---|
parts | T[] | Array of key parts. |
Returns
boolean
True if the key was deleted, false if not found.
entries()
entries(
prefix?):IterableIterator<[T[],U]>
Defined in: packages/core/src/data-structures/trie.ts:197
Returns an iterator over all [key, value] pairs, optionally starting with a prefix.
Parameters
| Parameter | Type | Default value | Description |
|---|---|---|---|
prefix | T[] | [] | Optional prefix to filter entries. |
Returns
IterableIterator<[T[], U]>
IterableIterator of [key array, value] pairs.
get()
get(
parts,defaultVal?):U
Defined in: packages/core/src/data-structures/trie.ts:99
Gets the value associated with a key sequence.
Parameters
| Parameter | Type | Description |
|---|---|---|
parts | T[] | Array of key parts. |
defaultVal? | U | Optional default value to set and return if the key is not found. |
Returns
U
The value if present, otherwise the provided default value.
has()
has(
parts):boolean
Defined in: packages/core/src/data-structures/trie.ts:83
Checks if a key sequence exists in the trie.
Parameters
| Parameter | Type | Description |
|---|---|---|
parts | T[] | Array of key parts. |
Returns
boolean
True if the key exists, false otherwise.
keys()
keys(
prefix?):IterableIterator<T[]>
Defined in: packages/core/src/data-structures/trie.ts:181
Returns an iterator over all key sequences, optionally starting with a prefix.
Parameters
| Parameter | Type | Default value | Description |
|---|---|---|---|
prefix | T[] | [] | Optional prefix to filter keys. |
Returns
IterableIterator<T[]>
IterableIterator of key arrays.
prefixAll()
prefixAll(
prefix):void
Defined in: packages/core/src/data-structures/trie.ts:158
Adds a prefix to all existing keys in the trie.
Parameters
| Parameter | Type | Description |
|---|---|---|
prefix | T[] | Array of key parts to prepend. |
Returns
void
set()
set(
parts,value):void
Defined in: packages/core/src/data-structures/trie.ts:64
Sets a value for a key sequence in the trie.
Parameters
| Parameter | Type | Description |
|---|---|---|
parts | T[] | Array of key parts. |
value | true | U | Value to associate with the key sequence. |
Returns
void