UNPKG

@firestitch/filter

Version:
58 lines 4.81 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { isObject } from 'lodash-es'; /** * @param {?} obj1 * @param {?} obj2 * @return {?} */ export function objectsAreEquals(obj1, obj2) { /** @type {?} */ const oldKeys = Object.keys(obj1); /** @type {?} */ const currKeys = Object.keys(obj2); if (oldKeys.length !== currKeys.length) { return false; } for (const key in obj1) { if (obj1.hasOwnProperty(key)) { /** @type {?} */ const oldItem = obj1[key]; /** @type {?} */ const currItem = obj2[key]; /** @type {?} */ const isArrays = Array.isArray(oldItem) && Array.isArray(currItem); /** @type {?} */ const isObjects = isObject(oldItem) && isObject(currItem); if (isArrays && !arraysAreEquals(oldItem, currItem)) { return false; } else if (isObjects && !objectsAreEquals(oldItem, currItem)) { return false; } else if (!isArrays && !isObjects && oldItem !== currItem) { return false; } } } return true; } /** * @param {?} arr1 * @param {?} arr2 * @return {?} */ export function arraysAreEquals(arr1, arr2) { if (arr1.length !== arr2.length) { return false; } for (const el of arr1) { if (arr2.indexOf(el) === -1) { return false; } } return true; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmaXJlc3RpdGNoL2ZpbHRlci8iLCJzb3VyY2VzIjpbImFwcC9oZWxwZXJzL2NvbXBhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7OztBQUdyQyxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLElBQUk7O1VBQ25DLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzs7VUFDM0IsUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBRWxDLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUMsTUFBTSxFQUFFO1FBQ3RDLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRTtRQUN0QixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7O2tCQUN0QixPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQzs7a0JBQ25CLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDOztrQkFDcEIsUUFBUSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7O2tCQUM1RCxTQUFTLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUM7WUFFekQsSUFBSSxRQUFRLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxFQUFFO2dCQUNuRCxPQUFPLEtBQUssQ0FBQzthQUNkO2lCQUFNLElBQUksU0FBUyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxFQUFFO2dCQUM1RCxPQUFPLEtBQUssQ0FBQzthQUNkO2lCQUFNLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxTQUFTLElBQUksT0FBTyxLQUFLLFFBQVEsRUFBRTtnQkFDMUQsT0FBTyxLQUFLLENBQUM7YUFDZDtTQUNGO0tBQ0Y7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7Ozs7OztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUk7SUFDeEMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDL0IsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELEtBQUssTUFBTSxFQUFFLElBQUksSUFBSSxFQUFFO1FBQ3JCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUMzQixPQUFPLEtBQUssQ0FBQztTQUNkO0tBQ0Y7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc09iamVjdCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIG9iamVjdHNBcmVFcXVhbHMob2JqMSwgb2JqMikge1xuICBjb25zdCBvbGRLZXlzID0gT2JqZWN0LmtleXMob2JqMSk7XG4gIGNvbnN0IGN1cnJLZXlzID0gT2JqZWN0LmtleXMob2JqMik7XG5cbiAgaWYgKG9sZEtleXMubGVuZ3RoICE9PSBjdXJyS2V5cy5sZW5ndGgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBmb3IgKGNvbnN0IGtleSBpbiBvYmoxKSB7XG4gICAgaWYgKG9iajEuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgY29uc3Qgb2xkSXRlbSA9IG9iajFba2V5XTtcbiAgICAgIGNvbnN0IGN1cnJJdGVtID0gb2JqMltrZXldO1xuICAgICAgY29uc3QgaXNBcnJheXMgPSBBcnJheS5pc0FycmF5KG9sZEl0ZW0pICYmIEFycmF5LmlzQXJyYXkoY3Vyckl0ZW0pO1xuICAgICAgY29uc3QgaXNPYmplY3RzID0gaXNPYmplY3Qob2xkSXRlbSkgJiYgaXNPYmplY3QoY3Vyckl0ZW0pO1xuXG4gICAgICBpZiAoaXNBcnJheXMgJiYgIWFycmF5c0FyZUVxdWFscyhvbGRJdGVtLCBjdXJySXRlbSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSBlbHNlIGlmIChpc09iamVjdHMgJiYgIW9iamVjdHNBcmVFcXVhbHMob2xkSXRlbSwgY3Vyckl0ZW0pKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0gZWxzZSBpZiAoIWlzQXJyYXlzICYmICFpc09iamVjdHMgJiYgb2xkSXRlbSAhPT0gY3Vyckl0ZW0pIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXJyYXlzQXJlRXF1YWxzKGFycjEsIGFycjIpIHtcbiAgaWYgKGFycjEubGVuZ3RoICE9PSBhcnIyLmxlbmd0aCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGZvciAoY29uc3QgZWwgb2YgYXJyMSkge1xuICAgIGlmIChhcnIyLmluZGV4T2YoZWwpID09PSAtMSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuIl19