All files / lib/tester helpers.js

93.18% Statements 41/44
94% Branches 47/50
100% Functions 2/2
93.02% Lines 40/43

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71  1x 1x 1x   23x     23x     23x 23x 23x 3x   20x 24x 1x   23x 23x 23x 4x 1x     19x 4x 2x     15x 4x     12x     29x     29x 3x   26x 3x   23x 44x 44x 44x 4x 1x     40x       6x 2x     34x 6x     14x    
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.checkIfObjectsAreEqual = checkIfObjectsAreEqual;
exports.checkIfArraysAreEqual = checkIfArraysAreEqual;
function checkIfObjectsAreEqual(obj1, obj2) {
    Iif (obj1 === obj2) {
        return true;
    }
    Iif (typeof obj1 !== "object" || obj1 === null || typeof obj2 !== "object" || obj2 === null) {
        return false;
    }
    const keys1 = Object.keys(obj1);
    const keys2 = Object.keys(obj2);
    if (keys1.length !== keys2.length) {
        return false;
    }
    for (const key of keys1) {
        if (!keys2.includes(key)) {
            return false;
        }
        const val1 = obj1[key];
        const val2 = obj2[key];
        if (Array.isArray(val1) && Array.isArray(val2)) {
            if (!checkIfArraysAreEqual(val1, val2)) {
                return false;
            }
        }
        else if (typeof val1 === "object" && typeof val2 === "object") {
            if (!checkIfObjectsAreEqual(val1, val2)) {
                return false;
            }
        }
        else if (val1 !== val2) {
            return false;
        }
    }
    return true;
}
function checkIfArraysAreEqual(arr1, arr2) {
    Iif (arr1 === arr2) {
        return true;
    }
    if (!Array.isArray(arr1) || !Array.isArray(arr2)) {
        return false;
    }
    if (arr1.length !== arr2.length) {
        return false;
    }
    for (let i = 0; i < arr1.length; i++) {
        const val1 = arr1[i];
        const val2 = arr2[i];
        if (Array.isArray(val1) && Array.isArray(val2)) {
            if (!checkIfArraysAreEqual(val1, val2)) {
                return false;
            }
        }
        else if (typeof val1 === "object" &&
            typeof val2 === "object" &&
            val1 !== null &&
            val2 !== null) {
            if (!checkIfObjectsAreEqual(val1, val2)) {
                return false;
            }
        }
        else if (val1 !== val2) {
            return false;
        }
    }
    return true;
}
//# sourceMappingURL=helpers.js.map