在 fp-ts 中使用 POJO
Using POJOs in fp-ts
我想做我认为最简单的事情,使用 fp-ts 结构映射一个普通的 Javascript 对象。
我想使用很多运算符——map
、filterMap
等等——但它们似乎需要 Map
类型(我假设是Javascript Map object) — 似乎没有任何简单的方法可以在 Map 和 Javascript 对象之间来回转换,在 Typescript 中,它是代数数据类型及其 Record 类型。
这似乎是一个相当大的洞。请不要告诉我我必须切换到 lodash...
fp-ts/Record
让您可以像 V
中的函子一样使用 Record<K, V>
,因此您可以拥有
import { map } from 'fp-ts/Record'
const mapped = map((v: number) => v + 1)({a: 1}) // { a: 2 }
我想做我认为最简单的事情,使用 fp-ts 结构映射一个普通的 Javascript 对象。
我想使用很多运算符——map
、filterMap
等等——但它们似乎需要 Map
类型(我假设是Javascript Map object) — 似乎没有任何简单的方法可以在 Map 和 Javascript 对象之间来回转换,在 Typescript 中,它是代数数据类型及其 Record
这似乎是一个相当大的洞。请不要告诉我我必须切换到 lodash...
fp-ts/Record
让您可以像 V
中的函子一样使用 Record<K, V>
,因此您可以拥有
import { map } from 'fp-ts/Record'
const mapped = map((v: number) => v + 1)({a: 1}) // { a: 2 }