DEV Community

Harsh Joshi
Harsh Joshi

Posted on

Fun Experiment: Bringing lazy execution to JS!

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);
Enter fullscreen mode Exit fullscreen mode

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);
Enter fullscreen mode Exit fullscreen mode

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);
Enter fullscreen mode Exit fullscreen mode

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);
Enter fullscreen mode Exit fullscreen mode

Join me here: https://npmjs.com/package/lazy-hofs
Contributions welcome!

Discussion (0)