type-plus
Version:
Provides additional types for TypeScript.
13 lines • 598 B
JavaScript
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