import { curry } from '@typed/lambda' /** * Map over an object into a list of values. */ export const mapToList: { (fn: (key: A, value: B) => C, obj: Record): C[] (fn: (key: A, value: B) => C): (obj: Record) => C[] } = curry(__mapToList) function __mapToList( fn: (key: A, value: B) => C, obj: Record, ): C[] { const keys = Object.keys(obj) as A[] return keys.map((key) => fn(key, obj[key])) }