UNPKG

type-plus

Version:
13 lines 598 B
import { reduceByKey } from './reduceKey.js'; /** * An Object-specific version of `map`. * Original source: * <https://stackoverflow.com/questions/53964071/how-to-dynamically-create-mapped-type-in-typescript> * * `ramda` has a similar function (`mapObjIndexed()`) with different parameter order. * I keep this parameter order because this parameter order provides better type inference. */ export function mapProperties(subject, callbackfn) { return reduceByKey(subject, (p, key) => ((p[key] = callbackfn(subject[key], key, subject)), p), {}); } //# sourceMappingURL=mapProperties.js.map