Playing with curry

by jacobwsmith

JavaScript

// const data = ['hi', 'bye', 'hello'];
// const filter = (arr: string[]) => {
//   const searchStr = 'h';
//   return arr.filter(res => {
//     if (res.includes(searchStr)) {
//       return true;
//     }
//     return false;
//   })
// }
// console.log('1: ', filter(data)('h'));

const compose = (...fns) => value => fns.reduceRight((acc, fn) => fn(acc), value);
// const add(a, b) => a + b;

// const example = compose(
//   val => { console.log(1); return `1<${val}>`; },
//   val => { console.log(2); return `2<${val}>`; }
// );
// const result = example('hello');
// console.log(result);


// const data = () => ['hi', 'bye', 'hello'];
// const filterData = compose(filter, data);
// console.log(filterData());

const data = _ => ['hi', 'bye', 'hello'];
const filterStr = str => str;
const filterMethod = (arr) => {
  const searchStr = 'h';
  return arr.filter(res => res.includes(searchStr));
}

// const filcompose()
const data2 = compose(filterMethod, data);
console.log(data2());