peach a19a732be8 commit message | 2 years ago | |
---|---|---|
.. | ||
index.d.ts | 2 years ago | |
index.js | 2 years ago | |
license | 2 years ago | |
package.json | 2 years ago | |
readme.md | 2 years ago |
Make a function mimic another one
Useful when you wrap a function in another function and like to preserve the original name and other properties.
$ npm install mimic-fn
const mimicFn = require('mimic-fn');
function foo() {}
foo.unicorn = '🦄';
function wrapper() {
return foo();
}
console.log(wrapper.name);
//=> 'wrapper'
mimicFn(wrapper, foo);
console.log(wrapper.name);
//=> 'foo'
console.log(wrapper.unicorn);
//=> '🦄'
console.log(String(wrapper));
//=> '/* Wrapped with wrapper() */\nfunction foo() {}'
Modifies the to
function to mimic the from
function. Returns the to
function.
name
, displayName
, and any other properties of from
are copied. The length
property is not copied. Prototype, class, and inherited properties are copied.
to.toString()
will return the same as from.toString()
but prepended with a Wrapped with to()
comment.
Type: Function
Mimicking function.
Type: Function
Function to mimic.
Type: object
Type: boolean
Default: false
Skip modifying non-configurable properties instead of throwing an error.