使用fp-ts在

时间:2020-05-25 11:54:34

标签: typescript fp-ts

我正在使用fp-ts来处理我的应用程序中的验证。我想编写一个函数,该函数接受验证器列表,并在单个输入上运行所有验证器。

这些是我要使用的类型:

import { Either } from "fp-ts/lib/Either";
import { NonEmptyArray } from "fp-ts/lib/NonEmptyArray";

type Validation<E, A> = Either<NonEmptyArray<E>, A>;
type Validator<E, A> = (a: A) => Validation<E, A>;

declare function validations<E, A>(vs: Validator<E, A>[], a: A): Validation

在内部,我希望根据fp-ts Validation实现validations。我正在跟踪该示例,但是当我想动态生成该列表时,它需要静态地知道Validator的列表。

请注意,为简单起见,我使Validation类型带有一个NonEmptyArray错误,因为我主要对如何组合来自动态构造的数组的验证感兴趣。

最后,如果验证列表为空,则可以假定输入有效。

如何使用validationsgetValidation提供的组合器来实现fp-ts

0 个答案:

没有答案