UNPKG

iteragain

Version:

Javascript Iterable/Iterator/Generator-function utilities.

24 lines 938 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.min = min; const emptyIteratorError_1 = require("./internal/emptyIteratorError"); const toIterator_1 = require("./toIterator"); function min(...args) { var _a; if (!args.length || typeof args[0] === 'function') return (it) => min(it, args[0]); const it = (0, toIterator_1.default)(args[0]); const iteratee = (_a = args[1]) !== null && _a !== void 0 ? _a : ((x) => x); let next = it.next(); if (next.done) throw new TypeError(emptyIteratorError_1.MIN_EMPTY_ERROR); let result = { value: next.value, comparison: iteratee(next.value) }; while (!(next = it.next()).done) { const comparison = iteratee(next.value); if (comparison < result.comparison) result = { value: next.value, comparison }; } return result.value; } exports.default = min; //# sourceMappingURL=min.js.map