From 3ae7c91da70f115b1e3698da3963d81c3acf940e Mon Sep 17 00:00:00 2001 From: Joe Cortopassi Date: Sun, 11 Dec 2016 07:25:06 -0800 Subject: [PATCH 1/2] fixed condition where multiple bad values would be filtered out and have nothing to return --- src/compose.js | 4 ++-- test/compose.spec.js | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/compose.js b/src/compose.js index df443a4904..c6300e82f5 100644 --- a/src/compose.js +++ b/src/compose.js @@ -10,12 +10,12 @@ */ export default function compose(...funcs) { + funcs = funcs.filter(func => typeof func === 'function') + if (funcs.length === 0) { return arg => arg } - funcs = funcs.filter(func => typeof func === 'function') - if (funcs.length === 1) { return funcs[0] } diff --git a/test/compose.spec.js b/test/compose.spec.js index 263f1e5354..edcf75afaa 100644 --- a/test/compose.spec.js +++ b/test/compose.spec.js @@ -41,6 +41,7 @@ describe('Utils', () => { it('returns the first given argument if given no functions', () => { expect(compose()(1, 2)).toBe(1) expect(compose()(3)).toBe(3) + expect(compose(false,4,"test")(3)).toBe(3) expect(compose()()).toBe(undefined) }) From d198a2297c26f84c5a14685914446cce7d94e260 Mon Sep 17 00:00:00 2001 From: Joe Cortopassi Date: Mon, 12 Dec 2016 08:28:46 -0800 Subject: [PATCH 2/2] fixed lint error --- test/compose.spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/compose.spec.js b/test/compose.spec.js index edcf75afaa..bcb6d41738 100644 --- a/test/compose.spec.js +++ b/test/compose.spec.js @@ -41,7 +41,7 @@ describe('Utils', () => { it('returns the first given argument if given no functions', () => { expect(compose()(1, 2)).toBe(1) expect(compose()(3)).toBe(3) - expect(compose(false,4,"test")(3)).toBe(3) + expect(compose(false,4,'test')(3)).toBe(3) expect(compose()()).toBe(undefined) })