import type { Option } from '@chzky/core'; import type { Vector } from '../../../mod.js'; /** ## ## Peekable : 可提前`前瞻`iterable下一个数据 由于iterable具有一次消耗性,调用next()之后就无法返回.Peekable能提前`看`下一个数据,能解决这一问题场景 @example Uasge ```ts const arr: Iterable = [1, 2, 33, 4, 5] const peek = new Peekable(arr) assert(peek.next().unwrap() === 1) assert(peek.peeked.unwrap() === 2) assert(peek.peeked.unwrap() == peek.next().unwrap()) assert(peek.next().unwrap() !== peek.peeked.unwrap()) ``` @category Class */ export declare class Peekable | Iterator> implements Iterable { private readonly iter; private peek_value; private peek_data; constructor(iter: T, itable?: boolean); /** ## `peeked` : 获取当前预查看的值 + 返回Option包装的值,不会消耗迭代器 + 如果迭代结束或值为null/undefined,返回None */ get peeked(): Option; /** ## `next` : 获取下一个值并推进迭代器 + 返回当前预查看的值(Option包装) + 自动预读取下一个值 + 处理迭代结束和null/undefined情况 */ next(): Option; from(val: Vector): Peekable>; [Symbol.iterator](): Iterator; } //# sourceMappingURL=mod.d.ts.map