UNPKG

@walletpack/core

Version:

> TODO: description

98 lines (84 loc) 2.46 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); /*** * A set of helpers for Objects/Arrays */ var ObjectHelpers = /*#__PURE__*/ function () { function ObjectHelpers() { (0, _classCallCheck2["default"])(this, ObjectHelpers); } (0, _createClass2["default"])(ObjectHelpers, null, [{ key: "distinct", /*** * Makes a single level array distinct * @param array * @returns {*} */ value: function distinct(array) { return array.reduce(function (a, b) { return a.includes(b) ? a : a.concat(b); }, []); } /*** * Flattens an array into a single dimension * @param array * @returns {*} */ }, { key: "flatten", value: function flatten(array) { var _this = this; if (!Array.isArray(array)) return array; return array.reduce(function (a, b) { return a.concat(Array.isArray(b) ? _this.flatten(b) : b); }, []); } /*** * Flattens an array into a single dimension * @param val * @returns {*} */ }, { key: "flattenObject", value: function flattenObject(val) { var _this2 = this; if ((0, _typeof2["default"])(val) !== 'object') return this.flatten(val); return this.flatten(Object.keys(val).map(function (key) { return _this2.flattenObject(val[key]); })); } }, { key: "shuffle", value: function shuffle(a) { for (var i = a.length - 1; i > 0; i--) { var j = Math.floor(Math.random() * (i + 1)); var _ref = [a[j], a[i]]; a[i] = _ref[0]; a[j] = _ref[1]; } return a; } }, { key: "objectTake", value: function objectTake(obj, limit) { var limited = {}; if (Object.keys(obj).length < limit) return obj; Object.keys(obj).map(function (key) { if (Object.keys(limited).length >= limit) return; limited[key] = obj[key]; }); return limited; } }]); return ObjectHelpers; }(); exports["default"] = ObjectHelpers;