export default function areInputsEqual( newInputs: readonly unknown[], lastInputs: readonly unknown[], ): boolean { // no checks needed if the inputs length has changed if (newInputs.length !== lastInputs.length) { return false; } // Using for loop for speed. It generally performs better than array.every // https://github.com/alexreardon/memoize-one/pull/59 for (let i = 0; i < newInputs.length; i++) { // using shallow equality check if (newInputs[i] !== lastInputs[i]) { return false; } } return true; }