UNPKG

iter-tools-es

Version:
37 lines (30 loc) 782 B
const { asyncIterableCurry } = require('../../internal/async-iterable.js'); const { defaultCompareOrder } = require('../../internal/compare.js'); const { __asyncPeekerate } = require('../$peekerate/async-peekerate.js'); async function __asyncIsSorted(iterable, compare = defaultCompareOrder) { const peekr = await __asyncPeekerate(iterable); while (!peekr.done) { const { value } = peekr; await peekr.advance(); if (!peekr.done && compare(value, peekr.value) > 0) { await peekr.return(); return false; } } return true; } exports.__asyncIsSorted = __asyncIsSorted; const asyncIsSorted = /*#__PURE__*/asyncIterableCurry(__asyncIsSorted, { reduces: true, minArgs: 0, maxArgs: 1 }); exports.asyncIsSorted = asyncIsSorted;