Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
export function isEqual(left: any, right: any): boolean {
let type;
const hasReactElement = isValidElement(left) || isValidElement(right);
const hasUndefined = is.undefined(left) || is.undefined(right);
if (getObjectType(left) !== getObjectType(right) || hasReactElement || hasUndefined) {
return false;
}
if (is.domElement(left)) {
return left.isSameNode(right);
}
if (is.number(left)) {
return left === right;
}
if (is.function(left)) {
return left.toString() === right.toString();
}
for (const key in left) {
/* istanbul ignore else */
if (hasOwnProperty(left, key)) {
if (typeof left[key] === 'undefined' || typeof right[key] === 'undefined') {
return false;
componentDidMount() {
const { shouldFocus } = this.props;
if (process.env.NODE_ENV !== 'production') {
if (!is.domElement(this.beacon)) {
console.warn('beacon is not a valid DOM element'); //eslint-disable-line no-console
}
}
setTimeout(() => {
if (is.domElement(this.beacon) && shouldFocus) {
this.beacon.focus();
}
}, 0);
}
render() {
const { continuous, debug, helpers, index, lifecycle, shouldScroll, size, step } = this.props;
const target = getElement(step.target);
if (!validateStep(step) || !is.domElement(target)) {
return null;
}
return (
<div>
</div>
setTimeout(() => {
if (is.domElement(this.beacon) && shouldFocus) {
this.beacon.focus();
}
}, 0);
}