API reference
Map
Use DataMap when you want native Map semantics with collection helpers. Use ReadonlyMap when a consumer should not mutate the store. Use map() when you want a callable ge
Map
Extended Map
utilities plus callable and readonly wrappers.
Import
import { DataMap, ReadonlyMap, map } from '@stackpress/lib';
When To Use It
Use DataMap
when you want native Map
semantics with collection helpers. Use ReadonlyMap
when a consumer should not mutate the store. Use map()
when you want a callable getter plus Map
methods on one value.
API
Constructor
const users = new DataMap<string, number>([
['ada', 1],
['grace', 2]
]);
ReadonlyMap
takes the same entry-array shape.
DataMap Methods
| Method | Returns | Notes | |
|---|---|---|---|
filter(callback)
|
new DataMap
subclass |
Filters entries by value and key. | |
find(callback)
|
`[K, V] \ | undefined` | First matching entry. |
findKey(callback)
|
`K \ | undefined` | First matching key. |
findValue(callback)
|
`V \ | undefined` | First matching value. |
first()
|
`V \ | undefined` | Alias for index(0)
. |
index(index)
|
`V \ | undefined` | Value by insertion order. |
last()
|
`V \ | undefined` | Value at size - 1
. |
map(callback)
|
new DataMap<K, T>
|
Maps values while preserving keys. | |
toArray()
|
V[]
|
Values only. | |
toObject()
|
Record<string, V>
|
Converts entries to a plain object. | |
toString(replacer?, space?)
|
string
|
JSON string of toObject()
. |
ReadonlyMap Methods
ReadonlyMap
exposes read and transform helpers over an internal DataMap
:
entries()filter(callback)find(callback)findKey(callback)findValue(callback)forEach(iterator)get(key)has(key)keys()map(callback)sizetoObject()toString(replacer?, space?)values()
Callable Helper
const headers = map<string, string>();
headers.set('content-type', 'application/json');
headers('content-type');
headers.get('content-type');
map(data?)
returns a callable CallableMap<K, V>
. It supports normal DataMap
methods and a getter function signature.
Example
import { DataMap } from '@stackpress/lib';
const scores = new DataMap<string, number>();
scores.set('one', 1);
scores.set('two', 2);
scores.set('three', 3);
const passing = scores.filter(value => value >= 2);
const first = scores.first();
const serialized = scores.toString();