function-double
TypeScript icon, indicating that this package has built-in type declarations

1.0.4 • Public • Published

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

Package Sidebar

Install

npm i function-double

Weekly Downloads

9,884

Version

1.0.4

License

ISC

Unpacked Size

136 kB

Total Files

7

Last publish

Collaborators

  • kashey