Bringing lazy execution to higher order functions in JS!
How to Use
Install the package
npm i lazy-hofs
Add to your project
require("lazy-hofs");
lazySome()
let arr = [1, 2, 3, 4, 5, 6];
let ref = arr.lazySome((it) => {
return it === 9;
});
arr.push(9);
let result = ref.lazyEvaluate();
console.log(result);
lazyMap()
let arr = [1, 2, 3, 4, 5, 6];
let ref = arr.lazyMap((it) => {
return it * 9;
});
arr.push(9);
let result = ref.lazyEvaluate();
console.log(result);
lazyFilter()
let arr = [1, 2, 3, 4, 5, 6];
let ref = arr.lazyFilter((it) => {
return it % 2 === 0;
});
arr.push(9);
let result = ref.lazyEvaluate();
console.log(result);
lazyReduce()
let arr = [1, 2, 3, 4, 5, 6];
let ref = arr.lazyReduce((it, acc) => {
return (acc += it);
}, 0);
arr.push(9);
let result = ref.lazyEvaluate();
console.log(result);
Join me here: https://npmjs.com/package/lazy-hofs
Contributions welcome!
Top comments (2)
Maybe you could consider using my Metho library to do the monkey patching of the array prototype in a safe way that will not risk conflicts with other libraries
Thanks Jon, will give it a read