UNPKG

functionalscript

Version:

FunctionalScript is a purely functional subset of JavaScript

29 lines (28 loc) 702 B
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);