fulcon

2.0.0 • Public • Published

fulcon NPM Module

Clones a function (creates wrapper function), with the same signature as source function

PhantomJS Build Linux Build MacOS Build Windows Build

Coverage Status Dependency Status MIT license

compression size
fulcon.js 1.03 kB
fulcon.min.js 686 B
fulcon.min.js.gz 386 B

Install

$ npm install --save fulcon

Example

var fulcon = require('fulcon');
 
function original(a, b, c)
{
  return 42 + a + b + c;
}
 
assert.strictEqual(original.length, 3, 'signature of the original function has 3 arguments');
assert.strictEqual(original(1, 2, 3), 48, 'original function returns 48');
 
var cloned = fulcon(original);
 
assert.notStrictEqual(original, cloned, 'original and cloned functions are not the same function');
 
assert.strictEqual(cloned.length, 3, 'signature of the cloned function has 3 arguments');
assert.strictEqual(cloned(1, 2, 3), 48, 'cloned function returns 48');

Note: Beware of functions with side-effects! Cloned function calls original function under the hood, so it has same side-effects for better or for worst. Check test.js for details.

Want to Know More?

More examples can be found in test.js.

Or open an issue with questions and/or suggestions.

License

Fulcon is released under the MIT license.

Package Sidebar

Install

npm i fulcon

Weekly Downloads

27,022

Version

2.0.0

License

MIT

Unpacked Size

5.7 kB

Total Files

4

Last publish

Collaborators

  • alexindigo