Skip to main content

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 ParameterDefault typeDescription
T-Type of the key parts (e.g., string, symbol).
UtrueType 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​

ParameterTypeDescription
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​

ParameterTypeDescription
partsT[]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​

ParameterTypeDefault valueDescription
deepbooleanfalseIf 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​

ParameterTypeDescription
partsT[]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​

ParameterTypeDefault valueDescription
prefixT[][]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​

ParameterTypeDescription
partsT[]Array of key parts.
defaultVal?UOptional 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​

ParameterTypeDescription
partsT[]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​

ParameterTypeDefault valueDescription
prefixT[][]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​

ParameterTypeDescription
prefixT[]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​

ParameterTypeDescription
partsT[]Array of key parts.
valuetrue | UValue to associate with the key sequence.

Returns​

void