(a, b)
| 399 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
| 400 | // SOFTWARE. |
| 401 | export function _areEquals(a, b) { |
| 402 | if (a === b) |
| 403 | return true; |
| 404 | if (a && b && typeof a == 'object' && typeof b == 'object') { |
| 405 | var arrA = Array.isArray(a), arrB = Array.isArray(b), i, length, key; |
| 406 | if (arrA && arrB) { |
| 407 | length = a.length; |
| 408 | if (length != b.length) |
| 409 | return false; |
| 410 | for (i = length; i-- !== 0;) |
| 411 | if (!_areEquals(a[i], b[i])) |
| 412 | return false; |
| 413 | return true; |
| 414 | } |
| 415 | if (arrA != arrB) |
| 416 | return false; |
| 417 | var keys = Object.keys(a); |
| 418 | length = keys.length; |
| 419 | if (length !== Object.keys(b).length) |
| 420 | return false; |
| 421 | for (i = length; i-- !== 0;) |
| 422 | if (!b.hasOwnProperty(keys[i])) |
| 423 | return false; |
| 424 | for (i = length; i-- !== 0;) { |
| 425 | key = keys[i]; |
| 426 | if (!_areEquals(a[key], b[key])) |
| 427 | return false; |
| 428 | } |
| 429 | return true; |
| 430 | } |
| 431 | return a !== a && b !== b; |
| 432 | } |
| 433 | ; |
no outgoing calls
no test coverage detected
searching dependent graphs…