export function first(map) {
console.assert(map instanceof Map, map);
return map.entries().next().value;
}
export function getOrCreate(map, key, createCallback) {
console.assert(typeof map === "Map", map);
console.assert(typeof createCallback === "function", createCallback);
if (!map.has(key))
map.set(createCallback(map, key));
return map.get(key);
}
export function last(map) {
console.assert(map instanceof Map, map);
let result = undefined;
for (let entry of map.entries())
result = entry;
return result;
}
export function take(map, key) {
console.assert(map instanceof Map, map);
let value = map.get(key);
map.delete(key);
return value;
}