Innovenergy_trunk/frontend/node_modules/fp-ts/es6/ValidationT.d.ts

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>