IdentityMap (Anoma v0.34.0)

A map with an identity value; all keys not explicitly assigned a value map to the identity.

Summary

Types

t(k, v)

@type t(k, v) :: %IdentityMap{
  identity: k,
  identityp: function(),
  map: %{required(k) => v}
}

Functions

get(map, key)

@spec get(t(key(), value()), key()) :: value()

new(from \\ %{}, identity, identityp)

@spec new(%{required(key()) => value()}, value(), (value() -> boolean())) ::
  t(key(), value())

put(map, key, value)

@spec put(t(key(), value()), key(), value()) :: t(key(), value())

update(map, key, fun)

@spec update(t(key(), value()), key(), (value() -> value())) :: term()