Запустить список функций проверки для одного входа с помощью fp-ts - PullRequest
1 голос
/ 25 мая 2020

Я использую 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

Я хочу внутренне validations будет реализовано в единицах fp-ts Validation. Я следую примеру, но для этого требуется знать список Validator статически, когда я хочу создать этот список динамически.

Обратите внимание, что для простоты я использую тип Validation для NonEmptyArray ошибок, поскольку меня в основном интересует, как объединить проверки из динамически созданного массива.

Наконец, если список проверок пуст, мы можем предположить, что введенные данные действительны.

Как я могу реализовать validations с помощью комбинаторов, предоставленных getValidation из fp-ts

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...