@newdash/newdash
Version:
javascript/typescript utility library
31 lines (30 loc) • 983 B
TypeScript
/**
* @ignore
*/
interface Iteratee<K, V, C> {
(value?: V, index?: K, collection?: C): any;
}
/**
* This method is like `flatMap` except that it recursively flattens the
* mapped results.
*
* @since 5.4.0
* @category Collection
* @param {Array|Object} collection The collection to iterate over.
* @param {Function} iteratee The function invoked per iteration.
* @returns {Array} Returns the new flattened array.
* @see [[flatMap]],[[flatMapDepth]],[[flatten]],[[flattenDeep]],[[flattenDepth]],[[map]],[[mapKeys]],[[mapValues]]
* @example
*
* ```js
* function duplicate(n) {
* return [[[n, n]]]
* }
*
* flatMapDeep([1, 2], duplicate)
* // => [1, 1, 2, 2]
* ```
*/
export declare function flatMapDeep<T, R = any>(collection: Array<T>, iteratee?: Iteratee<number, T, Array<T>>): Array<R>;
export declare function flatMapDeep<T, R = any>(collection: Record<string, T>, iteratee?: Iteratee<string, T, Record<string, T>>): Array<R>;
export default flatMapDeep;