| 1234567891011121314151617181920212223242526272829303132333435363738394041 | 
							- "use strict";
 
- var __read = (this && this.__read) || function (o, n) {
 
-     var m = typeof Symbol === "function" && o[Symbol.iterator];
 
-     if (!m) return o;
 
-     var i = m.call(o), r, ar = [], e;
 
-     try {
 
-         while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
 
-     }
 
-     catch (error) { e = { error: error }; }
 
-     finally {
 
-         try {
 
-             if (r && !r.done && (m = i["return"])) m.call(i);
 
-         }
 
-         finally { if (e) throw e.error; }
 
-     }
 
-     return ar;
 
- };
 
- var __spreadArray = (this && this.__spreadArray) || function (to, from) {
 
-     for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
 
-         to[j] = from[i];
 
-     return to;
 
- };
 
- exports.__esModule = true;
 
- function mergeUnique(key, uniques, getter) {
 
-     var uniquesSet = new Set(uniques);
 
-     return function (a, b, k) {
 
-         return (k === key) && Array.from(__spreadArray(__spreadArray([], __read(a)), __read(b)).map(function (it) { return ({ key: getter(it), value: it }); })
 
-             .map(function (_a) {
 
-             var key = _a.key, value = _a.value;
 
-             return ({ key: (uniquesSet.has(key) ? key : value), value: value });
 
-         })
 
-             .reduce(function (m, _a) {
 
-             var key = _a.key, value = _a.value;
 
-             m["delete"](key); // This is required to preserve backward compatible order of elements after a merge.
 
-             return m.set(key, value);
 
-         }, new Map())
 
-             .values());
 
-     };
 
- }
 
- exports["default"] = mergeUnique;
 
- //# sourceMappingURL=unique.js.map
 
 
  |