Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

function-double

theKashey34.8kISC1.0.4TypeScript support: included

Stand-in for a function

function, arity, descriptor, length

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