From 4ac3c98347fe6d2574704cfed74edac3cb5e3d5a Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Thu, 27 Apr 2017 11:44:33 +0700 Subject: [PATCH] Cleanup --- index.js | 19 +++++++++---------- package.json | 3 ++- test/utils.js | 9 +++------ utils.js | 2 ++ 4 files changed, 16 insertions(+), 17 deletions(-) diff --git a/index.js b/index.js index 5761f57..1906915 100644 --- a/index.js +++ b/index.js @@ -7,14 +7,12 @@ const through = require('through2'); const npmRunPath = require('npm-run-path'); const utils = require('./utils'); -const convertObjectToList = utils.convertObjectToList; - const HUNDRED_MEGABYTES = 1000 * 1000 * 100; // Mocha options that can be specified multiple times -const MULTIPLE_OPTS = [ +const MULTIPLE_OPTS = new Set([ 'require' -]; +]); module.exports = opts => { opts = Object.assign({ @@ -22,16 +20,17 @@ module.exports = opts => { suppress: false }, opts); - // Convert arrays into comma separated lists for (const key of Object.keys(opts)) { const val = opts[key]; - if (MULTIPLE_OPTS.indexOf(key) > 0 && Array.isArray(val)) { - opts[key] = val.join(','); - - // Convert an object into comma separated list. + if (Array.isArray(val)) { + if (!MULTIPLE_OPTS.has(key)) { + // Convert arrays into comma separated lists + opts[key] = val.join(','); + } } else if (typeof val === 'object') { - opts[key] = convertObjectToList(val); + // Convert an object into comma separated list + opts[key] = utils.convertObjectToList(val); } } diff --git a/package.json b/package.json index c186292..5889bcc 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,8 @@ "test": "xo && mocha" }, "files": [ - "index.js" + "index.js", + "utils.js" ], "keywords": [ "gulpplugin", diff --git a/test/utils.js b/test/utils.js index bbe8456..c00e49c 100644 --- a/test/utils.js +++ b/test/utils.js @@ -2,15 +2,12 @@ const assert = require('assert'); const utils = require('../utils'); -const convertObjectToList = utils.convertObjectToList; - describe('Utils', () => { describe('convertObjectToList', () => { - it('produces a comma separated string of k=v', done => { - const actual = convertObjectToList({key1: 'value1', key2: 'value2', key99: 'value99'}); + it('produces a comma separated string of k=v', () => { + const actual = utils.convertObjectToList({key1: 'value1', key2: 'value2', key99: 'value99'}); const expected = 'key1=value1,key2=value2,key99=value99'; - assert(actual === expected); - done(); + assert.strictEqual(actual, expected); }); }); }); diff --git a/utils.js b/utils.js index d02ace0..33e480c 100644 --- a/utils.js +++ b/utils.js @@ -2,10 +2,12 @@ function objectEntries(object) { const entries = []; + for (const key of Object.keys(object)) { const value = object[key]; entries.push([key, value]); } + return entries; }