arity

Makes sure that JavaScript functions are called with the expected number and/or types of parameters.

Usage no npm install needed!

<script type="module">
  import arity from 'https://cdn.skypack.dev/arity';
</script>

README

Arity

Makes sure that JavaScript functions are called with the expected number of parameters.

Background

Just like in any programming language JavaScript functions take parameters. Unlike many other programming languages, JavaScript does not require functions to be called with the defined number of parameters.

For example:

function sum(a, b) {
  return a + b;
}
sum(1,2); // returns 3
sum(2); // returns NaN

Depending on the situation, it might be preferred that an error is thrown when the wrong number of parameters are passed in.

Usage

It's as simple as wrapping your function with ar:

var sum = ar(function (a, b) {
  return a + b;
});
sum(1,2); // returns 3
sum(2); // throws "Wrong number of parameters. Excpected 2, got 1. Params: a, b."

It's even easier in CoffeeScript (isn't everything?):

sum = ar (a, b) -> a + b
sum(1,2) // returns 3
sum(1,2,3) // throws "Wrong number of parameters. Excpected 2, got 3. Params: a, b."

Installing for Node.js

From the command-line:

npm install arity

From your app:

var ar = require("arity");

Installing for the browser

Download arity.js and put it in your js folder with your project. Then include it like so:

<script src="js/arity.js"></script>

You now have access to the ar function.

Tests

npm install # Installs mocha
make test

Credit

Created by Jon Abrams.

Inspired by the rethinkDB's implementation.

I Found out about it from this blog post written by Andrew Berls.

License

Use it however you like, a warranty is neither implied nor provided.