UNPKG

substance

Version:

Substance is a JavaScript library for web-based content editing. It provides building blocks for realizing custom text editors and web-based publishing systems.

25 lines (23 loc) 663 B
import isPlainObject from './isPlainObject' import isArray from './isArray' export default function isEqual(a, b) { if (a === b) return true if (isArray(a) && isArray(b)) { if (a.length !== b.length) return false for (let i = 0; i < a.length; i++) { if (!isEqual(a[i], b[i])) return false } return true } if (isPlainObject(a) && isPlainObject(b)) { let akeys = Object.keys(a).sort() let bkeys = Object.keys(b).sort() if (!isEqual(akeys, bkeys)) return false for (let i = 0; i < akeys.length; i++) { let key = akeys[i] if (!isEqual(a[key], b[key])) return false } return true } return false }