On this page

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

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


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

Returns the visible contents as a plain Map.


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

Returns visible key/value pairs using the external representation.


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

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


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

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


delete(item): 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): void
  • item {K}
  • Returns: {Cell}

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


has(item): void

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


set(item, value): void
  • 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>