UNPKG

@thi.ng/defmulti

Version:

Dynamic, extensible multiple dispatch via user supplied dispatch function.

14 lines (13 loc) 372 B
import { illegalArity } from "@thi.ng/errors/illegal-arity"; import { DEFAULT, defmulti } from "./defmulti.js"; const defmultiN = (impls, fallback) => { const fn = defmulti((...args) => args.length); fn.add(DEFAULT, fallback || ((...args) => illegalArity(args.length))); for (let id in impls) { fn.add(id, impls[id]); } return fn; }; export { defmultiN };