UNPKG

iter-tools-es

Version:
37 lines (30 loc) 691 B
const { iterableCurry } = require('../../internal/iterable.js'); const { defaultCompareOrder } = require('../../internal/compare.js'); const { __peekerate } = require('../$peekerate/peekerate.js'); function __isSorted(iterable, compare = defaultCompareOrder) { const peekr = __peekerate(iterable); while (!peekr.done) { const { value } = peekr; peekr.advance(); if (!peekr.done && compare(value, peekr.value) > 0) { peekr.return(); return false; } } return true; } exports.__isSorted = __isSorted; const isSorted = /*#__PURE__*/iterableCurry(__isSorted, { reduces: true, minArgs: 0, maxArgs: 1 }); exports.isSorted = isSorted;