UNPKG

functional-switchcase

Version:

Functional switchcase taken from a Hackernoon article by Joel Thoms

26 lines (22 loc) 579 B
'use strict'; var executeIfFunction = function executeIfFunction(f) { return typeof f === 'function' ? f() : f; }; var switchcase = function switchcase(cases) { return function (defaultCase) { return function (key) { return cases.hasOwnProperty(key) ? cases[key] : defaultCase; }; }; }; var switchcaseF = function switchcaseF(cases) { return function (defaultCase) { return function (key) { return executeIfFunction(switchcase(cases)(defaultCase)(key)); }; }; }; module.exports = { switchcase: switchcase, switchcaseF: switchcaseF };