The generic type parameter K
can be any valid AssemblyScript type.
The generic type parameter V
can be any valid AssemblyScript type.
Creates or restores a persistent map with a given storage prefix. Always use a unique storage prefix for different collections.
Example
let map = new PersistentMap<string, string>("m") // note the prefix must be unique (per NEAR account)
A prefix to use for every key of this map.
Checks whether the map contains a given key
let map = new PersistentMap<string, string>("m")
map.contains("hello") // false
map.set("hello", "world")
map.contains("hello") // true
Key to check.
True if the given key present in the map.
Removes the given key and related value from the map
let map = new PersistentMap<string, string>("m")
map.set("hello", "world")
map.delete("hello")
Removes value and the key from the map.
Key to remove.
Retrieves the related value for a given key, or uses the defaultValue
if not key is found
let map = new PersistentMap<string, string>("m")
map.set("hello", "world")
let found = map.get("hello")
let notFound = map.get("goodbye", "cruel world")
assert(found == "world")
assert(notFound == "cruel world")
Key of the element.
The default value if the key is not present.
Value for the given key or the default value.
Retrieves a related value for a given key or fails assertion with "key not found"
let map = new PersistentMap<string, string>("m")
map.set("hello", "world")
let result = map.getSome("hello")
// map.getSome("goodbye") // will throw with failed assertion
assert(result == "world")
Key of the element.
Value for the given key or the default value.
```ts let map = new PersistentMap<string, string>("m")
map.set("hello", "world")
```
Sets the new value for the given key.
Key of the element.
The new value of the element.
Generated using TypeDoc
This class is one of several convenience collections built on top of the
Storage
class exposed by the NEAR platform. It implements a map -- a persistent unordered map.To create a map
let map = new PersistentMap<string, string>("m") // choose a unique prefix per account
To use the map
IMPORTANT NOTES:
(1) The Map doesn't store keys, so if you need to retrieve them, include keys in the values.
(2) Since all data stored on the blockchain is kept in a single key-value store under the contract account, you must always use a unique storage prefix for different collections to avoid data collision.