UNPKG

array-object-filter-unique

Version:
27 lines (26 loc) 1.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); if (!Array.prototype.filterUniqueObject) { Array.prototype.filterUniqueObject = function Array(conditions) { var uniques = {}; var _loop_1 = function (s) { if (conditions.attribute) { var a = conditions.mutator ? conditions.mutator(s[conditions.attribute]) : s[conditions.attribute]; if (!uniques[String(a)]) { uniques[String(a)] = s; } } if (conditions.attributes) { var a = conditions.attributes.map(function (e) { return String(e.mutator ? e.mutator(s[e.attribute]) : s[e.attribute]); }); if (!uniques[a.join('')]) { uniques[a.join('')] = s; } } }; for (var _i = 0, _a = this; _i < _a.length; _i++) { var s = _a[_i]; _loop_1(s); } return Object.values(uniques); }; }