/** * @since 0.1.14 */ import { Alt1 } from 'fp-ts/es6/Alt' import { Applicative1 } from 'fp-ts/es6/Applicative' import { Apply1 } from 'fp-ts/es6/Apply' import { Alternative1 } from 'fp-ts/es6/Alternative' import { Separated, Compactable1 } from 'fp-ts/es6/Compactable' import { Either } from 'fp-ts/es6/Either' import { Functor1 } from 'fp-ts/es6/Functor' import * as O from 'fp-ts/es6/Option' import { Filterable1 } from 'fp-ts/es6/Filterable' import { Predicate, Refinement } from 'fp-ts/es6/function' import { IO } from 'fp-ts/es6/IO' import { IOEither } from 'fp-ts/es6/IOEither' import { Monad1 } from 'fp-ts/es6/Monad' import { MonadIO1 } from 'fp-ts/es6/MonadIO' import { Monoid } from 'fp-ts/es6/Monoid' import { Semigroup } from 'fp-ts/es6/Semigroup' import Option = O.Option /** * @category model * @since 0.1.14 */ export interface IOOption extends IO> {} /** * @category constructors * @since 0.1.14 */ export declare const none: IOOption /** * @category constructors * @since 0.1.14 */ export declare const some: (a: A) => IOOption /** * @category constructors * @since 0.1.29 */ export declare const fromPredicate: { (refinement: Refinement): (a: A) => IOOption (predicate: Predicate): (b: B) => IOOption (predicate: Predicate): (a: A) => IOOption } /** * @category constructors * @since 0.1.14 */ export declare const fromIO: (ma: IO) => IOOption /** * @category constructors * @since 0.1.28 */ export declare const fromIOK: , B>(f: (...a: A) => IO) => (...a: A) => IOOption /** * @category constructors * @since 0.1.14 */ export declare const fromOption: (ma: Option) => IOOption /** * @category constructors * @since 0.1.14 */ export declare const fromOptionK: , B>(f: (...a: A) => Option) => (...a: A) => IOOption /** * @category constructors * @since 0.1.14 */ export declare const fromNullable: (a: A) => IOOption> /** * @category constructors * @since 0.1.14 */ export declare const fromIOEither: (ma: IOEither) => IOOption /** * @category destructors * @since 0.1.14 */ export declare const fold: (onNone: () => IO, onSome: (a: A) => IO) => (ma: IOOption) => IO /** * @category destructors * @since 0.1.14 */ export declare const getOrElse: (onNone: () => IO) => (ma: IOOption) => IO /** * @category destructors * @since 0.1.14 */ export declare const toUndefined: (ma: IOOption) => IO /** * @category destructors * @since 0.1.14 */ export declare const toNullable: (ma: IOOption) => IO /** * @category combinators * @since 0.1.14 */ export declare const mapNullable: (f: (a: A) => B | null | undefined) => (ma: IOOption) => IOOption /** * @category Functor * @since 0.1.18 */ export declare const map: (f: (a: A) => B) => (fa: IOOption) => IOOption /** * @category Apply * @since 0.1.18 */ export declare const ap: (fa: IOOption) => (fab: IOOption<(a: A) => B>) => IOOption /** * @category Apply * @since 0.1.18 */ export declare const apFirst: (fb: IOOption) => (fa: IOOption) => IOOption /** * @category Apply * @since 0.1.18 */ export declare const apSecond: (fb: IOOption) => (fa: IOOption) => IOOption /** * @category Applicative * @since 0.1.18 */ export declare const of: (a: A) => IOOption /** * @category Monad * @since 0.1.18 */ export declare const chain: (f: (a: A) => IOOption) => (ma: IOOption) => IOOption /** * @category Monad * @since 0.1.28 */ export declare const chainIOK: (f: (a: A) => IO) => (ma: IOOption) => IOOption /** * @category Monad * @since 0.1.18 */ export declare const chainFirst: (f: (a: A) => IOOption) => (ma: IOOption) => IOOption /** * @category Monad * @since 0.1.28 */ export declare const chainFirstIOK: (f: (a: A) => IO) => (ma: IOOption) => IOOption /** * @category Monad * @since 0.1.14 */ export declare const chainOptionK: (f: (a: A) => Option) => (ma: IOOption) => IOOption /** * @category Monad * @since 0.1.18 */ export declare const flatten: (mma: IOOption>) => IOOption /** * @category Alt * @since 0.1.18 */ export declare const alt: (that: () => IOOption) => (fa: IOOption) => IOOption /** * @category Alternative * @since 0.1.18 */ export declare const zero: Alternative1['zero'] /** * @category Compactable * @since 0.1.18 */ export declare const compact: (fa: IOOption>) => IOOption /** * @category Compactable * @since 0.1.18 */ export declare const separate: (fa: IOOption>) => Separated, IOOption> /** * @category Filterable * @since 0.1.18 */ export declare const filter: { (refinement: Refinement): (fa: IOOption) => IOOption (predicate: Predicate): (fa: IOOption) => IOOption } /** * @category Filterable * @since 0.1.18 */ export declare const filterMap: (f: (a: A) => O.Option) => (fa: IOOption) => IOOption /** * @category Filterable * @since 0.1.18 */ export declare const partition: { (refinement: Refinement): (fa: IOOption) => Separated, IOOption> (predicate: Predicate): (fa: IOOption) => Separated, IOOption> } /** * @category Filterable * @since 0.1.18 */ export declare const partitionMap: ( f: (a: A) => Either ) => (fa: IOOption) => Separated, IOOption> /** * @category instances * @since 0.1.14 */ export declare const URI = 'IOOption' /** * @category instances * @since 0.1.14 */ export declare type URI = typeof URI declare module 'fp-ts/es6/HKT' { interface URItoKind { IOOption: IOOption } } /** * @category instances * @since 0.1.14 */ export declare const getApplySemigroup: (S: Semigroup) => Semigroup> /** * @category instances * @since 0.1.14 */ export declare const getApplyMonoid: (M: Monoid) => Monoid> /** * @category instances * @since 0.1.18 */ export declare const Functor: Functor1 /** * @category instances * @since 0.1.18 */ export declare const Applicative: Applicative1 /** * @category instances * @since 0.1.18 */ export declare const Apply: Apply1 /** * @category instances * @since 0.1.18 */ export declare const Monad: Monad1 /** * @category instances * @since 0.1.18 */ export declare const Alt: Alt1 /** * @category instances * @since 0.1.18 */ export declare const Alternative: Alternative1 /** * @category instances * @since 0.1.18 */ export declare const Compactable: Compactable1 /** * @category instances * @since 0.1.18 */ export declare const Filterable: Filterable1 /** * @since 0.1.14 */ export declare const ioOption: Monad1 & Alt1 & MonadIO1 & Filterable1