export { SKIP } from '../consts.js'; type FlexIteratorOptions = { pick?: (item: Value | Parent) => Value | Iterable | { value: any; parent: Parent; }; transform: (value: Value, parent?: Parent) => Result; recursion?: boolean; }; /** * 可以迭代的对象 * * const source = new FlexIterator([1,2,3,4,5]) * for(let value of source){ * console.log(value) * } * Output: 1,2,3,4,5 * * const source = new FlexIterator([1,2,3,4,5],{transform:(value)=>`S-${value}`}) * for(let value of source){ * console.log(value) * } * Output: S-1,S-2,S-3,S-4,S-5 * * const source = new FlexIterator([1,2,[3,4],[5,6,[7,8,[9,10]]]],{ * transform:(value)=>`S-${value}` * recursion:true * }) * for(let value of source){ * console.log(value) * * } * Output: S-1,S-2,S-3,S-4,S-5,S-6,S-7,S-8,S-9,S-10 * * * * @types * S: 源类型 * R: 返回值类型 * P: 当前节点的父节点类型,当 * @param nodes * @param options */ declare class FlexIterator { private nodes; options: FlexIteratorOptions; constructor(nodes: Iterable>, options?: FlexIteratorOptions); [Symbol.iterator](): Iterator; } export { FlexIterator, type FlexIteratorOptions };