UNPKG

@typed/fp

Version:

Data Structures and Resources for fp-ts

204 lines 7.21 kB
/** * 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