我有以下类型
type MyObject = $ReadOnly<{
foo: ?number,
bar: ?number,
baz: ?number,
}>;
我想把所有的值都转换为非空值,例如,我想把所有的值都转换为非空值。
type MyNonNullValuesObject = $ReadOnly<{
foo: number,
bar: number,
baz: number,
}>;
在Flow中,有什么好办法可以在不重复所有键的情况下做到这一点?我想使用 $NonMaybeType<T>
实用程序来帮助我。
Flow提供了一个 $ObjMap
工具类型,你可以用它来映射值,并将它们变成非空值通过 $NonMaybeType
.
type MyObject = $ReadOnly<{
foo: ?number,
bar: ?number,
baz: ?number,
}>;
type NonMaybeValueType = <V>(V) => $NonMaybeType<V>;
type MyNonNullValuesObject = $ObjMap<MyObject, NonMaybeValueType>;