UNPKG

teth

Version:

Functional, reactive, pattern matching based, centralized state tree, open source JS library.

24 lines (20 loc) 625 B
/* Copyright 2017 Ronny Reichmann */ /* FUZZIFY Adjectify value ranges for later use in pattern matching */ function composeCheckFn (compareFn, adjective) { return nextCheckFn => { return value => { if (compareFn(value)) return adjective else return nextCheckFn(value) } } } function fuzzify (config) { const initializers = Object.keys(config) .map(adjective => { const compareFn = config[adjective] return composeCheckFn(compareFn, adjective) }) initializers.reverse() return initializers.reduce((acc, initCheckFn) => initCheckFn(acc), v => v) } module.exports = fuzzify