@amarillion/helixgraph
Version:
A collection of graph algorithms for game development
33 lines (32 loc) • 706 B
JavaScript
/**
* Map<key, []>
*
* if key doesn't exist, create a single-element array with value
* if key exists, push to the end of the array
*/
export function mmArrayPush(map, key, value) {
const keyExists = map.has(key);
if (keyExists) {
map.get(key).push(value);
}
else {
map.set(key, [value]);
}
return !keyExists;
}
/**
* Map<key, Set()>
*
* if key doesn't exist, create a single-element Set with value
* if key exists, add to the Set
*/
export function mmSetAdd(map, key, value) {
const keyExists = map.has(key);
if (keyExists) {
map.get(key).add(value);
}
else {
map.set(key, new Set([value]));
}
return !keyExists;
}