UNPKG

@base-ui-components/react

Version:

Base UI is a library of headless ('unstyled') React components and low-level hooks. You gain complete control over your app's CSS and accessibility features.

29 lines (27 loc) 721 B
// https://github.com/mui/mui-x/blob/master/packages/x-internals/src/fastObjectShallowCompare/fastObjectShallowCompare.ts const is = Object.is; export function fastObjectShallowCompare(a, b) { if (a === b) { return true; } if (!(a instanceof Object) || !(b instanceof Object)) { return false; } let aLength = 0; let bLength = 0; /* eslint-disable guard-for-in */ for (const key in a) { aLength += 1; if (!is(a[key], b[key])) { return false; } if (!(key in b)) { return false; } } /* eslint-disable-next-line @typescript-eslint/naming-convention, @typescript-eslint/no-unused-vars */ for (const _ in b) { bLength += 1; } return aLength === bLength; }