MCPcopy Create free account
hub / github.com/Effect-TS/effect / EmptyNode

Class EmptyNode

packages/effect/src/internal/hashMap.ts:125–175  ·  view source on GitHub ↗

@internal

Source from the content-addressed store, hash-verified

123
124/** @internal */
125class EmptyNode<K, V> extends Node<K, V> {
126 readonly _tag = "EmptyNode"
127
128 readonly edit = 0
129
130 get size(): number {
131 return 0
132 }
133
134 get(_shift: number, _hash: number, _key: K): Option.Option<V> {
135 return Option.none()
136 }
137
138 has(_shift: number, _hash: number, _key: K): boolean {
139 return false
140 }
141
142 set(
143 edit: number,
144 _shift: number,
145 hash: number,
146 key: K,
147 value: V,
148 added: { value: boolean }
149 ): Node<K, V> {
150 added.value = true
151 return new LeafNode(edit, hash, key, value)
152 }
153
154 remove(
155 _edit: number,
156 _shift: number,
157 _hash: number,
158 _key: K,
159 _removed: { value: boolean }
160 ): Node<K, V> | undefined {
161 return this
162 }
163
164 iterator(): Iterator<[K, V]> {
165 return ([] as Array<[K, V]>)[Symbol.iterator]()
166 }
167
168 [Symbol.iterator](): Iterator<[K, V]> {
169 return this.iterator()
170 }
171
172 override canEdit(_edit: number): boolean {
173 return false
174 }
175}
176
177/** @internal */
178class LeafNode<K, V> extends Node<K, V> {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected