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..bcb6d41738 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) })