function-double

Stand-in for a function

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
function-double
1.0.46 years ago6 years agoMinified + gzip package size for function-double in KB

Readme

function-double
CircleCI status Greenkeeper badge
Stands for the real function passing though all the descriptions and properties of the source function.
It is literally impossible to distinguish the real function, and it's double.
import functionDouble from 'function-double';

const secretFunction = (a,b) => a+b;
secretFunction.propTypes = "this is not React";
const wrapperFunction = (...args) => secretFunction(...args) + 4;

secretFunction.length === 2
wrapperFunction.length === 0
wrapperFunction.propTypes === undefined

const result = functionDouble(wrapperFunction, secretFunction);

wrapperFunction.propTypes === "this is not React";
wrapperFunction.length === 2;


result === wrapperFunction;/ / But not in IE11 :)

API

functionDouble(targetFunction, sourceFunction, [options]) - moves all the stuff from sourceFunction to target.
  • options.toString = (sourceFunction) => string. Override method for toString.
  • options.name = (sourceFunction) => string. Override method for name.

License

MIT