UNPKG

fp-ts-zio

Version:

fp-ts bindings for Scala ZIO

44 lines (43 loc) 2.85 kB
import { Alternative1 } from 'fp-ts/lib/Alternative'; import * as E from 'fp-ts/lib/Either'; import { Filterable1 } from 'fp-ts/lib/Filterable'; import { Predicate } from 'fp-ts/lib/function'; import { Monad1 } from 'fp-ts/lib/Monad'; import { Monoid } from 'fp-ts/lib/Monoid'; import * as O from 'fp-ts/lib/Option'; import { Observable } from 'rxjs'; import { IO } from 'fp-ts/lib/IO'; import { Task } from 'fp-ts/lib/Task'; import { MonadIO1 } from 'fp-ts/lib/MonadIO'; import { MonadTask1 } from 'fp-ts/lib/MonadTask'; declare module 'fp-ts/lib/HKT' { interface URItoKind<A> { Observable: Observable<A>; } } /** * @since 0.6.0 */ export declare const URI = "Observable"; /** * @since 0.6.0 */ export declare type URI = typeof URI; /** * @since 0.6.0 */ export declare function getMonoid<A = never>(): Monoid<Observable<A>>; export declare const fromTask: <A>(fa: Task<A>) => Observable<A>; export declare function fromIO<A>(ma: IO<A>): Observable<A>; /** * @since 0.6.0 */ export declare const observable: Monad1<URI> & Alternative1<URI> & Filterable1<URI> & MonadIO1<URI> & MonadTask1<URI>; declare const alt: <A>(that: () => Observable<A>) => (fa: Observable<A>) => Observable<A>, ap: <A>(fa: Observable<A>) => <B>(fab: Observable<(a: A) => B>) => Observable<B>, apFirst: <B>(fb: Observable<B>) => <A>(fa: Observable<A>) => Observable<A>, apSecond: <B>(fb: Observable<B>) => <A>(fa: Observable<A>) => Observable<B>, chain: <A, B>(f: (a: A) => Observable<B>) => (ma: Observable<A>) => Observable<B>, chainFirst: <A, B>(f: (a: A) => Observable<B>) => (ma: Observable<A>) => Observable<A>, compact: <A>(fa: Observable<O.Option<A>>) => Observable<A>, filter: { <A, B extends A>(refinement: import("fp-ts/lib/function").Refinement<A, B>): (fa: Observable<A>) => Observable<B>; <A_1>(predicate: Predicate<A_1>): (fa: Observable<A_1>) => Observable<A_1>; }, filterMap: <A, B>(f: (a: A) => O.Option<B>) => (fa: Observable<A>) => Observable<B>, flatten: <A>(mma: Observable<Observable<A>>) => Observable<A>, map: <A, B>(f: (a: A) => B) => (fa: Observable<A>) => Observable<B>, partition: { <A, B extends A>(refinement: import("fp-ts/lib/function").Refinement<A, B>): (fa: Observable<A>) => import("fp-ts/lib/Compactable").Separated<Observable<A>, Observable<B>>; <A_1>(predicate: Predicate<A_1>): (fa: Observable<A_1>) => import("fp-ts/lib/Compactable").Separated<Observable<A_1>, Observable<A_1>>; }, partitionMap: <A, B, C>(f: (a: A) => E.Either<B, C>) => (fa: Observable<A>) => import("fp-ts/lib/Compactable").Separated<Observable<B>, Observable<C>>, separate: <A, B>(fa: Observable<E.Either<A, B>>) => import("fp-ts/lib/Compactable").Separated<Observable<A>, Observable<B>>; export { alt, ap, apFirst, apSecond, chain, chainFirst, compact, filter, filterMap, flatten, map, partition, partitionMap, separate };