2.0.0 • Published 6 years ago

fulcon v2.0.0

Weekly downloads
12,992
License
MIT
Repository
github
Last release
6 years ago

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

compressionsize
fulcon.js1.03 kB
fulcon.min.js686 B
fulcon.min.js.gz386 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.