Popularity
2.0
Stable
Activity
3.8
-
91
8
17

Description

Useful when you wrap a function in another function and like to preserve the original name and other properties.

Monthly Downloads: 0
Programming language: JavaScript
License: MIT License
Latest version: v3.1.0

mimic-fn alternatives and similar modules

Based on the "Functional Programming" category.
Alternatively, view mimic-fn alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of mimic-fn or a related project?

Add another 'Functional Programming' Module

README

Build Status

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

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() {}'

API

mimicFn(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 companiesassurances about security, maintenance, and licensing for their dependencies.