Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Node.js friendly form of the arity checking decorator for javascript
exports.arity_decorator = function(fun) {
function wrapped() {
if(arguments.length != fun.length)
throw new Error("Y U NO USE RIGHT?!")
fun.apply(this, arguments)
}
return wrapped;
}
exports.foo = function(x, y) {
console.log('X:' + x)
console.log('Y:' + y)
}
exports.foo = exports.arity_decorator(exports.foo)
var arity_check = require("./arity_check");
var bar = function(z) {
console.log('Hi. Z:' + z);
}
bar = arity_check.arity_decorator(bar)
arity_check.foo(3,4) // Works
bar(5) // Works
bar(5,6,7) // Throws error
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.