UNPKG

@typed/fp

Version:

Data Structures and Resources for fp-ts

861 lines 28.3 kB
/** * ReaderStream is a ReaderT of Most.js' Stream. * @since 0.9.2 */ import { SeedValue as SV } from '@most/core/dist/combinator/loop'; import * as App from 'fp-ts/Applicative'; import * as Ap from 'fp-ts/Apply'; import * as Ch from 'fp-ts/Chain'; import { ChainRec2 } from 'fp-ts/ChainRec'; import { Compactable2 } from 'fp-ts/Compactable'; import { Either } from 'fp-ts/Either'; import { Eq } from 'fp-ts/Eq'; import * as Filterable_ from 'fp-ts/Filterable'; import * as FIO from 'fp-ts/FromIO'; import * as FR from 'fp-ts/FromReader'; import * as FT from 'fp-ts/FromTask'; import * as F from 'fp-ts/Functor'; import { IO } from 'fp-ts/IO'; import { Monad2 } from 'fp-ts/Monad'; import { Pointed2 } from 'fp-ts/Pointed'; import { Predicate } from 'fp-ts/Predicate'; import * as Re from 'fp-ts/Reader'; import { Refinement } from 'fp-ts/Refinement'; import { Separated } from 'fp-ts/Separated'; import { Task } from 'fp-ts/Task'; import * as E from './Env'; import * as FE from './FromEnv'; import * as FRe from './FromResume'; import * as FS from './FromStream'; import * as FN from './function'; import { Intersect } from './HKT'; import { MonadRec2 } from './MonadRec'; import * as O from './Option'; import * as P from './Provide'; import { SchedulerEnv } from './Scheduler'; import * as S from './Stream'; /** * Env is specialization of Reader<R, Resume<A>> * @since 0.9.2 * @category Model */ export interface ReaderStream<R, A> extends Re.Reader<R, S.Stream<A>> { } /** * @since 0.9.2 * @category Type-level */ export declare type RequirementsOf<A> = [A] extends [ReaderStream<infer R, any>] ? R : never; /** * @since 0.9.2 * @category Type-level */ export declare type ValueOf<A> = [A] extends [ReaderStream<any, infer R>] ? R : never; /** * @since 0.9.2 * @category Combinator */ export declare const ap: <R, A>(fa: Re.Reader<R, import("@most/types").Stream<A>>) => <B>(fab: Re.Reader<R, import("@most/types").Stream<(a: A) => B>>) => Re.Reader<R, import("@most/types").Stream<B>>; /** * @since 0.9.2 * @category Combinator */ export declare const apW: <R1, A>(fa: ReaderStream<R1, A>) => <R2, B>(fab: ReaderStream<R2, FN.Arity1<A, B>>) => ReaderStream<R1 & R2, B>; /** * @since 0.9.2 * @category Combinator */ export declare const chain: <A, R, B>(f: (a: A) => Re.Reader<R, import("@most/types").Stream<B>>) => (ma: Re.Reader<R, import("@most/types").Stream<A>>) => Re.Reader<R, import("@most/types").Stream<B>>; /** * @since 0.9.2 * @category Combinator */ export declare const chainW: <A, R1, B>(f: (a: A) => ReaderStream<R1, B>) => <R2>(ma: ReaderStream<R2, A>) => ReaderStream<R1 & R2, B>; /** * @since 0.9.2 * @category Combinator */ export declare const switchMap: <A, R, B>(f: (a: A) => Re.Reader<R, import("@most/types").Stream<B>>) => (ma: Re.Reader<R, import("@most/types").Stream<A>>) => Re.Reader<R, import("@most/types").Stream<B>>; /** * @since 0.9.2 * @category Combinator */ export declare const switchMapW: <A, R1, B>(f: (a: A) => ReaderStream<R1, B>) => <R2>(ma: ReaderStream<R2, A>) => ReaderStream<R1 & R2, B>; /** * @since 0.9.2 * @category Combinator */ export declare const switchFirst: <R1, A>(second: ReaderStream<R1, A>) => <R2, B>(first: ReaderStream<R2, B>) => ReaderStream<R1 & R2, B>; /** * @since 0.9.2 * @category Constructor */ export declare const fromReader: <R, A>(ma: Re.Reader<R, A>) => ReaderStream<R, A>; /** * @since 0.9.2 * @category Combinator */ export declare const map: <A, B>(f: (a: A) => B) => <R>(fa: ReaderStream<R, A>) => ReaderStream<R, B>; /** * @since 0.9.2 * @category Combinator */ export declare const constant: <B>(b: B) => <R>(fa: ReaderStream<R, unknown>) => ReaderStream<R, B>; /** * @since 0.9.2 * @category Constructor */ export declare const of: <A, R = unknown>(a: A) => ReaderStream<R, A>; /** * @since 0.9.2 * @category Combinator */ export declare function chainRec<A, E, B>(f: (value: A) => ReaderStream<E, Either<A, B>>): (value: A) => ReaderStream<E, B>; /** * @since 0.9.2 * @category URI */ export declare const URI = "@typed/fp/ReaderStream"; /** * @since 0.9.2 * @category URI */ export declare type URI = typeof URI; declare module 'fp-ts/HKT' { interface URItoKind2<E, A> { [URI]: ReaderStream<E, A>; } } declare module './HKT' { interface URItoVariance { [URI]: V<E, Contravariant>; } } /** * @since 0.9.2 * @category Instance */ export declare const Pointed: 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: ReaderStream<E, A>) => ReaderStream<E, { readonly [K in N]: A; }>; /** * @since 0.9.2 * @category Combinator */ export declare const flap: <A>(a: A) => <E, B>(fab: ReaderStream<E, (a: A) => B>) => ReaderStream<E, B>; /** * @since 0.9.2 * @category Combinator */ export declare const tupled: <E, A>(fa: ReaderStream<E, A>) => ReaderStream<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: ReaderStream<E, B>) => <A>(first: ReaderStream<E, A>) => ReaderStream<E, A>; /** * @since 0.9.2 * @category Combinator */ export declare const apFirstW: <E1, B>(second: ReaderStream<E1, B>) => <E2, A>(first: ReaderStream<E2, A>) => ReaderStream<E1 & E2, A>; /** * @since 0.9.2 * @category Combinator */ export declare const apS: <N extends string, A, E, B>(name: Exclude<N, keyof A>, fb: ReaderStream<E, B>) => (fa: ReaderStream<E, A>) => ReaderStream<E, { readonly [K in N | keyof A]: K extends keyof A ? A[K] : B; }>; /** * @since 0.9.2 * @category Combinator */ export declare const apSW: <N extends string, A, E1, B>(name: Exclude<N, keyof A>, fb: ReaderStream<E1, B>) => <E2>(fa: ReaderStream<E2, A>) => ReaderStream<E1 & E2, { 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: ReaderStream<E, B>) => <A>(first: ReaderStream<E, A>) => ReaderStream<E, B>; /** * @since 0.9.2 * @category Combinator */ export declare const apSecondW: <E1, B>(second: ReaderStream<E1, B>) => <E2, A>(first: ReaderStream<E2, A>) => ReaderStream<E1 & E2, B>; /** * @since 0.9.2 * @category Combinator */ export declare const apT: <E, B>(fb: ReaderStream<E, B>) => <A extends readonly unknown[]>(fas: ReaderStream<E, A>) => ReaderStream<E, readonly [...A, B]>; /** * @since 0.9.2 * @category Combinator */ export declare const apTW: <E1, B>(fb: ReaderStream<E1, B>) => <E2, A extends readonly unknown[]>(fas: ReaderStream<E2, A>) => ReaderStream<E1 & E2, 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<ReaderStream<E, A>>; /** * @since 0.9.2 * @category Combinator */ export declare const apSEnv: <N extends string, A, E, B>(name: Exclude<N, keyof A>, fb: E.Env<E, B>) => (fa: ReaderStream<E, A>) => ReaderStream<E, { readonly [K in N | keyof A]: K extends keyof A ? A[K] : B; }>; /** * @since 0.9.2 * @category Combinator */ export declare const apSEnvW: <N extends string, A, E1, B>(name: Exclude<N, keyof A>, fb: E.Env<E1, B>) => <E2>(fa: ReaderStream<E2, A>) => ReaderStream<E1 & E2, { readonly [K in N | keyof A]: K extends keyof A ? A[K] : B; }>; /** * @since 0.9.2 * @category Combinator */ export declare const apTEnvW: <E1, B>(fb: E.Env<E1, B>) => <E2, A extends readonly unknown[]>(fas: ReaderStream<E2, A>) => ReaderStream<E1 & E2, readonly [...A, B]>; /** * @since 0.9.2 * @category Combinator */ export declare const apTEnv: <E, B>(fb: E.Env<E, B>) => <A extends readonly unknown[]>(fas: ReaderStream<E, A>) => ReaderStream<E, readonly [...A, B]>; /** * @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<ReaderStream<E, A>>; /** * @since 0.9.2 * @category Instance */ export declare const Chain: Ch.Chain2<URI>; /** * @since 0.9.2 * @category Combinator */ export declare const chainFirst: <A, E, B>(f: (a: A) => ReaderStream<E, B>) => (first: ReaderStream<E, A>) => ReaderStream<E, A>; /** * @since 0.9.2 * @category Combinator */ export declare const chainFirstW: <A, E1, B>(f: (a: A) => ReaderStream<E1, B>) => <E2>(first: ReaderStream<E2, A>) => ReaderStream<E1 & E2, A>; /** * @since 0.9.2 * @category Combinator */ export declare const bind: <N extends string, A, E, B>(name: Exclude<N, keyof A>, f: (a: A) => ReaderStream<E, B>) => (ma: ReaderStream<E, A>) => ReaderStream<E, { readonly [K in N | keyof A]: K extends keyof A ? A[K] : B; }>; /** * @since 0.9.2 * @category Combinator */ export declare const bindW: <N extends string, A, E1, B>(name: Exclude<N, keyof A>, f: (a: A) => ReaderStream<E1, B>) => <E2>(ma: ReaderStream<E2, A>) => ReaderStream<E1 & E2, { readonly [K in N | keyof A]: K extends keyof A ? A[K] : B; }>; /** * @since 0.9.2 * @category Combinator */ export declare const bindEnv: <N extends string, A, E, B>(name: Exclude<N, keyof A>, f: (a: A) => E.Env<E, B>) => (ma: ReaderStream<E, A>) => ReaderStream<E, { readonly [K in N | keyof A]: K extends keyof A ? A[K] : B; }>; /** * @since 0.9.2 * @category Combinator */ export declare const bindEnvW: <N extends string, A, E1, B>(name: Exclude<N, keyof A>, f: (a: A) => E.Env<E1, B>) => <E2>(ma: ReaderStream<E2, A>) => ReaderStream<E1 & E2, { readonly [K in N | keyof A]: K extends keyof A ? A[K] : B; }>; /** * @since 0.9.2 * @category Instance */ export declare const Monad: Monad2<URI>; /** * @since 0.9.2 * @category Instance */ export declare const ChainRec: ChainRec2<URI>; /** * @since 0.9.2 * @category Instance */ export declare const MonadRec: MonadRec2<URI>; /** * @since 0.9.2 * @category Instance */ export declare const FromReader: FR.FromReader2<URI>; /** * @since 0.9.2 * @category Constructor */ export declare const ask: <R>() => ReaderStream<R, R>; /** * @since 0.9.2 * @category Constructor */ export declare const asks: <R, A>(f: (r: R) => A) => ReaderStream<R, A>; /** * @since 0.9.2 * @category Combinator */ export declare const chainFirstReaderK: <A, R, B>(f: (a: A) => Re.Reader<R, B>) => (ma: ReaderStream<R, A>) => ReaderStream<R, A>; /** * @since 0.9.2 * @category Combinator */ export declare const chainReaderK: <A, R, B>(f: (a: A) => Re.Reader<R, B>) => (ma: ReaderStream<R, A>) => ReaderStream<R, B>; /** * @since 0.9.2 * @category Constructor */ export declare const fromReaderK: <A extends readonly unknown[], R, B>(f: (...a: A) => Re.Reader<R, B>) => (...a: A) => ReaderStream<R, B>; /** * @since 0.9.2 * @category Instance */ export declare const FromResume: FRe.FromResume2<URI>; /** * @since 0.9.2 * @category Constructor */ export declare const fromResume: import("fp-ts/NaturalTransformation").NaturalTransformation12<"@typed/fp/Resume", "@typed/fp/ReaderStream">; /** * @since 0.9.2 * @category Combinator */ export declare const chainFirstResumeK: <A, B>(f: (value: A) => import("./Resume").Resume<B>) => <E>(hkt: ReaderStream<E, A>) => ReaderStream<E, A>; /** * @since 0.9.2 * @category Combinator */ export declare const chainResumeK: <A, B>(f: (value: A) => import("./Resume").Resume<B>) => <E>(hkt: ReaderStream<E, A>) => ReaderStream<E, B>; /** * @since 0.9.2 * @category Constructor */ export declare const fromResumeK: <A extends readonly any[], B>(f: (...args: A) => import("./Resume").Resume<B>) => <E>(...args: A) => ReaderStream<E, B>; /** * @since 0.9.2 * @category Instance */ export declare const FromEnv: FE.FromEnv2<URI>; /** * @since 0.9.2 * @category Constructor */ export declare const fromEnv: import("fp-ts/NaturalTransformation").NaturalTransformation22<"@typed/fp/Env", "@typed/fp/ReaderStream">; /** * @since 0.9.2 * @category Combinator */ export declare const chainEnvK: <A, R1, B>(f: (value: A) => E.Env<R1, B>) => <R2>(hkt: ReaderStream<R2, A>) => ReaderStream<R1 & R2, B>; /** * @since 0.9.2 * @category Combinator */ export declare const chainFirstEnvK: <A, R1, B>(f: (value: A) => E.Env<R1, B>) => <R2>(hkt: ReaderStream<R2, A>) => ReaderStream<R1 & R2, A>; /** * @since 0.9.2 * @category Constructor */ export declare const fromEnvK: <A extends readonly any[], R, B>(f: (...args: A) => E.Env<R, B>) => (...args: A) => ReaderStream<R, B>; /** * @since 0.9.2 * @category Instance */ export declare const FromIO: FIO.FromIO2<URI>; /** * @since 0.9.2 * @category Constructor */ export declare const fromIO: import("fp-ts/NaturalTransformation").NaturalTransformation12<"IO", "@typed/fp/ReaderStream">; /** * @since 0.9.2 * @category Combinator */ export declare const chainFirstIOK: <A, B>(f: (a: A) => IO<B>) => <E>(first: ReaderStream<E, A>) => ReaderStream<E, A>; /** * @since 0.9.2 * @category Combinator */ export declare const chainIOK: <A, B>(f: (a: A) => IO<B>) => <E>(first: ReaderStream<E, A>) => ReaderStream<E, B>; /** * @since 0.9.2 * @category Constructor */ export declare const fromIOK: <A extends readonly unknown[], B>(f: (...a: A) => IO<B>) => <E>(...a: A) => ReaderStream<E, B>; /** * @since 0.9.2 * @category Constructor */ export declare const Do: ReaderStream<unknown, {}>; /** * @since 0.9.2 * @category Instance */ export declare const FromTask: FT.FromTask2<URI>; /** * @since 0.9.2 * @category Constructor */ export declare const fromTask: import("fp-ts/NaturalTransformation").NaturalTransformation12<"Task", "@typed/fp/ReaderStream">; /** * @since 0.9.2 * @category Combinator */ export declare const chainFirstTaskK: <A, B>(f: (a: A) => Task<B>) => <E>(first: ReaderStream<E, A>) => ReaderStream<E, A>; /** * @since 0.9.2 * @category Combinator */ export declare const chainTaskK: <A, B>(f: (a: A) => Task<B>) => <E>(first: ReaderStream<E, A>) => ReaderStream<E, B>; /** * @since 0.9.2 * @category Constructor */ export declare const fromTaskK: <A extends readonly unknown[], B>(f: (...a: A) => Task<B>) => <E>(...a: A) => ReaderStream<E, B>; /** * @since 0.9.2 * @category Instance */ export declare const FromStream: FS.FromStream2<URI>; /** * @since 0.9.2 * @category Constructor */ export declare const fromStream: import("fp-ts/NaturalTransformation").NaturalTransformation12<"@most/core/Stream", "@typed/fp/ReaderStream">; /** * @since 0.9.2 * @category Combinator */ export declare const chainFirstStreamK: <A, B>(f: (value: A) => S.Stream<B>) => <E>(hkt: ReaderStream<E, A>) => ReaderStream<E, A>; /** * @since 0.9.2 * @category Combinator */ export declare const chainStreamK: <A, B>(f: (value: A) => S.Stream<B>) => <E>(hkt: ReaderStream<E, A>) => ReaderStream<E, B>; /** * @since 0.9.2 * @category Constructor */ export declare const fromStreamK: <A extends readonly any[], B>(f: (...args: A) => S.Stream<B>) => <E>(...args: A) => ReaderStream<E, B>; /** * @since 0.9.2 * @category Constructor */ export declare const asksEnv: <E1, E2, B>(f: (e1: E1) => E.Env<E2, B>) => ReaderStream<E1 & E2, B>; /** * @since 0.9.2 * @category Constructor */ export declare const asksIO: <E1, B>(f: (e1: E1) => IO<B>) => ReaderStream<E1, B>; /** * @since 0.9.2 * @category Constructor */ export declare const asksTask: <E1, B>(f: (e1: E1) => Task<B>) => ReaderStream<E1, B>; /** * @since 0.9.2 * @category Combinator */ export declare function filter<A, B extends A>(refinement: Refinement<A, B>): <E>(rs: ReaderStream<E, A>) => ReaderStream<E, B>; export declare function filter<A>(predicate: Predicate<A>): <E>(rs: ReaderStream<E, A>) => ReaderStream<E, A>; /** * @since 0.9.2 * @category Combinator */ export declare function merge<E1, A>(a: ReaderStream<E1, A>): <E2, B>(b: ReaderStream<E2, B>) => ReaderStream<E1 & E2, A | B>; /** * @since 0.9.2 * @category Combinator */ export declare function mergeFirst<E1, A>(a: ReaderStream<E1, A>): <E2, B>(b: ReaderStream<E2, B>) => ReaderStream<E1 & E2, B>; /** * @since 0.9.2 * @category Combinator */ export declare function mergeArray<A extends ReadonlyArray<ReaderStream<any, any>>>(streams: A): ReaderStream<Intersect<{ readonly [K in keyof A]: RequirementsOf<A[K]>; }>, ValueOf<A[number]>>; /** * @since 0.9.2 * @category Combinator */ export declare function concatMap<A, E1>(f: (value: A) => ReaderStream<E1, A>): <E2>(rs: ReaderStream<E2, A>) => ReaderStream<E1 & E2, A>; /** * @since 0.9.2 * @category Combinator */ export declare const recoverWith: <E1, A>(f: (error: Error) => ReaderStream<E1, A>) => <E2>(rs: ReaderStream<E2, A>) => ReaderStream<E1 & E2, A>; /** * @since 0.9.2 * @category Constructor */ export declare const empty: <E>() => ReaderStream<E, never>; /** * @since 0.9.2 * @category Constructor */ export declare const never: <E>() => ReaderStream<E, never>; /** * @since 0.9.2 * @category Constructor */ export declare const periodic: <E>(period: number) => ReaderStream<E, void>; /** * @since 0.9.2 * @category Combinator */ export declare const provideSome: <E1>(provided: E1) => <E2, A>(rs: ReaderStream<E1 & E2, A>) => ReaderStream<E2, A>; /** * @since 0.9.2 * @category Combinator */ export declare const useSome: <E1>(provided: E1) => <E2, A>(rs: ReaderStream<E1 & E2, A>) => ReaderStream<E2, A>; /** * @since 0.9.2 * @category Combinator */ export declare const provideAll: <E1>(provided: E1) => <A>(rs: ReaderStream<E1, A>) => ReaderStream<unknown, A>; /** * @since 0.9.2 * @category Combinator */ export declare const useAll: <E1>(provided: E1) => <A>(rs: ReaderStream<E1, A>) => ReaderStream<unknown, A>; /** * @since 0.9.2 * @category Instance */ export declare const ProvideSome: P.ProvideSome2<URI>; /** * @since 0.9.2 * @category Instance */ export declare const UseSome: P.UseSome2<URI>; /** * @since 0.9.2 * @category Instance */ export declare const ProvideAll: P.ProvideAll2<URI>; /** * @since 0.9.2 * @category Instance */ export declare const UseAll: P.UseAll2<URI>; /** * @since 0.9.2 * @category Instance */ export declare const Provide: P.Provide2<URI>; /** * @since 0.9.2 * @category Combinator */ export declare const askAndProvide: <E, B>(hkt: ReaderStream<E, B>) => ReaderStream<E, ReaderStream<unknown, B>>; /** * @since 0.9.2 * @category Combinator */ export declare const askAndUse: <E, B>(hkt: ReaderStream<E, B>) => ReaderStream<E, ReaderStream<unknown, B>>; /** * @since 0.9.2 * @category Combinator */ export declare const provideAllWith: <R, A>(provider: ReaderStream<R, A>) => <B>(hkt: ReaderStream<A, B>) => ReaderStream<R, B>; /** * @since 0.9.2 * @category Combinator */ export declare const provideSomeWith: <E1, A>(provider: ReaderStream<E1, A>) => P.Provider2<"@typed/fp/ReaderStream", A, E1>; /** * @since 0.9.2 * @category Combinator */ export declare const useAllWith: <R, A>(provider: ReaderStream<R, A>) => <B>(hkt: ReaderStream<A, B>) => ReaderStream<R, B>; /** * @since 0.9.2 * @category Combinator */ export declare const useSomeWith: <E1, A>(provider: ReaderStream<E1, A>) => P.Provider2<"@typed/fp/ReaderStream", A, E1>; /** * @since 0.9.2 * @category Combinator */ export declare const provideSomeWithEnv: <E, A>(env: E.Env<E, A>) => P.Provider2<"@typed/fp/ReaderStream", A, E>; /** * @since 0.9.2 * @category Combinator */ export declare const provideAllWithEnv: <E, A>(env: E.Env<E, A>) => <B>(hkt: ReaderStream<A, B>) => ReaderStream<E, B>; /** * @since 0.9.2 * @category Combinator */ export declare const useSomeWithEnv: <E, A>(env: E.Env<E, A>) => P.Provider2<"@typed/fp/ReaderStream", A, E>; /** * @since 0.9.2 * @category Combinator */ export declare const useAllWithEnv: <E, A>(env: E.Env<E, A>) => <B>(hkt: ReaderStream<A, B>) => ReaderStream<E, B>; /** * @since 0.9.2 * @category Combinator */ export declare const combine: <A, B, C>(f: (a: A, b: B) => C) => <E1>(rsa: ReaderStream<E1, A>) => <E2>(rsb: ReaderStream<E2, B>) => ReaderStream<E1 & E2, C>; /** * @since 0.9.2 * @category Combinator */ export declare const combineAll: <A extends readonly ReaderStream<any, any>[]>(...rss: A) => ReaderStream<Intersect<{ readonly [K in keyof A]: RequirementsOf<A[K]>; }, unknown>, { readonly [K_1 in keyof A]: ValueOf<A[K_1]>; }>; /** * @since 0.13.2 * @category Combinator */ export declare const struct: <Props extends Readonly<Record<string, ReaderStream<any, any>>>>(props: Props) => ReaderStream<unknown, { readonly [K in keyof Props]: ValueOf<Props[K]>; }>; /** * @since 0.9.2 * @category Combinator */ export declare const withStream: <A, B>(f: (stream: S.Stream<A>) => B) => <E>(rs: ReaderStream<E, A>) => Re.Reader<E, B>; /** * @since 0.9.2 * @category Combinator */ export declare const tap: <A>(f: (value: A) => any) => <E>(rs: ReaderStream<E, A>) => ReaderStream<E, A>; /** * @since 0.9.2 * @category Combinator */ export declare const take: (n: number) => <E, A>(rs: ReaderStream<E, A>) => ReaderStream<E, A>; /** * @since 0.9.2 * @category Combinator */ export declare const skip: (n: number) => <E, A>(rs: ReaderStream<E, A>) => ReaderStream<E, A>; /** * @since 0.9.2 * @category Combinator */ export declare const startWith: <A>(value: A) => <E, B>(stream: ReaderStream<E, B>) => ReaderStream<E, A | B>; /** * @since 0.9.2 * @category Combinator */ export declare const exhaustLatest: <E1, E2, A>(rs: ReaderStream<E1, ReaderStream<E2, A>>) => ReaderStream<E1 & E2, A>; /** * @since 0.9.2 * @category Combinator */ export declare const exhaustMapLatest: <A, E1, B>(f: (value: A) => ReaderStream<E1, B>) => <E2>(rs: ReaderStream<E2, A>) => ReaderStream<E1 & E2, B>; /** * @since 0.9.2 * @category Combinator */ export declare const exhaustLatestEnv: <E1, A>(env: E.Env<E1, A>) => <E2, B>(rs: ReaderStream<E2, B>) => ReaderStream<E1 & E2, A>; /** * @since 0.9.2 * @category Combinator */ export declare const exhaustMapLatestEnv: <A, E1, B>(f: (value: A) => E.Env<E1, B>) => <E2>(rs: ReaderStream<E2, A>) => ReaderStream<E1 & E2, B>; /** * @since 0.9.2 * @category Combinator */ export declare const onDispose: (disposable: S.Disposable) => <E, A>(rs: ReaderStream<E, A>) => ReaderStream<E, A>; /** * @since 0.9.2 * @category Combinator */ export declare const collectEvents: (scheduler: S.Scheduler) => <E, A>(rs: ReaderStream<E, A>) => Re.Reader<E, Promise<readonly A[]>>; /** * @since 0.9.2 * @category Constructor */ export declare const now: <A>(x: A) => ReaderStream<unknown, A>; /** * @since 0.9.2 * @category Constructor */ export declare const at: <A>(t: number, x: A) => ReaderStream<unknown, A>; /** * @since 0.9.2 * @category Combinator */ export declare const scan: <A, B>(f: (acc: A, value: B) => A, seed: A) => <E>(rs: ReaderStream<E, B>) => ReaderStream<E, A>; /** * @since 0.9.2 * @category Combinator */ export declare const skipRepeatsWith: <A>(Eq: Eq<A>) => <E>(rs: ReaderStream<E, A>) => ReaderStream<E, A>; /** * @since 0.9.2 * @category Combinator */ export declare const skipRepeats: <E, A>(rs: ReaderStream<E, A>) => ReaderStream<E, A>; /** * @since 0.9.2 * @category Combinator */ export declare const compact: <E, A>(rs: ReaderStream<E, O.Option<A>>) => ReaderStream<E, A>; /** * @since 0.9.2 * @category Combinator */ export declare const continueWith: <E1, A>(f: () => ReaderStream<E1, A>) => <E2, B>(rs: ReaderStream<E2, A>) => ReaderStream<E1 & E2, A | B>; /** * @since 0.9.2 * @category Combinator */ export declare const debounce: (delay: S.Time) => <E, A>(rs: ReaderStream<E, A>) => ReaderStream<E, A>; /** * @since 0.9.2 * @category Combinator */ export declare const delay: (delay: S.Time) => <E, A>(rs: ReaderStream<E, A>) => ReaderStream<E, A>; /** * @since 0.9.2 * @category Combinator */ export declare const join: <E1, E2, A>(rs: ReaderStream<E1, ReaderStream<E2, A>>) => ReaderStream<E1 & E2, A>; /** * @since 0.9.2 * @category Combinator */ export declare const during: <E1, E2>(timeWindow: ReaderStream<E1, ReaderStream<E2, any>>) => <E3, A>(values: ReaderStream<E3, A>) => ReaderStream<E1 & E2 & E3, A>; /** * @since 0.9.2 * @category Combinator */ export declare const filterMap: <A, B>(f: (a: A) => O.Option<B>) => <E>(fa: ReaderStream<E, A>) => ReaderStream<E, B>; /** * @since 0.9.2 * @category Combinator */ export declare const loop: <A, B, C>(f: (a: A, b: B) => SV<A, C>, seed: A) => <E>(fa: ReaderStream<E, B>) => ReaderStream<E, C>; /** * @since 0.9.2 * @category Combinator */ export declare const mergeConcurrently: (concurrency: number) => <E1, E2, A>(rs: ReaderStream<E1, ReaderStream<E2, A>>) => ReaderStream<E1 & E2, A>; /** * @since 0.9.2 * @category Combinator */ export declare const multicast: <E, A>(rs: ReaderStream<E, A>) => ReaderStream<E, A>; /** * @since 0.9.2 * @category Combinator */ export declare const partition: <A>(predicate: Predicate<A>) => <E>(fa: ReaderStream<E, A>) => Separated<ReaderStream<E, A>, ReaderStream<E, A>>; /** * @since 0.9.2 * @category Combinator */ export declare const partitionMap: <A, B, C>(f: (a: A) => Either<B, C>) => <E>(fa: ReaderStream<E, A>) => Separated<ReaderStream<E, B>, ReaderStream<E, C>>; /** * @since 0.9.2 * @category Combinator */ export declare const race: <E1, A>(second: ReaderStream<E1, A>) => <E2, B>(first: ReaderStream<E2, B>) => ReaderStream<E1 & E2, A | B>; /** * @since 0.9.2 * @category Combinator */ export declare const separate: <E, A, B>(rs: ReaderStream<E, Either<A, B>>) => Separated<ReaderStream<E, A>, ReaderStream<E, B>>; /** * @since 0.9.2 * @category Combinator */ export declare const since: <E1>(timeWindow: ReaderStream<E1, any>) => <E2, A>(values: ReaderStream<E2, A>) => ReaderStream<E1 & E2, A>; /** * @since 0.9.2 * @category Combinator */ export declare const skipAfter: <A>(p: (a: A) => boolean) => <E>(s: ReaderStream<E, A>) => ReaderStream<E, A>; /** * @since 0.9.2 * @category Combinator */ export declare const skipWhile: <A>(p: (a: A) => boolean) => <E>(s: ReaderStream<E, A>) => ReaderStream<E, A>; /** * @since 0.9.2 * @category Combinator */ export declare const slice: (skip: number, take: number) => <E, A>(rs: ReaderStream<E, A>) => ReaderStream<E, A>; /** * @since 0.9.2 * @category Combinator */ export declare const switchLatest: <E1, E2, A>(rs: ReaderStream<E1, ReaderStream<E2, A>>) => ReaderStream<E1 & E2, A>; /** * @since 0.9.2 * @category Combinator */ export declare const takeWhile: <A>(p: (a: A) => boolean) => <E>(s: ReaderStream<E, A>) => ReaderStream<E, A>; /** * @since 0.9.2 * @category Combinator */ export declare const throttle: (period: number) => <E, A>(s: ReaderStream<E, A>) => ReaderStream<E, A>; /** * @since 0.9.2 * @category Combinator */ export declare const throwError: <E>(e: Error) => ReaderStream<E, never>; /** * @since 0.9.2 * @category Combinator */ export declare const until: <E1>(timeWindow: ReaderStream<E1, any>) => <E2, A>(values: ReaderStream<E2, A>) => ReaderStream<E1 & E2, A>; /** * @since 0.9.2 * @category Combinator */ export declare const zero: <A>() => ReaderStream<unknown, A>; /** * @since 0.9.2 * @category Instance */ export declare const Filterable: Filterable_.Filterable2<URI>; /** * @since 0.9.2 * @category Instance */ export declare const Compactable: Compactable2<URI>; /** * @since 0.9.2 * @category Combinator */ export declare const keyed: <A>(Eq: Eq<A>) => <E>(rs: ReaderStream<E, readonly A[]>) => ReaderStream<E, readonly S.Stream<A>[]>; /** * @since 0.9.2 * @category Combinator */ export declare const mergeMapWhen: <V>(Eq?: Eq<V>) => <E1, A>(f: (value: V) => ReaderStream<E1, A>) => <E2>(values: ReaderStream<E2, readonly V[]>) => ReaderStream<E1 & E2, readonly A[]>; /** * Listens to the next value of a stream. */ /** * @since 0.9.2 * @category Natural Transformation */ export declare const toEnv: <E, A>(rs: ReaderStream<E, A>) => E.Env<E & SchedulerEnv, A>; /** * @since 0.9.2 * @category Combinator */ export declare const hold: <E, A>(rs: ReaderStream<E, A>) => ReaderStream<E, A>; //# sourceMappingURL=ReaderStream.d.ts.map