@netdata/charts
Version:
Netdata frontend SDK and chart utilities
32 lines • 1.56 kB
JavaScript
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
export var setsAreEqual = function setsAreEqual(a, b) {
if (a.size !== b.size) return false;
return Array.from(a).every(function (element) {
return b.has(element);
});
};
export var filter = function filter(arr, _ref) {
var _ref$omit = _ref.omit,
omit = _ref$omit === void 0 ? [] : _ref$omit,
_ref$keep = _ref.keep,
keep = _ref$keep === void 0 ? [] : _ref$keep;
if (!omit.length && !keep.length) return arr;
return arr.filter(function (element) {
if (keep.length) return keep.includes(element);
return !omit.includes(element);
});
};
var _deepEqual = function deepEqual(objA, objB) {
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
if (objA === objB) return true;
if (_typeof(objA) !== "object" || objA === null || _typeof(objB) !== "object" || objB === null) return false;
var keysA = filter(Object.keys(objA), options);
var keysB = filter(Object.keys(objB), options);
if (keysA.length !== keysB.length) return false;
var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);
return keysA.every(function (key) {
if (!bHasOwnProperty(key)) return false;
return _deepEqual(objA[key], objB[key]);
});
};
export default _deepEqual;