export type IterableItem = A extends Iterable ? T : OR; /** * 取集合第一个元素 * * 注意,如果不存在,会抛出异常 */ export declare const iter_get_first: (items: Iterable) => T; /** * 取集合第一个元素 */ export declare const iter_get_first_or_null: (items: Iterable) => T | undefined; /** * 取集合第一个元素 * * 否则取默认返回值 */ export declare const iter_get_first_or_default: (items: Iterable, defaultValue: () => R) => T | R; /** * 遍历集合,返回 PromiseSettledResult。 * 等同于 Promise.allSettled([...items].map(...)) */ export declare const iter_map_async_try: , T = IterableItem, R = unknown>(values: TS, callbackfn: (value: T, index: number, values: TS) => R) => Promise>[]>; export declare const iter_map_async: , T = IterableItem, R = unknown>(values: TS, callbackfn: (value: T, index: number, values: TS) => R) => Promise[]>; /** * 遍历集合进行 归约操作。 * 等同于 Array.reduce */ export declare const iter_reduce: , T = IterableItem, R = unknown>(values: TS, callbackfn: (previousValue: R, currentValue: T, currentIndex: number, values: TS) => R, initialValue: R) => R; /** * 对集合进行 拆分然后归约 的操作。 * 类似于 Array.map.flat.reduce */ export declare const iter_map_reduce: , MS extends Iterable, T = IterableItem, M = IterableItem, R = unknown>(sources: TS, mapfn: (value: T, index: number, values: TS) => MS, reducefn: (previousValue: R, currentValue: M, currentIndex: number, values: MS) => R, initialValue: R) => R; /** * 等同于 map 并且 filter 出非空元素 * * 支持任何可迭代的对象 */ export declare const iter_map_not_null: , T = IterableItem, R = T>(values: TS, callbackfn?: (value: T, index: number, values: TS) => R) => Array>; /** * 类似与 map not null,但只取第一个 * * 支持任何可迭代的对象 */ export declare const iter_first_not_null: , T = IterableItem, R = unknown>(values: TS, callbackfn?: (value: T, index: number, values: TS) => R) => NonNullable | undefined; export declare const iter_iterable: (items: Iterator | Iterable | { length: number; [index: number]: T; }) => Iterable; //# sourceMappingURL=iterable.d.ts.map