UNPKG

@typed/fp

Version:

Data Structures and Resources for fp-ts

1,367 lines (926 loc) 22.2 kB
--- title: EnvEither.ts nav_order: 15 parent: Modules --- ## EnvEither overview EnvEither is an EitherT of [Env](./Env.ts.md) Added in v0.9.2 --- <h2 class="text-delta">Table of contents</h2> - [Combinator](#combinator) - [alt](#alt) - [ap](#ap) - [apFirst](#apfirst) - [apFirstW](#apfirstw) - [apS](#aps) - [apSW](#apsw) - [apSecond](#apsecond) - [apSecondW](#apsecondw) - [apT](#apt) - [apTW](#aptw) - [askAndProvide](#askandprovide) - [askAndUse](#askanduse) - [bimap](#bimap) - [bind](#bind) - [bindTo](#bindto) - [bindW](#bindw) - [bracket](#bracket) - [chain](#chain) - [chainEitherK](#chaineitherk) - [chainEnvK](#chainenvk) - [chainFirst](#chainfirst) - [chainFirstEnvK](#chainfirstenvk) - [chainFirstIOK](#chainfirstiok) - [chainFirstResumeK](#chainfirstresumek) - [chainFirstTaskK](#chainfirsttaskk) - [chainFirstW](#chainfirstw) - [chainIOK](#chainiok) - [chainOptionK](#chainoptionk) - [chainReaderK](#chainreaderk) - [chainRec](#chainrec) - [chainResumeK](#chainresumek) - [chainTaskK](#chaintaskk) - [chainW](#chainw) - [filterOrElse](#filterorelse) - [flap](#flap) - [getOrElse](#getorelse) - [getOrElseE](#getorelsee) - [map](#map) - [mapLeft](#mapleft) - [orElseFirst](#orelsefirst) - [orLeft](#orleft) - [provideAllWith](#provideallwith) - [provideAllWithEnv](#provideallwithenv) - [provideSomeWith](#providesomewith) - [provideSomeWithEnv](#providesomewithenv) - [swap](#swap) - [tupled](#tupled) - [useAllWith](#useallwith) - [useAllWithEnv](#useallwithenv) - [useSomeWith](#usesomewith) - [useSomeWithEnv](#usesomewithenv) - [Constructor](#constructor) - [Do](#do) - [ask](#ask) - [asks](#asks) - [fromEither](#fromeither) - [fromEitherK](#fromeitherk) - [fromEnv](#fromenv) - [fromEnvK](#fromenvk) - [fromEnvL](#fromenvl) - [fromIO](#fromio) - [fromIOK](#fromiok) - [fromOption](#fromoption) - [fromOptionK](#fromoptionk) - [fromPredicate](#frompredicate) - [fromPromise](#frompromise) - [fromPromiseK](#frompromisek) - [fromReader](#fromreader) - [fromReaderK](#fromreaderk) - [fromResume](#fromresume) - [fromResumeK](#fromresumek) - [fromTask](#fromtask) - [fromTaskK](#fromtaskk) - [left](#left) - [of](#of) - [right](#right) - [Deconstructor](#deconstructor) - [match](#match) - [matchE](#matche) - [orElse](#orelse) - [toUnion](#tounion) - [Instance](#instance) - [Alt](#alt) - [Applicative](#applicative) - [Apply](#apply) - [Bifunctor](#bifunctor) - [Chain](#chain) - [ChainRec](#chainrec) - [FromEither](#fromeither) - [FromEnv](#fromenv) - [FromIO](#fromio) - [FromReader](#fromreader) - [FromResume](#fromresume) - [FromTask](#fromtask) - [Functor](#functor) - [Monad](#monad) - [MonadRec](#monadrec) - [Pointed](#pointed) - [Provide](#provide) - [ProvideAll](#provideall) - [ProvideSome](#providesome) - [UseAll](#useall) - [UseSome](#usesome) - [Model](#model) - [EnvEither (interface)](#enveither-interface) - [Of (interface)](#of-interface) - [Typeclass Constructor](#typeclass-constructor) - [altValidation](#altvalidation) - [getSemigroup](#getsemigroup) - [URI](#uri) - [URI](#uri-1) - [URI (type alias)](#uri-type-alias) --- # Combinator ## alt **Signature** ```ts export declare const alt: <ME, E, A>( second: Lazy<Env.Env<ME, E.Either<E, A>>>, ) => (first: Env.Env<ME, E.Either<E, A>>) => Env.Env<ME, E.Either<E, A>> ``` Added in v0.9.2 ## ap **Signature** ```ts export declare const ap: <FE, E, A>( fa: Env.Env<FE, E.Either<E, A>>, ) => <B>(fab: Env.Env<FE, E.Either<E, (a: A) => B>>) => Env.Env<FE, E.Either<E, B>> ``` Added in v0.9.2 ## apFirst **Signature** ```ts export declare const apFirst: <R, E, B>( second: EnvEither<R, E, B>, ) => <A>(first: EnvEither<R, E, A>) => EnvEither<R, E, A> ``` Added in v0.9.2 ## apFirstW **Signature** ```ts export declare const apFirstW: <R1, E, B>( second: EnvEither<R1, E, B>, ) => <R2, A>(first: EnvEither<R2, E, A>) => EnvEither<R1 & R2, E, A> ``` Added in v0.9.10 ## apS **Signature** ```ts export declare const apS: <N, A, R, E, B>( name: Exclude<N, keyof A>, fb: EnvEither<R, E, B>, ) => ( fa: EnvEither<R, E, A>, ) => EnvEither<R, E, { readonly [K in N | keyof A]: K extends keyof A ? A[K] : B }> ``` Added in v0.9.2 ## apSW **Signature** ```ts export declare const apSW: <N extends string, A, R1, E, B>( name: Exclude<N, keyof A>, fb: EnvEither<R1, E, B>, ) => <R2>( fa: EnvEither<R2, E, A>, ) => EnvEither<R1 & R2, E, { readonly [K in N | keyof A]: K extends keyof A ? A[K] : B }> ``` Added in v0.9.10 ## apSecond **Signature** ```ts export declare const apSecond: <R, E, B>( second: EnvEither<R, E, B>, ) => <A>(first: EnvEither<R, E, A>) => EnvEither<R, E, B> ``` Added in v0.9.2 ## apSecondW **Signature** ```ts export declare const apSecondW: <R1, E, B>( second: EnvEither<R1, E, B>, ) => <R2, A>(first: EnvEither<R2, E, A>) => EnvEither<R1 & R2, E, B> ``` Added in v0.9.10 ## apT **Signature** ```ts export declare const apT: <R, E, B>( fb: EnvEither<R, E, B>, ) => <A>(fas: EnvEither<R, E, A>) => EnvEither<R, E, readonly [...A, B]> ``` Added in v0.9.2 ## apTW **Signature** ```ts export declare const apTW: <R1, E, B>( fb: EnvEither<R1, E, B>, ) => <R2, A extends readonly unknown[]>( fas: EnvEither<R2, E, A>, ) => EnvEither<R1 & R2, E, readonly [...A, B]> ``` Added in v0.9.10 ## askAndProvide **Signature** ```ts export declare const askAndProvide: <R, E, B>( hkt: EnvEither<R, E, B>, ) => EnvEither<R, E, EnvEither<unknown, E, B>> ``` Added in v0.9.2 ## askAndUse **Signature** ```ts export declare const askAndUse: <R, E, B>( hkt: EnvEither<R, E, B>, ) => EnvEither<R, E, EnvEither<unknown, E, B>> ``` Added in v0.9.2 ## bimap **Signature** ```ts export declare const bimap: <E, G, A, B>( f: (e: E) => G, g: (a: A) => B, ) => <FE>(fea: Env.Env<FE, E.Either<E, A>>) => Env.Env<FE, E.Either<G, B>> ``` Added in v0.9.2 ## bind **Signature** ```ts export declare const bind: <N, A, R, E, B>( name: Exclude<N, keyof A>, f: (a: A) => EnvEither<R, E, B>, ) => ( ma: EnvEither<R, E, A>, ) => EnvEither<R, E, { readonly [K in N | keyof A]: K extends keyof A ? A[K] : B }> ``` Added in v0.9.2 ## bindTo **Signature** ```ts export declare const bindTo: <N>( name: N, ) => <R, E, A>(fa: EnvEither<R, E, A>) => EnvEither<R, E, { readonly [K in N]: A }> ``` Added in v0.9.2 ## bindW **Signature** ```ts export declare const bindW: <N extends string, A, R1, E, B>( name: Exclude<N, keyof A>, f: (a: A) => EnvEither<R1, E, B>, ) => <R2>( ma: EnvEither<R2, E, A>, ) => EnvEither<R1 & R2, E, { readonly [K in N | keyof A]: K extends keyof A ? A[K] : B }> ``` Added in v0.11.1 ## bracket **Signature** ```ts export declare const bracket: <ME, E, A, B>( acquire: Env.Env<ME, E.Either<E, A>>, use: (a: A) => Env.Env<ME, E.Either<E, B>>, release: (a: A, e: E.Either<E, B>) => Env.Env<ME, E.Either<E, void>>, ) => Env.Env<ME, E.Either<E, B>> ``` Added in v0.9.2 ## chain **Signature** ```ts export declare const chain: <A, ME, E, B>( f: (a: A) => Env.Env<ME, E.Either<E, B>>, ) => (ma: Env.Env<ME, E.Either<E, A>>) => Env.Env<ME, E.Either<E, B>> ``` Added in v0.9.2 ## chainEitherK **Signature** ```ts export declare const chainEitherK: <A, E, B>( f: (a: A) => E.Either<E, B>, ) => <R>(ma: EnvEither<R, E, A>) => EnvEither<R, E, B> ``` Added in v0.9.2 ## chainEnvK **Signature** ```ts export declare const chainEnvK: <A, R1, B>( f: (value: A) => Env.Env<R1, B>, ) => <R2, E>(hkt: EnvEither<R2, E, A>) => EnvEither<R1 & R2, E, B> ``` Added in v0.9.2 ## chainFirst **Signature** ```ts export declare const chainFirst: <A, R, E, B>( f: (a: A) => EnvEither<R, E, B>, ) => (first: EnvEither<R, E, A>) => EnvEither<R, E, A> ``` Added in v0.9.2 ## chainFirstEnvK **Signature** ```ts export declare const chainFirstEnvK: <A, R1, B>( f: (value: A) => Env.Env<R1, B>, ) => <R2, E>(hkt: EnvEither<R2, E, A>) => EnvEither<R1 & R2, E, A> ``` Added in v0.9.2 ## chainFirstIOK **Signature** ```ts export declare const chainFirstIOK: <A, B>( f: (a: A) => IO.IO<B>, ) => <R, E>(first: EnvEither<R, E, A>) => EnvEither<R, E, A> ``` Added in v0.9.2 ## chainFirstResumeK **Signature** ```ts export declare const chainFirstResumeK: <A, B>( f: (value: A) => Resume<B>, ) => <R, E>(hkt: EnvEither<R, E, A>) => EnvEither<R, E, A> ``` Added in v0.9.2 ## chainFirstTaskK **Signature** ```ts export declare const chainFirstTaskK: <A, B>( f: (a: A) => T.Task<B>, ) => <R, E>(first: EnvEither<R, E, A>) => EnvEither<R, E, A> ``` Added in v0.9.2 ## chainFirstW **Signature** ```ts export declare const chainFirstW: <A, R1, E1, B>( f: (a: A) => EnvEither<R1, E1, B>, ) => <R2, E2>(first: EnvEither<R2, E2, A>) => EnvEither<R1 & R2, E1 | E2, A> ``` Added in v0.9.11 ## chainIOK **Signature** ```ts export declare const chainIOK: <A, B>( f: (a: A) => IO.IO<B>, ) => <R, E>(first: EnvEither<R, E, A>) => EnvEither<R, E, B> ``` Added in v0.9.2 ## chainOptionK **Signature** ```ts export declare const chainOptionK: <E>( onNone: Lazy<E>, ) => <A, B>(f: (a: A) => Option<B>) => <R>(ma: EnvEither<R, E, A>) => EnvEither<R, E, B> ``` Added in v0.9.2 ## chainReaderK **Signature** ```ts export declare const chainReaderK: <A, R, B>( f: (a: A) => Reader<R, B>, ) => <E>(ma: EnvEither<R, E, A>) => EnvEither<R, E, B> ``` Added in v0.9.2 ## chainRec **Signature** ```ts export declare const chainRec: <A, R, E, B>( f: (value: A) => EnvEither<R, E, E.Either<A, B>>, ) => (a: A) => EnvEither<R, E, B> ``` Added in v0.9.2 ## chainResumeK **Signature** ```ts export declare const chainResumeK: <A, B>( f: (value: A) => Resume<B>, ) => <R, E>(hkt: EnvEither<R, E, A>) => EnvEither<R, E, B> ``` Added in v0.9.2 ## chainTaskK **Signature** ```ts export declare const chainTaskK: <A, B>( f: (a: A) => T.Task<B>, ) => <R, E>(first: EnvEither<R, E, A>) => EnvEither<R, E, B> ``` Added in v0.9.2 ## chainW **Signature** ```ts export declare const chainW: <A, ME1, E, B>( f: (a: A) => Env.Env<ME1, E.Either<E, B>>, ) => <ME2>(ma: Env.Env<ME2, E.Either<E, A>>) => Env.Env<ME1 & ME2, E.Either<E, B>> ``` Added in v0.9.2 ## filterOrElse **Signature** ```ts export declare const filterOrElse: { <A, B, E>(refinement: Refinement<A, B>, onFalse: (a: A) => E): <R>( ma: EnvEither<R, E, A>, ) => EnvEither<R, E, B> <A, E>(predicate: Predicate<A>, onFalse: (a: A) => E): <R, B>( mb: EnvEither<R, E, B>, ) => EnvEither<R, E, B> } ``` Added in v0.9.2 ## flap **Signature** ```ts export declare const flap: <A>( a: A, ) => <R, E, B>(fab: EnvEither<R, E, (a: A) => B>) => EnvEither<R, E, B> ``` Added in v0.9.2 ## getOrElse **Signature** ```ts export declare const getOrElse: <E, A>( onLeft: (e: E) => A, ) => <FE>(ma: Env.Env<FE, E.Either<E, A>>) => Env.Env<FE, A> ``` Added in v0.9.2 ## getOrElseE **Signature** ```ts export declare const getOrElseE: <E, ME, A>( onLeft: (e: E) => Env.Env<ME, A>, ) => (ma: Env.Env<ME, E.Either<E, A>>) => Env.Env<ME, A> ``` Added in v0.9.2 ## map **Signature** ```ts export declare const map: <A, B>( f: (a: A) => B, ) => <FE, E>(fa: Env.Env<FE, E.Either<E, A>>) => Env.Env<FE, E.Either<E, B>> ``` Added in v0.9.2 ## mapLeft **Signature** ```ts export declare const mapLeft: <E, G>( f: (e: E) => G, ) => <FE, A>(fea: Env.Env<FE, E.Either<E, A>>) => Env.Env<FE, E.Either<G, A>> ``` Added in v0.9.2 ## orElseFirst **Signature** ```ts export declare const orElseFirst: <E, ME, B>( onLeft: (e: E) => Env.Env<ME, E.Either<E, B>>, ) => <A>(ma: Env.Env<ME, E.Either<E, A>>) => Env.Env<ME, E.Either<E, A>> ``` Added in v0.9.2 ## orLeft **Signature** ```ts export declare const orLeft: <E1, ME, E2>( onLeft: (e: E1) => Env.Env<ME, E2>, ) => <A>(fa: Env.Env<ME, E.Either<E1, A>>) => Env.Env<ME, E.Either<E2, A>> ``` Added in v0.9.2 ## provideAllWith **Signature** ```ts export declare const provideAllWith: <R, E1, A>( provider: EnvEither<R, E1, A>, ) => <E2, B>(hkt: EnvEither<A, E2, B>) => EnvEither<R, E1 | E2, B> ``` Added in v0.9.2 ## provideAllWithEnv **Signature** ```ts export declare const provideAllWithEnv: <R, A>( env: Env.Env<R, A>, ) => <E, B>(hkt: EnvEither<A, E, B>) => EnvEither<R, E, B> ``` Added in v0.9.15 ## provideSomeWith **Signature** ```ts export declare const provideSomeWith: <R1, E1, A>( provider: EnvEither<R1, E1, A>, ) => P.Provider3<'@typed/fp/EnvEither', A, R1, E1> ``` Added in v0.9.2 ## provideSomeWithEnv **Signature** ```ts export declare const provideSomeWithEnv: <E, A>( env: Env.Env<E, A>, ) => P.Provider3<'@typed/fp/EnvEither', A, E, never> ``` Added in v0.9.15 ## swap **Signature** ```ts export declare const swap: <FE, E, A>( ma: Env.Env<FE, E.Either<E, A>>, ) => Env.Env<FE, E.Either<A, E>> ``` Added in v0.9.2 ## tupled **Signature** ```ts export declare const tupled: <R, E, A>(fa: EnvEither<R, E, A>) => EnvEither<R, E, readonly [A]> ``` Added in v0.9.2 ## useAllWith **Signature** ```ts export declare const useAllWith: <R, E1, A>( provider: EnvEither<R, E1, A>, ) => <E2, B>(hkt: EnvEither<A, E2, B>) => EnvEither<R, E1 | E2, B> ``` Added in v0.9.2 ## useAllWithEnv **Signature** ```ts export declare const useAllWithEnv: <R, A>( env: Env.Env<R, A>, ) => <E, B>(hkt: EnvEither<A, E, B>) => EnvEither<R, E, B> ``` Added in v0.9.15 ## useSomeWith **Signature** ```ts export declare const useSomeWith: <R1, E1, A>( provider: EnvEither<R1, E1, A>, ) => P.Provider3<'@typed/fp/EnvEither', A, R1, E1> ``` Added in v0.9.2 ## useSomeWithEnv **Signature** ```ts export declare const useSomeWithEnv: <E, A>( env: Env.Env<E, A>, ) => P.Provider3<'@typed/fp/EnvEither', A, E, never> ``` Added in v0.9.15 # Constructor ## Do **Signature** ```ts export declare const Do: EnvEither<unknown, never, {}> ``` Added in v0.11.1 ## ask **Signature** ```ts export declare const ask: <R, E>() => EnvEither<R, E, R> ``` Added in v0.9.2 ## asks **Signature** ```ts export declare const asks: <R, A, E>(f: (r: R) => A) => EnvEither<R, E, A> ``` Added in v0.9.2 ## fromEither **Signature** ```ts export declare const fromEither: <E, A, R = unknown>(e: E.Either<E, A>) => EnvEither<R, E, A> ``` Added in v0.9.2 ## fromEitherK **Signature** ```ts export declare const fromEitherK: <A, E, B>( f: (...a: A) => E.Either<E, B>, ) => <R>(...a: A) => EnvEither<R, E, B> ``` Added in v0.9.2 ## fromEnv **Signature** ```ts export declare const fromEnv: <FE, A, E>(fa: Env.Env<FE, A>) => Env.Env<FE, E.Either<E, A>> ``` Added in v0.9.2 ## fromEnvK **Signature** ```ts export declare const fromEnvK: <A, R, B>( f: (...args: A) => Env.Env<R, B>, ) => <E>(...args: A) => EnvEither<R, E, B> ``` Added in v0.9.2 ## fromEnvL **Signature** ```ts export declare const fromEnvL: <FE, E, A>(fe: Env.Env<FE, E>) => Env.Env<FE, E.Either<E, A>> ``` Added in v0.9.2 ## fromIO **Signature** ```ts export declare const fromIO: <A, R = unknown, E = never>(fa: IO.IO<A>) => EnvEither<R, E, A> ``` Added in v0.9.2 ## fromIOK **Signature** ```ts export declare const fromIOK: <A, B>( f: (...a: A) => IO.IO<B>, ) => <R, E>(...a: A) => EnvEither<R, E, B> ``` Added in v0.9.2 ## fromOption **Signature** ```ts export declare const fromOption: <E>( onNone: Lazy<E>, ) => NaturalTransformation13C<'Option', '@typed/fp/EnvEither', E> ``` Added in v0.9.2 ## fromOptionK **Signature** ```ts export declare const fromOptionK: <E>( onNone: Lazy<E>, ) => <A, B>(f: (...a: A) => Option<B>) => <R>(...a: A) => EnvEither<R, E, B> ``` Added in v0.9.2 ## fromPredicate **Signature** ```ts export declare const fromPredicate: { <A, B>(refinement: Refinement<A, B>): <R>(a: A) => EnvEither<R, A, B> <A>(predicate: Predicate<A>): <R, B>(b: B) => EnvEither<R, B, B> } ``` Added in v0.9.2 ## fromPromise Construct an EnvEither from a Promise returning function. **Signature** ```ts export declare const fromPromise: <A>(f: Lazy<Promise<A>>) => Env.Env<unknown, E.Either<unknown, A>> ``` Added in v0.12.2 ## fromPromiseK Construct an EnvEither from a Promise returning function. **Signature** ```ts export declare const fromPromiseK: <A extends readonly any[], B>( f: (...args: A) => Promise<B>, ) => (...args: A) => Env.Env<unknown, E.Either<unknown, B>> ``` Added in v0.12.2 ## fromReader **Signature** ```ts export declare const fromReader: <R, A, E = never>(fa: Reader<R, A>) => EnvEither<R, E, A> ``` Added in v0.9.2 ## fromReaderK **Signature** ```ts export declare const fromReaderK: <A, R, B>( f: (...a: A) => Reader<R, B>, ) => <E>(...a: A) => EnvEither<R, E, B> ``` Added in v0.9.2 ## fromResume **Signature** ```ts export declare const fromResume: NaturalTransformation13<'@typed/fp/Resume', '@typed/fp/EnvEither'> ``` Added in v0.9.2 ## fromResumeK **Signature** ```ts export declare const fromResumeK: <A, B>( f: (...args: A) => Resume<B>, ) => <R, E>(...args: A) => EnvEither<R, E, B> ``` Added in v0.9.2 ## fromTask **Signature** ```ts export declare const fromTask: <A, R = unknown, E = never>(fa: T.Task<A>) => EnvEither<R, E, A> ``` Added in v0.9.2 ## fromTaskK **Signature** ```ts export declare const fromTaskK: <A, B>( f: (...a: A) => T.Task<B>, ) => <R, E>(...a: A) => EnvEither<R, E, B> ``` Added in v0.9.2 ## left **Signature** ```ts export declare const left: <E, FE, A>(e: E) => Env.Env<FE, E.Either<E, A>> ``` Added in v0.9.2 ## of **Signature** ```ts export declare const of: <A, E = never>(a: A) => Env.Of<E.Either<E, A>> ``` Added in v0.9.2 ## right **Signature** ```ts export declare const right: <A, FE, E>(a: A) => Env.Env<FE, E.Either<E, A>> ``` Added in v0.9.2 # Deconstructor ## match **Signature** ```ts export declare const match: <E, B, A>( onLeft: (e: E) => B, onRight: (a: A) => B, ) => <FE>(ma: Env.Env<FE, E.Either<E, A>>) => Env.Env<FE, B> ``` Added in v0.9.2 ## matchE **Signature** ```ts export declare const matchE: <E, ME, B, A>( onLeft: (e: E) => Env.Env<ME, B>, onRight: (a: A) => Env.Env<ME, B>, ) => (ma: Env.Env<ME, E.Either<E, A>>) => Env.Env<ME, B> ``` Added in v0.9.2 ## orElse **Signature** ```ts export declare const orElse: <E1, ME, E2, A>( onLeft: (e: E1) => Env.Env<ME, E.Either<E2, A>>, ) => (ma: Env.Env<ME, E.Either<E1, A>>) => Env.Env<ME, E.Either<E2, A>> ``` Added in v0.9.2 ## toUnion **Signature** ```ts export declare const toUnion: <FE, E, A>(fa: Env.Env<FE, E.Either<E, A>>) => Env.Env<FE, E | A> ``` Added in v0.9.2 # Instance ## Alt **Signature** ```ts export declare const Alt: Alt_.Alt3<'@typed/fp/EnvEither'> ``` Added in v0.9.2 ## Applicative **Signature** ```ts export declare const Applicative: Applicative_.Applicative3<'@typed/fp/EnvEither'> ``` Added in v0.9.2 ## Apply **Signature** ```ts export declare const Apply: Apply_.Apply3<'@typed/fp/EnvEither'> ``` Added in v0.9.2 ## Bifunctor **Signature** ```ts export declare const Bifunctor: Bifunctor_.Bifunctor3<'@typed/fp/EnvEither'> ``` Added in v0.9.2 ## Chain **Signature** ```ts export declare const Chain: Chain_.Chain3<'@typed/fp/EnvEither'> ``` Added in v0.9.2 ## ChainRec **Signature** ```ts export declare const ChainRec: ChainRec_.ChainRec3<'@typed/fp/EnvEither'> ``` Added in v0.9.2 ## FromEither **Signature** ```ts export declare const FromEither: FEi.FromEither3<'@typed/fp/EnvEither'> ``` Added in v0.9.2 ## FromEnv **Signature** ```ts export declare const FromEnv: FE.FromEnv3<'@typed/fp/EnvEither'> ``` Added in v0.9.2 ## FromIO **Signature** ```ts export declare const FromIO: FIO.FromIO3<'@typed/fp/EnvEither'> ``` Added in v0.9.2 ## FromReader **Signature** ```ts export declare const FromReader: FR.FromReader3<'@typed/fp/EnvEither'> ``` Added in v0.9.2 ## FromResume **Signature** ```ts export declare const FromResume: FRe.FromResume3<'@typed/fp/EnvEither'> ``` Added in v0.9.2 ## FromTask **Signature** ```ts export declare const FromTask: FT.FromTask3<'@typed/fp/EnvEither'> ``` Added in v0.9.2 ## Functor **Signature** ```ts export declare const Functor: Functor_.Functor3<'@typed/fp/EnvEither'> ``` Added in v0.9.2 ## Monad **Signature** ```ts export declare const Monad: Monad_.Monad3<'@typed/fp/EnvEither'> ``` Added in v0.9.2 ## MonadRec **Signature** ```ts export declare const MonadRec: MonadRec3<'@typed/fp/EnvEither'> ``` Added in v0.9.2 ## Pointed **Signature** ```ts export declare const Pointed: Pointed_.Pointed3<'@typed/fp/EnvEither'> ``` Added in v0.9.2 ## Provide **Signature** ```ts export declare const Provide: P.Provide3<'@typed/fp/EnvEither'> ``` Added in v0.9.2 ## ProvideAll **Signature** ```ts export declare const ProvideAll: P.ProvideAll3<'@typed/fp/EnvEither'> ``` Added in v0.9.2 ## ProvideSome **Signature** ```ts export declare const ProvideSome: P.ProvideSome3<'@typed/fp/EnvEither'> ``` Added in v0.9.2 ## UseAll **Signature** ```ts export declare const UseAll: P.UseAll3<'@typed/fp/EnvEither'> ``` Added in v0.9.2 ## UseSome **Signature** ```ts export declare const UseSome: P.UseSome3<'@typed/fp/EnvEither'> ``` Added in v0.9.2 # Model ## EnvEither (interface) **Signature** ```ts export interface EnvEither<R, E, A> extends Env.Env<R, E.Either<E, A>> {} ``` Added in v0.9.2 ## Of (interface) **Signature** ```ts export interface Of<E, A> extends EnvEither<unknown, E, A> {} ``` Added in v0.10.0 # Typeclass Constructor ## altValidation **Signature** ```ts export declare const altValidation: <A>( semigroup: Semigroup_.Semigroup<A>, ) => <ME, A>( second: Lazy<Env.Env<ME, E.Either<A, A>>>, ) => (first: Env.Env<ME, E.Either<A, A>>) => Env.Env<ME, E.Either<A, A>> ``` Added in v0.9.2 ## getSemigroup **Signature** ```ts export declare const getSemigroup: <A, R, E>( S: Semigroup_.Semigroup<A>, ) => Semigroup_.Semigroup<EnvEither<R, E, A>> ``` Added in v0.9.2 # URI ## URI **Signature** ```ts export declare const URI: '@typed/fp/EnvEither' ``` Added in v0.9.2 ## URI (type alias) **Signature** ```ts export type URI = typeof URI ``` Added in v0.9.2