在 fp-ts 中使用 POJO

Using POJOs in fp-ts

我想做我认为最简单的事情,使用 fp-ts 结构映射一个普通的 Javascript 对象。

我想使用很多运算符——mapfilterMap 等等——但它们似乎需要 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 }