{"_id":"ensure-array","_rev":"7-32d1f6fb005d73f1f4db4e13aa36b707","name":"ensure-array","description":"Ensure that an object is an array. Moves error checking out of your code.","dist-tags":{"latest":"1.0.0"},"versions":{"0.0.2":{"author":{"name":"Jeff Barczewski","email":"jeff.barczewski@gmail.com"},"name":"ensure-array","description":"Ensure that an object is an array. Moves error checking out of your code.","version":"0.0.2","repository":{"type":"git","url":"git://github.com/jeffbski/ensure-array.git"},"bugs":{"url":"http://github.com/jeffbski/ensure-array/issues"},"main":"ensure-array.js","engines":{"node":"~0.4.12"},"dependencies":{},"devDependencies":{"tap":"~0.0.12"},"scripts":{"test":"tap ./test"},"_npmUser":{"name":"jeffbski","email":"jeff.barczewski@gmail.com"},"_id":"ensure-array@0.0.2","_engineSupported":true,"_npmVersion":"1.0.103","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"43baec9b5b9a12ba17fb890da8671c646b7f88a4","tarball":"https://registry.npmjs.org/ensure-array/-/ensure-array-0.0.2.tgz","integrity":"sha512-TdEYzl3hy/abwHUa3nOd07EL3eHK62bwClX3MCLcQ47C6zBMGupQYDgVe5TJ0GEjGRxdmlT6EOF8tMC51aZLOA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH86r8SRSPTkLJdOEkUL1eyVensQ6oD0XobzJMhUkbrCAiAB2EaXObjyQDcOSvFyC2JqHGtiyzCCeESRd10MiOGw/A=="}]},"maintainers":[{"name":"jeffbski","email":"jeff.barczewski@gmail.com"}]},"0.0.3":{"author":{"name":"Jeff Barczewski","email":"jeff.barczewski@gmail.com"},"name":"ensure-array","description":"Ensure that an object is an array. Moves error checking out of your code.","version":"0.0.3","repository":{"type":"git","url":"git://github.com/jeffbski/ensure-array.git"},"bugs":{"url":"http://github.com/jeffbski/ensure-array/issues"},"main":"ensure-array.js","engines":{"node":"*"},"dependencies":{},"devDependencies":{"tap":"~0.1.0","tapr":"~0.1.0"},"scripts":{"test":"node_modules/.bin/tapr ./test"},"_npmUser":{"name":"jeffbski","email":"jeff.barczewski@gmail.com"},"_id":"ensure-array@0.0.3","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.2","_defaultsLoaded":true,"dist":{"shasum":"2fe42ceb898cb5774c35925cb26d8c0fc882a2d7","tarball":"https://registry.npmjs.org/ensure-array/-/ensure-array-0.0.3.tgz","integrity":"sha512-gsQtlaSoiLZAc276DRtf+8XiGT7CG5J2dr+fZ6kq1tTcIKr/5fz1TXeYZsKNAS+0cRV5nzP7AwQ5oep4BaUCSQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDHPeUlXGNQXVxmshk/PPUCSJQ6a8kZbJGbH+fM1dSz0AiEAv/iyz9U/OKXl3vJ2Ga2itAPadOwbJ7n+Aa10KFzG9vM="}]},"maintainers":[{"name":"jeffbski","email":"jeff.barczewski@gmail.com"}]},"0.0.4":{"author":{"name":"Jeff Barczewski","email":"jeff.barczewski@gmail.com"},"name":"ensure-array","description":"Ensure that an object is an array. Moves error checking out of your code.","version":"0.0.4","repository":{"type":"git","url":"git://github.com/jeffbski/ensure-array.git"},"bugs":{"url":"http://github.com/jeffbski/ensure-array/issues"},"main":"ensure-array.js","engines":{"node":"*"},"dependencies":{},"devDependencies":{"tap":"~0.1.2","tapr":"~0.1.1"},"scripts":{"test":"node_modules/.bin/tapr ./test"},"_npmUser":{"name":"jeffbski","email":"jeff.barczewski@gmail.com"},"_id":"ensure-array@0.0.4","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.4.12","_defaultsLoaded":true,"dist":{"shasum":"606449dafd008f88a60cb0b2196f53f21a264184","tarball":"https://registry.npmjs.org/ensure-array/-/ensure-array-0.0.4.tgz","integrity":"sha512-99TBh8Nt/1pd3VGybGopTXnubcwq7zoQuVb1PGYV3r7qIGefmYP2C8pWi5uO3U2+vyPohgaUh01ZkhNS6gRUSQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGXEab37sEXAa8XMgf9gaixJ98F+93lFCCIEkTXJRNoYAiAj5xTcb6eaTvDVEiHK0nz3TBauBZ7+BbZ0ze0t3ukLHg=="}]},"maintainers":[{"name":"jeffbski","email":"jeff.barczewski@gmail.com"}]},"0.0.5":{"author":{"name":"Jeff Barczewski","email":"jeff.barczewski@gmail.com"},"name":"ensure-array","description":"Ensure that an object is an array. Moves error checking out of your code.","version":"0.0.5","repository":{"type":"git","url":"git://github.com/jeffbski/ensure-array.git"},"bugs":{"url":"http://github.com/jeffbski/ensure-array/issues"},"main":"ensure-array.js","engines":{"node":"*"},"dependencies":{},"devDependencies":{"mocha":"~0.14.1","chai":"~0.5.2"},"scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*.mocha.js"},"_npmUser":{"name":"jeffbski","email":"jeff.barczewski@gmail.com"},"_id":"ensure-array@0.0.5","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.12","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"355becc382c8eb99d68a49b450ae9e6e81102715","tarball":"https://registry.npmjs.org/ensure-array/-/ensure-array-0.0.5.tgz","integrity":"sha512-+PHJpiltn6kPB5ciEGP16o3SGI7YzOZZzYpvleKfdbnTLSTf1Zfp0SbPcQnzcAuQajh4lyV6CqvFjECM4f/mEw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICn1Qd1y2Gq4hyFghf6MM69GwlA/x//IanGshDR9zo63AiEA78x2VWto+nrNfFSPDpcdZsElxTVaW30DW2x2JAiMit8="}]},"maintainers":[{"name":"jeffbski","email":"jeff.barczewski@gmail.com"}]},"1.0.0":{"author":{"name":"Jeff Barczewski","email":"jeff.barczewski@gmail.com"},"name":"ensure-array","description":"Ensure that an object is an array. Moves error checking out of your code.","version":"1.0.0","license":"MIT","repository":{"type":"git","url":"git+ssh://git@github.com/jeffbski/ensure-array.git"},"bugs":{"url":"http://github.com/jeffbski/ensure-array/issues"},"main":"ensure-array.js","devDependencies":{"mocha":"~4.0.0","chai":"~4.1.0"},"scripts":{"test":"./node_modules/mocha/bin/mocha ./test/*.mocha.js --reporter spec --ui qunit"},"gitHead":"08fe1bce13f05864f88c976dfc057bda08c2f5c8","homepage":"https://github.com/jeffbski/ensure-array#readme","_id":"ensure-array@1.0.0","_npmVersion":"5.3.0","_nodeVersion":"8.5.0","_npmUser":{"name":"jeffbski","email":"jeff.barczewski@gmail.com"},"dist":{"integrity":"sha512-A+3Ntl5WS+GjDnHtC67dKIjw+IoGoeFdNvjn3ZfKEmZgWUz0nxBPE4W52QMCbGZsat0VwWskD5T6AEpe3T2d1g==","shasum":"317e9fc632c656bb849eb649133528e205b23abc","tarball":"https://registry.npmjs.org/ensure-array/-/ensure-array-1.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCqYLro9dl1135PXIZo1IfmHo+IlzyRMhPewHymSTj32wIgPBfYFo1RvKKTgOzSLlX/b67oBWJiKqfNqSz9OUODD9E="}]},"maintainers":[{"name":"jeffbski","email":"jeff.barczewski@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ensure-array-1.0.0.tgz_1509628690642_0.21542130317538977"}}},"maintainers":[{"name":"jeffbski","email":"jeff.barczewski@gmail.com"}],"time":{"modified":"2022-06-17T05:57:39.042Z","created":"2011-11-08T00:34:01.169Z","0.0.2":"2011-11-08T00:34:02.027Z","0.0.3":"2011-12-01T19:56:36.032Z","0.0.4":"2011-12-08T23:17:34.032Z","0.0.5":"2012-03-24T23:27:33.339Z","1.0.0":"2017-11-02T13:18:11.708Z"},"author":{"name":"Jeff Barczewski","email":"jeff.barczewski@gmail.com"},"repository":{"type":"git","url":"git+ssh://git@github.com/jeffbski/ensure-array.git"},"readme":"# ensure-array\n\nSimple convenience function which ensures that you are dealing with an array and you can\neliminate noise from your code.\n\n[![Build Status](https://secure.travis-ci.org/jeffbski/ensure-array.png?branch=master)](http://travis-ci.org/jeffbski/ensure-array)\n\nFor Example:\n\n```javascript\n  var array = require('ensure-array');\n\n  function foo(bar) {\n    array(bar).forEach(function (x) {\n      //do something with each item\n    });\n  }\n```\n\nInstead of doing something like this:\n\n```javascript\n  function foo(bar) {\n    if (bar === undefined) return;\n    if (bar === null) return;\n    if (!Array.isArray(bar)) bar = [bar];\n    bar.forEach(function (x) {\n      //do something with each item\n    });\n  }\n```\n\n## Description\n\nIt gets rid of the noise and coerces what is provided into an array, so you do not have to\nlitter your code with a bunch of extraneous checks.\n\nHere is the logic behind the function:\n\n 1. if nothing passed to the function return empty array []\n 2. if single argument passed is undefined or null return empty array []\n 3. if single argument passed is already an array, return it unchanged\n 4. otherwise return array containing all of the arguments\n\nHere is the actual code which makes it happen\n\n ```javascript\n module.exports = function array(a, b, n) {\n  if (arguments.length === 0) return [];            //no args, ret []\n  if (arguments.length === 1) {                     //single argument\n    if (a === undefined || a === null) return [];   //  undefined or null, ret []\n    if (Array.isArray(a)) return a;                 //  isArray, return it\n  }\n  return Array.prototype.slice.call(arguments);     //return array with copy of all arguments\n};\n```\n\n## Installation\n\n```bash\n  npm install ensure-array\n```\n\n\n## Usage\n\n```javascript\n  var array = require('ensure-array');  // get handle to the function\n  var foo = array(whatever);               // foo will now safely be an array\n```\n\n\n## Status\n\n - 2017-11-02 - 1.0.0  - Modernized by @Zertz\n - 2011-12-08 - 0.0.4  - Update tapr / tap versions\n - 2011-12-01 - 0.0.3  - Updated to support any version of Node.js\n\n\n## License\n\n - [MIT license](http://github.com/jeffbski/ensure-array/raw/master/LICENSE)\n\n## Contributors\n\n - Author: Jeff Barczewski (@jeffbski)\n - Modernized on 2017-11-02 by Pier-Luc Gendreau (@Zertz)\n\n## Contributing\n\n - Source code repository: http://github.com/jeffbski/ensure-array\n - Ideas and pull requests are encouraged  - http://github.com/jeffbski/ensure-array/issues\n - You may contact me at @jeffbski or through github at http://github.com/jeffbski\n","readmeFilename":"README.md","homepage":"https://github.com/jeffbski/ensure-array#readme","bugs":{"url":"http://github.com/jeffbski/ensure-array/issues"},"license":"MIT"}