1.0.4 • Published 6 years ago

function-double v1.0.4

Weekly downloads
2,240
License
ISC
Repository
github
Last release
6 years ago

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