@attivio/suit
Version:
Attivio SUIT, the Search UI Toolkit, is a library for creating search clients for searching the Attivio platform.
78 lines (61 loc) • 2.08 kB
JavaScript
;
exports.__esModule = true;
exports.default = undefined;
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
var _lodash = require('lodash');
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
/**
* Utility class for working with various types of JavaScript objects.
*/
var ObjectUtils = function () {
function ObjectUtils() {
_classCallCheck(this, ObjectUtils);
}
/**
* Remove an object from an array.
*/
ObjectUtils.removeItem = function removeItem(a, o) {
if (a && a.length > 0) {
var index = a.indexOf(o);
if (index >= 0) {
a.splice(index, 1);
}
}
return a;
};
/**
* Compare two objects to see if they are equal. Will handle primitive
* types, arrays, and plain-old JavaScript objects.
*/
ObjectUtils.deepEquals = function deepEquals(objA, objB) {
return (0, _lodash.isEqual)(objA, objB);
};
/**
* Convert a JavaScript Map object whose keys are
* strings into a plain-old JavaScript object so it
* can be converted to JSON.
*/
ObjectUtils.strMapToObj = function strMapToObj(strMap) {
var obj = Object.create(null);
strMap.forEach(function (value, key) {
obj[key] = value;
});
return obj;
};
/**
* Convert a plain-old JavaScript object to an ES6-style map.
* Only looks at the objects own properties.
*/
ObjectUtils.toMap = function toMap(a) {
var result = new Map();
if ((typeof a === 'undefined' ? 'undefined' : _typeof(a)) === 'object') {
Object.getOwnPropertyNames(a).forEach(function (property) {
result.set(property, a[property]);
});
}
return result;
};
return ObjectUtils;
}();
exports.default = ObjectUtils;
module.exports = exports['default'];