On this page

new StackedMap(): StackedMap<K, V>
Returns:StackedMap<K, V>
Attributes
map:Map<K, InternalCell<V>>
size:number
Returns the number of visible keys after collapsing the stack.
stack:Map<K, InternalCell<V>>[]
asArray(): K[]
Returns:K[]

Returns the visible keys as an array after collapsing the stack.


asMap(): Map<K, Cell<V>>
Returns:Map<K, Cell<V>>

Returns the visible contents as a plain Map.


asPairArray(): [K, Cell<V>][]
Returns:[K, Cell<V>][]

Returns visible key/value pairs using the external representation.


asSet(): Set<K>
Returns:Set<K>

Returns the visible keys as a Set after collapsing the stack.


createChild(): StackedMap<K, V>
Returns:StackedMap<K, V>

Creates a child StackedMap that sees the current layers as its parent scope.


delete(item): void
Attributes
item:K
Returns:void

Deletes a key from the current view, either by removing it outright in the root layer or by recording a tombstone in child layers.


get(item): Cell<V>
Attributes
item:K
Returns:Cell<V>

Returns the visible value for a key, caching parent hits and misses in the current layer.


has(item): boolean
Attributes
item:K
Returns:boolean

Checks whether a key exists in the current scope chain, caching any parent lookup result in the current layer.


set(item, value): void
Attributes
item:K
value:V
Returns:void

Stores a value in the current layer, preserving explicit undefined values with an internal marker.

Type:undefined | T

Type:T | typeof TOMBSTONE | typeof UNDEFINED_MARKER