Hyperlinkv0.8.0-beta.28

Trie

Trie.insertconsteffect/Trie.ts:177
<V>(key: string, value: V): (self: Trie<V>) => Trie<V>
<V>(self: Trie<V>, key: string, value: V): Trie<V>

Inserts a new entry in the Trie.

Example (Inserting entries)

import { Trie } from "effect"
import * as assert from "node:assert"

const trie1 = Trie.empty<number>().pipe(
  Trie.insert("call", 0)
)
const trie2 = trie1.pipe(Trie.insert("me", 1))
const trie3 = trie2.pipe(Trie.insert("mind", 2))
const trie4 = trie3.pipe(Trie.insert("mid", 3))

assert.deepStrictEqual(Array.from(trie1), [["call", 0]])
assert.deepStrictEqual(Array.from(trie2), [["call", 0], ["me", 1]])
assert.deepStrictEqual(Array.from(trie3), [["call", 0], ["me", 1], ["mind", 2]])
assert.deepStrictEqual(Array.from(trie4), [["call", 0], ["me", 1], ["mid", 3], [
  "mind",
  2
]])
mutations
Source effect/Trie.ts:1774 lines
export const insert: {
  <V>(key: string, value: V): (self: Trie<V>) => Trie<V>
  <V>(self: Trie<V>, key: string, value: V): Trie<V>
} = TR.insert