UNPKG

@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
'use strict'; 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'];