diff --git a/packages/enzyme-adapter-utils/src/Utils.js b/packages/enzyme-adapter-utils/src/Utils.js index 1931532e0..f0d9e0022 100644 --- a/packages/enzyme-adapter-utils/src/Utils.js +++ b/packages/enzyme-adapter-utils/src/Utils.js @@ -118,6 +118,15 @@ export function isArrayLike(obj) { } export function flatten(arrs) { + // optimize for the most common case + if (Array.isArray(arrs)) { + return arrs.reduce( + (flatArrs, item) => flatArrs.concat(isArrayLike(item) ? flatten(item) : item), + [], + ); + } + + // fallback for arbitrary iterable children let flatArrs = []; const iteratorFn = getIteratorFn(arrs);