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