functionalscript
Version:
FunctionalScript is a purely functional subset of JavaScript
18 lines (17 loc) • 416 B
JavaScript
const concat = (x, y) => ({
*[Symbol.iterator]() {
yield* x;
yield* y;
}
});
const filter = (i, p) => ({
*[Symbol.iterator]() {
for (const x of i) {
if (p(x)) {
yield x;
}
}
}
});
export const mapSet = (map, k, v) => new Map(concat(map, [[k, v]]));
export const mapDelete = (map, k) => new Map(filter(map, ([xk]) => xk !== k));