71 lines
2.4 KiB
TypeScript
71 lines
2.4 KiB
TypeScript
|
/**
|
||
|
* @since 2.0.0
|
||
|
*/
|
||
|
import { ApplicativeComposition12C, ApplicativeComposition22C, ApplicativeCompositionHKT2C } from './Applicative'
|
||
|
import * as E from './Either'
|
||
|
import { Lazy } from './function'
|
||
|
import { HKT, Kind, Kind2, URIS, URIS2 } from './HKT'
|
||
|
import { Monad, Monad1, Monad2 } from './Monad'
|
||
|
import { Semigroup } from './Semigroup'
|
||
|
import Either = E.Either
|
||
|
/**
|
||
|
* @category zone of death
|
||
|
* @since 2.0.0
|
||
|
* @deprecated
|
||
|
*/
|
||
|
export interface ValidationT<M, E, A> extends HKT<M, Either<E, A>> {}
|
||
|
/**
|
||
|
* @category zone of death
|
||
|
* @since 2.0.0
|
||
|
* @deprecated
|
||
|
*/
|
||
|
export interface ValidationM<M, E> extends ApplicativeCompositionHKT2C<M, E.URI, E> {
|
||
|
readonly chain: <A, B>(ma: ValidationT<M, E, A>, f: (a: A) => ValidationT<M, E, B>) => ValidationT<M, E, B>
|
||
|
readonly alt: <A>(fa: ValidationT<M, E, A>, that: Lazy<ValidationT<M, E, A>>) => ValidationT<M, E, A>
|
||
|
}
|
||
|
/**
|
||
|
* @category zone of death
|
||
|
* @since 2.0.0
|
||
|
* @deprecated
|
||
|
*/
|
||
|
export declare type ValidationT1<M extends URIS, E, A> = Kind<M, Either<E, A>>
|
||
|
/**
|
||
|
* @category zone of death
|
||
|
* @since 2.0.0
|
||
|
* @deprecated
|
||
|
*/
|
||
|
export interface ValidationM1<M extends URIS, E> extends ApplicativeComposition12C<M, E.URI, E> {
|
||
|
readonly chain: <A, B>(ma: ValidationT1<M, E, A>, f: (a: A) => ValidationT1<M, E, B>) => ValidationT1<M, E, B>
|
||
|
readonly alt: <A>(fa: ValidationT1<M, E, A>, that: Lazy<ValidationT1<M, E, A>>) => ValidationT1<M, E, A>
|
||
|
}
|
||
|
/**
|
||
|
* @category zone of death
|
||
|
* @since 2.0.0
|
||
|
* @deprecated
|
||
|
*/
|
||
|
export declare type ValidationT2<M extends URIS2, R, E, A> = Kind2<M, R, Either<E, A>>
|
||
|
/**
|
||
|
* @category zone of death
|
||
|
* @since 2.0.0
|
||
|
* @deprecated
|
||
|
*/
|
||
|
export interface ValidationM2<M extends URIS2, E> extends ApplicativeComposition22C<M, E.URI, E> {
|
||
|
readonly chain: <R, A, B>(
|
||
|
ma: ValidationT2<M, R, E, A>,
|
||
|
f: (a: A) => ValidationT2<M, R, E, B>
|
||
|
) => ValidationT2<M, R, E, B>
|
||
|
readonly alt: <R, A>(fa: ValidationT2<M, R, E, A>, that: Lazy<ValidationT2<M, R, E, A>>) => ValidationT2<M, R, E, A>
|
||
|
}
|
||
|
/**
|
||
|
* Use `EitherT` instead.
|
||
|
*
|
||
|
* @category zone of death
|
||
|
* @since 2.0.0
|
||
|
* @deprecated
|
||
|
*/
|
||
|
export declare function getValidationM<E, M extends URIS2>(S: Semigroup<E>, M: Monad2<M>): ValidationM2<M, E>
|
||
|
/** @deprecated */
|
||
|
export declare function getValidationM<E, M extends URIS>(S: Semigroup<E>, M: Monad1<M>): ValidationM1<M, E>
|
||
|
/** @deprecated */
|
||
|
export declare function getValidationM<E, M>(S: Semigroup<E>, M: Monad<M>): ValidationM<M, E>
|