Permalink
Cannot retrieve contributors at this time
90 lines (56 sloc)
2.04 KB
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
codeql-action/node_modules/mimic-fn/readme.md
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<img src="media/logo.svg" alt="mimic-fn" width="400"> | |
<br> | |
> 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 | |
```js | |
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](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptor#Description) instead of throwing an error. | |
## Related | |
- [rename-fn](https://github.com/sindresorhus/rename-fn) - Rename a function | |
- [keep-func-props](https://github.com/ehmicky/keep-func-props) - Wrap a function without changing its name and other properties | |
--- | |
<div align="center"> | |
<b> | |
<a href="https://tidelift.com/subscription/pkg/npm-mimic-fn?utm_source=npm-mimic-fn&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a> | |
</b> | |
<br> | |
<sub> | |
Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies. | |
</sub> | |
</div> |