ensure-array
Simple convenience function which ensures that you are dealing with an array and you can
eliminate noise from your code.
For Example:
var array = require('ensure-array');
function foo(bar) {
array(bar).forEach(function (x) {
});
}
Instead of doing something like this:
function foo(bar) {
if (bar === undefined) return;
if (bar === null) return;
if (!Array.isArray(bar)) bar = [bar];
bar.forEach(function (x) {
});
}
Description
It gets rid of the noise and coerces what is provided into an array, so you do not have to
litter your code with a bunch of extraneous checks.
Here is the logic behind the function:
- if nothing passed to the function return empty array []
- if single argument passed is undefined or null return empty array []
- if single argument passed is already an array, return it unchanged
- otherwise return array containing all of the arguments
Here is the actual code which makes it happen
module.exports = function array(a, b, n) {
if (arguments.length === 0) return [];
if (arguments.length === 1) {
if (a === undefined || a === null) return [];
if (Array.isArray(a)) return a;
}
return Array.prototype.slice.call(arguments);
};
Installation
npm install ensure-array
Usage
var array = require('ensure-array');
var foo = array(whatever);
Status
- 2017-11-02 - 1.0.0 - Modernized by @Zertz
- 2011-12-08 - 0.0.4 - Update tapr / tap versions
- 2011-12-01 - 0.0.3 - Updated to support any version of Node.js
License
Contributors
- Author: Jeff Barczewski (@jeffbski)
- Modernized on 2017-11-02 by Pier-Luc Gendreau (@Zertz)
Contributing