@typed/fp
Version:
Data Structures and Resources for fp-ts
204 lines • 7.21 kB
TypeScript
/**
* EnvData is DataT of Env.
* @since 0.9.2
*/
import * as App from 'fp-ts/Applicative';
import * as Ap from 'fp-ts/Apply';
import * as Ch from 'fp-ts/Chain';
import * as F from 'fp-ts/Functor';
import { Monad2 } from 'fp-ts/Monad';
import * as P from 'fp-ts/Pointed';
import * as D from './Data';
import * as E from './Env';
/**
* @since 0.9.2
* @category Model
*/
export interface EnvData<E, A> extends E.Env<E, D.Data<A>> {
}
/**
* @since 0.9.2
* @category Combinator
*/
export declare const alt: <E1, A>(second: import("fp-ts/function").Lazy<E.Env<E1, D.Data<A>>>) => <E2>(first: E.Env<E2, D.Data<A>>) => E.Env<E1 & E2, D.Data<A>>;
/**
* @since 0.9.2
* @category Combinator
*/
export declare const ap: <E1, A>(fa: E.Env<E1, D.Data<A>>) => <E2, B>(fab: E.Env<E2, D.Data<(a: A) => B>>) => E.Env<E1 & E2, D.Data<B>>;
/**
* @since 0.9.2
* @category Combinator
*/
export declare const chain: <A, E1, B>(f: (value: A) => E.Env<E1, D.Data<B>>) => <E2>(fa: E.Env<E2, D.Data<A>>) => E.Env<E1 & E2, D.Data<B>>;
/**
* @since 0.9.2
* @category Combinator
*/
export declare const getOrElse: <A>(onNoData: () => A, onLoading: (progress: import("fp-ts/Option").Option<import("./Progress").Progress>) => A) => <E>(ma: E.Env<E, D.Data<A>>) => E.Env<E, A>;
/**
* @since 0.9.2
* @category Combinator
*/
export declare const map: <A, B>(f: (a: A) => B) => <E>(fa: E.Env<E, D.Data<A>>) => E.Env<E, D.Data<B>>;
/**
* @since 0.9.2
* @category Deconstructor
*/
export declare const match: <A, B>(onNoData: () => A, onLoading: (progress: import("fp-ts/Option").Option<import("./Progress").Progress>) => A, onRefresh: (value: B, progress: import("fp-ts/Option").Option<import("./Progress").Progress>) => A, onReplete: (value: B) => A) => <E>(fa: E.Env<E, D.Data<B>>) => E.Env<E, A>;
/**
* @since 0.9.2
* @category Deconstructor
*/
export declare const matchW: <A, B, C, D, E>(onNoData: () => A, onLoading: (progress: import("fp-ts/Option").Option<import("./Progress").Progress>) => B, onRefresh: (value: C, progress: import("fp-ts/Option").Option<import("./Progress").Progress>) => D, onReplete: (value: C) => E) => <EF>(fa: E.Env<EF, D.Data<C>>) => E.Env<E, A | B | D | E>;
/**
* @since 0.9.2
* @category Deconstructor
*/
export declare const match3W: <A, B, C, D>(onNoData: () => A, onLoading: (progress: import("fp-ts/Option").Option<import("./Progress").Progress>) => B, onReplete: (value: C) => D) => <E>(fa: E.Env<E, D.Data<C>>) => E.Env<E, A | B | D>;
/**
* @since 0.9.2
* @category Deconstructor
*/
export declare const matchE: <E1, A, E2, B, E3, E4>(onNoData: () => E.Env<E1, A>, onLoading: (progress: import("fp-ts/Option").Option<import("./Progress").Progress>) => E.Env<E2, A>, onRefresh: (value: B, progress: import("fp-ts/Option").Option<import("./Progress").Progress>) => E.Env<E3, A>, onReplete: (value: B) => E.Env<E4, A>) => <E5>(data: E.Env<E5, D.Data<B>>) => E.Env<E1 & E2 & E3 & E4 & E5, A>;
/**
* @since 0.9.2
* @category Deconstructor
*/
export declare const matchEW: <E1, A, E2, B, C, E3, D, E4, E>(onNoData: () => E.Env<E1, A>, onLoading: (progress: import("fp-ts/Option").Option<import("./Progress").Progress>) => E.Env<E2, B>, onRefresh: (value: C, progress: import("fp-ts/Option").Option<import("./Progress").Progress>) => E.Env<E3, D>, onReplete: (value: C) => E.Env<E4, E>) => <E5>(data: E.Env<E5, D.Data<C>>) => E.Env<E1 & E2 & E3 & E4 & E5, A | B | D | E>;
/**
* @since 0.9.2
* @category Constructor
*/
export declare const noData: E.Env<unknown, D.NoData>;
/**
* @since 0.9.2
* @category Constructor
*/
export declare const loading: E.Env<unknown, D.Loading>;
/**
* @since 0.9.2
* @category Constructor
*/
export declare const refresh: <A, E = unknown>(value: A, progress?: import("fp-ts/Option").Option<import("./Progress").Progress> | undefined) => E.Env<E, D.Refresh<A>>;
/**
* @since 0.9.2
* @category Constructor
*/
export declare const replete: <A, E = unknown>(value: A) => E.Env<E, D.Replete<A>>;
/**
* @since 0.9.2
* @category Constructor
*/
export declare const repleteF: <E, A>(fa: E.Env<E, A>) => E.Env<E, D.Replete<A>>;
/**
* @since 0.9.2
* @category URI
*/
export declare const URI = "@typed/fp/EnvData";
/**
* @since 0.9.2
* @category URI
*/
export declare type URI = typeof URI;
declare module 'fp-ts/HKT' {
interface URItoKind2<E, A> {
[URI]: EnvData<E, A>;
}
}
declare module './HKT' {
interface URItoVariance {
[URI]: V<E, Contravariant>;
}
}
/**
* @since 0.9.2
* @category Combinator
*/
export declare const of: <A, E = unknown>(value: A) => E.Env<E, D.Replete<A>>;
/**
* @since 0.9.2
* @category Instance
*/
export declare const Pointed: P.Pointed2<URI>;
/**
* @since 0.9.2
* @category Instance
*/
export declare const Functor: F.Functor2<URI>;
/**
* @since 0.9.2
* @category Combinator
*/
export declare const bindTo: <N extends string>(name: N) => <E, A>(fa: EnvData<E, A>) => EnvData<E, { readonly [K in N]: A; }>;
/**
* @since 0.9.2
* @category Combinator
*/
export declare const flap: <A>(a: A) => <E, B>(fab: EnvData<E, (a: A) => B>) => EnvData<E, B>;
/**
* @since 0.9.2
* @category Combinator
*/
export declare const tupled: <E, A>(fa: EnvData<E, A>) => EnvData<E, readonly [A]>;
/**
* @since 0.9.2
* @category Instance
*/
export declare const Apply: Ap.Apply2<URI>;
/**
* @since 0.9.2
* @category Combinator
*/
export declare const apFirst: <E, B>(second: EnvData<E, B>) => <A>(first: EnvData<E, A>) => EnvData<E, A>;
/**
* @since 0.9.2
* @category Combinator
*/
export declare const apS: <N extends string, A, E, B>(name: Exclude<N, keyof A>, fb: EnvData<E, B>) => (fa: EnvData<E, A>) => EnvData<E, { readonly [K in N | keyof A]: K extends keyof A ? A[K] : B; }>;
/**
* @since 0.9.2
* @category Combinator
*/
export declare const apSecond: <E, B>(second: EnvData<E, B>) => <A>(first: EnvData<E, A>) => EnvData<E, B>;
/**
* @since 0.9.2
* @category Combinator
*/
export declare const apT: <E, B>(fb: EnvData<E, B>) => <A extends readonly unknown[]>(fas: EnvData<E, A>) => EnvData<E, readonly [...A, B]>;
/**
* @since 0.9.2
* @category Typeclass Constructor
*/
export declare const getApplySemigroup: <A, E>(S: import("fp-ts/Semigroup").Semigroup<A>) => import("fp-ts/Semigroup").Semigroup<EnvData<E, A>>;
/**
* @since 0.9.2
* @category Instance
*/
export declare const Applicative: App.Applicative2<URI>;
/**
* @since 0.9.2
* @category Typeclass Constructor
*/
export declare const getApplicativeMonoid: <A, E>(M: import("fp-ts/Monoid").Monoid<A>) => import("fp-ts/Monoid").Monoid<EnvData<E, A>>;
/**
* @since 0.9.2
* @category Instance
*/
export declare const Chain: Ch.Chain2<URI>;
/**
* @since 0.9.2
* @category Combinator
*/
export declare const bind: <N extends string, A, E, B>(name: Exclude<N, keyof A>, f: (a: A) => EnvData<E, B>) => (ma: EnvData<E, A>) => EnvData<E, { readonly [K in N | keyof A]: K extends keyof A ? A[K] : B; }>;
/**
* @since 0.9.2
* @category Combinator
*/
export declare const chainFirst: <A, E, B>(f: (a: A) => EnvData<E, B>) => (first: EnvData<E, A>) => EnvData<E, A>;
/**
* @since 0.9.2
* @category Instance
*/
export declare const Monad: Monad2<URI>;
//# sourceMappingURL=EnvData.d.ts.map