5.0.1 • Published 9 months ago
mimic-function v5.0.1
Make a function mimic another one
Useful when you wrap a function in another function and you would like to preserve the original name and other properties.
Install
npm install mimic-function
Usage
import mimicFunction from 'mimic-function';
function foo() {}
foo.unicorn = '🦄';
function wrapper() {
return foo();
}
console.log(wrapper.name);
//=> 'wrapper'
mimicFunction(wrapper, foo);
console.log(wrapper.name);
//=> 'foo'
console.log(wrapper.unicorn);
//=> '🦄'
console.log(String(wrapper));
//=> '/* Wrapped with wrapper() */\nfunction foo() {}'
API
mimicFunction(to, from, options?)
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.
to
Type: Function
Mimicking function.
from
Type: Function
Function to mimic.
options
Type: object
ignoreNonConfigurable
Type: boolean
\
Default: false
Skip modifying non-configurable properties instead of throwing an error.
Related
- rename-fn - Rename a function
- keep-func-props - Wrap a function without changing its name and other properties