UNPKG

ts-prime

Version:

A utility library for JavaScript and Typescript.

30 lines 1.32 kB
import { Pred } from './_types'; /** * Loops each record element and flatMaps against provided function. * @param record The target object. * @param fn Mapping function. * @returns The new record. * @signature * P.flatMapRecord(record, fn) * @example * P.flatMapRecord({ a: 1, b: 2, c: 3 }, ([k,v]) => [[k, v * 2], [k + "_abc", v * 2]]) // => { a: 2, a_abc: 2, b: 4, b_abc: 4, c: 6, c_abc: 6 } * @data_first * @pipeable * @category Object */ export declare function flatMapRecord<T extends Record<string, unknown>, K extends string, V>(record: T, fn: Pred<[keyof T, T[keyof T]], ReadonlyArray<[K, V]>>): Record<K, V>; /** * Loops each record element and flatMaps against provided function. * @param record The target object. * @param fn Mapping function. * @returns The new record. * @signature * P.pipe(record, P.flatMapRecord(fn)) * @example * P.pipe(({ a: 1, b: 2, c: 3 }, P.flatMapRecord(([k,v]) => [[k, v * 2], [k + "_abc", v * 2]])) // => { a: 2, a_abc: 2, b: 4, b_abc: 4, c: 6, c_abc: 6 } * @data_last * @pipeable * @category Object */ export declare function flatMapRecord<T extends Record<string, unknown>, K extends string, V extends unknown>(fn: (v: [keyof T, T[keyof T]]) => ReadonlyArray<[K, V]>): (record: T) => Record<K, V>; //# sourceMappingURL=flatMapRecord.d.ts.map