export default function xyPropsEqual()

in src/utils/xyPropsEqual.js [25:52]


export default function xyPropsEqual(
  propsA,
  propsB,
  customKeysToDeepCheck = [],
  includeDefaults = true,
) {
  const propKeysToDeepCheck = includeDefaults
    ? defaultPropKeysToDeepCheck.concat(customKeysToDeepCheck)
    : customKeysToDeepCheck;

  const propKeysToSkipShallowCheck = propKeysToDeepCheck.concat('scale');

  const equalityCheck =
    // most keys just get shallow-equality checked
    shallowEqual(
      omit(propsA, propKeysToSkipShallowCheck),
      omit(propsB, propKeysToSkipShallowCheck),
    ) &&
    propKeysToDeepCheck.every(key => isEqual(propsA[key], propsB[key])) &&
    ['x', 'y'].every(key => {
      return scaleEqual(
        get(propsA, `scale[${key}]`),
        get(propsA, `scale[${key}]`),
      );
    });

  return equalityCheck;
}