Have ideas to improve npm?Join in the discussion! »

    mimic-fn
    TypeScript icon, indicating that this package has built-in type declarations

    4.0.0 • Public • Published

    mimic-fn


    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.

    Install

    $ npm install mimic-fn
    

    Usage

    import mimicFunction from 'mimic-fn';
    
    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


    Get professional support for this package with a Tidelift subscription
    Tidelift helps make open source sustainable for maintainers while giving companies
    assurances about security, maintenance, and licensing for their dependencies.

    Install

    npm i mimic-fn

    DownloadsWeekly Downloads

    23,338,942

    Version

    4.0.0

    License

    MIT

    Unpacked Size

    8.18 kB

    Total Files

    5

    Last publish

    Collaborators

    • avatar
    • avatar