JSFiddle - React, Tailwind, and code Playground

by evgkch

Babel + JSX

const fn = x => x ** 2;
const gn = x => x + 2;

const test = (fn, ...args) => {
	const res = fn(...args);
	return {
  	equals: (value) => {
    	console.log(res === value);
    }
  };
};

test(fn, 2).equals(4);
test(fn, 3).equals(9);

test(gn, 2).equals(4);
test(gn, 3).equals(5);

function chain(...fns){
	const fnsLength = fns.length;
	return (...args)=>{
  	for (const i = fnsLength - 1; i >= 0; i++){
    	console.log(i)
    }
  };
};

console.log(chain(gn, fn)(2));