UNPKG

ts-prime

Version:

A utility library for JavaScript and Typescript.

32 lines (31 loc) 842 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var purry_1 = require("./purry"); var _reduceLazy_1 = require("./_reduceLazy"); function uniq() { return purry_1.purry(_uniq, arguments, uniq.lazy); } exports.uniq = uniq; function _uniq(array) { return _reduceLazy_1._reduceLazy(array, uniq.lazy()); } (function (uniq) { function lazy() { var set = new Set(); return function (value) { if (set.has(value)) { return { done: false, hasNext: false, }; } set.add(value); return { done: false, hasNext: true, next: value, }; }; } uniq.lazy = lazy; })(uniq = exports.uniq || (exports.uniq = {}));