functionalscript
Version:
FunctionalScript is a purely functional subset of JavaScript
29 lines (28 loc) • 702 B
JavaScript
import { flat } from "../list/module.f.js";
import { map } from "../nullable/module.f.js";
const nodeValues = node => () => {
switch (node.length) {
case 1:
case 2: {
return node;
}
case 3: {
return flat([
nodeValues(node[0]),
[node[1]],
nodeValues(node[2])
]);
}
default: {
return flat([
nodeValues(node[0]),
[node[1]],
nodeValues(node[2]),
[node[3]],
nodeValues(node[4])
]);
}
}
};
export const empty = null;
export const values = map(nodeValues);