/** * @since 2.0.0 */ import { ApplicativeComposition2C1, ApplicativeComposition11, ApplicativeComposition21, ApplicativeCompositionHKT1 } from './Applicative.js'; import { Apply, Apply1, Apply2, Apply2C, Apply3, Apply3C, Apply4 } from './Apply.js'; import { Chain, Chain1, Chain2, Chain2C, Chain3, Chain3C, Chain4 } from './Chain.js'; import { Either } from './Either.js'; import { LazyArg } from './function.js'; import { Functor, Functor1, Functor2, Functor2C, Functor3, Functor3C, Functor4 } from './Functor.js'; import { HKT, Kind, Kind2, Kind3, Kind4, URIS, URIS2, URIS3, URIS4 } from './HKT.js'; import { Monad, Monad1, Monad2, Monad2C, Monad3, Monad3C, Monad4 } from './Monad.js'; import * as O from './Option.js'; import { Pointed, Pointed1, Pointed2, Pointed2C, Pointed3, Pointed3C, Pointed4 } from './Pointed.js'; import { Predicate } from './Predicate.js'; import { Refinement } from './Refinement.js'; type Option = O.Option; /** * @since 2.10.0 */ export declare function some(F: Pointed4): (a: A) => Kind4>; export declare function some(F: Pointed3): (a: A) => Kind3>; export declare function some(F: Pointed3C): (a: A) => Kind3>; export declare function some(F: Pointed2): (a: A) => Kind2>; export declare function some(F: Pointed2C): (a: A) => Kind2>; export declare function some(F: Pointed1): (a: A) => Kind>; export declare function some(F: Pointed): (a: A) => HKT>; /** * @since 2.10.0 */ export declare function zero(F: Pointed4): () => Kind4>; export declare function zero(F: Pointed3): () => Kind3>; export declare function zero(F: Pointed3C): () => Kind3>; export declare function zero(F: Pointed2): () => Kind2>; export declare function zero(F: Pointed2C): () => Kind2>; export declare function zero(F: Pointed1): () => Kind>; export declare function zero(F: Pointed): () => HKT>; /** * @since 2.10.0 */ export declare function fromF(F: Functor4): (ma: Kind4) => Kind4>; export declare function fromF(F: Functor3): (ma: Kind3) => Kind3>; export declare function fromF(F: Functor3C): (ma: Kind3) => Kind3>; export declare function fromF(F: Functor2): (ma: Kind2) => Kind2>; export declare function fromF(F: Functor2C): (ma: Kind2) => Kind2>; export declare function fromF(F: Functor1): (ma: Kind) => Kind>; export declare function fromF(F: Functor): (ma: HKT) => HKT>; /** * @since 2.10.0 */ export declare function fromNullable(F: Pointed4): (a: A) => Kind4>>; export declare function fromNullable(F: Pointed3): (a: A) => Kind3>>; export declare function fromNullable(F: Pointed3C): (a: A) => Kind3>>; export declare function fromNullable(F: Pointed2): (a: A) => Kind2>>; export declare function fromNullable(F: Pointed2C): (a: A) => Kind2>>; export declare function fromNullable(F: Pointed1): (a: A) => Kind>>; export declare function fromNullable(F: Pointed): (a: A) => HKT>>; /** * @since 2.10.0 */ export declare function fromNullableK(F: Pointed4): , B>(f: (...a: A) => B | null | undefined) => (...a: A) => Kind4>>; export declare function fromNullableK(F: Pointed3): , B>(f: (...a: A) => B | null | undefined) => (...a: A) => Kind3>>; export declare function fromNullableK(F: Pointed3C): , B>(f: (...a: A) => B | null | undefined) => (...a: A) => Kind3>>; export declare function fromNullableK(F: Pointed2): , B>(f: (...a: A) => B | null | undefined) => (...a: A) => Kind2>>; export declare function fromNullableK(F: Pointed2C): , B>(f: (...a: A) => B | null | undefined) => (...a: A) => Kind2>>; export declare function fromNullableK(F: Pointed1): , B>(f: (...a: A) => B | null | undefined) => (...a: A) => Kind>>; export declare function fromNullableK(F: Pointed): , B>(f: (...a: A) => B | null | undefined) => (...a: A) => HKT>>; /** * @since 2.10.0 */ export declare function chainNullableK(M: Monad4): (f: (a: A) => B | null | undefined) => (ma: Kind4>) => Kind4>>; export declare function chainNullableK(M: Monad3): (f: (a: A) => B | null | undefined) => (ma: Kind3>) => Kind3>>; export declare function chainNullableK(M: Monad3C): (f: (a: A) => B | null | undefined) => (ma: Kind3>) => Kind3>>; export declare function chainNullableK(M: Monad2): (f: (a: A) => B | null | undefined) => (ma: Kind2>) => Kind2>>; export declare function chainNullableK(M: Monad2C): (f: (a: A) => B | null | undefined) => (ma: Kind2>) => Kind2>>; export declare function chainNullableK(M: Monad1): (f: (a: A) => B | null | undefined) => (ma: Kind>) => Kind>>; export declare function chainNullableK(M: Monad): (f: (a: A) => B | null | undefined) => (ma: HKT>) => HKT>>; /** * @since 2.10.0 */ export declare function fromOptionK(F: Pointed4): , B>(f: (...a: A) => Option) => (...a: A) => Kind4>; export declare function fromOptionK(F: Pointed3): , B>(f: (...a: A) => Option) => (...a: A) => Kind3>; export declare function fromOptionK(F: Pointed3C): , B>(f: (...a: A) => Option) => (...a: A) => Kind3>; export declare function fromOptionK(F: Pointed2): , B>(f: (...a: A) => Option) => (...a: A) => Kind2>; export declare function fromOptionK(F: Pointed2C): , B>(f: (...a: A) => Option) => (...a: A) => Kind2>; export declare function fromOptionK(F: Pointed1): , B>(f: (...a: A) => Option) => (...a: A) => Kind>; export declare function fromOptionK(F: Pointed): , B>(f: (...a: A) => Option) => (...a: A) => HKT>; /** * @since 2.10.0 */ export declare function chainOptionK(M: Monad4): (f: (a: A) => Option) => (ma: Kind4>) => Kind4>; export declare function chainOptionK(M: Monad3): (f: (a: A) => Option) => (ma: Kind3>) => Kind3>; export declare function chainOptionK(M: Monad3C): (f: (a: A) => Option) => (ma: Kind3>) => Kind3>; export declare function chainOptionK(M: Monad2): (f: (a: A) => Option) => (ma: Kind2>) => Kind2>; export declare function chainOptionK(M: Monad2C): (f: (a: A) => Option) => (ma: Kind2>) => Kind2>; export declare function chainOptionK(M: Monad1): (f: (a: A) => Option) => (ma: Kind>) => Kind>; export declare function chainOptionK(M: Monad): (f: (a: A) => Option) => (ma: HKT>) => HKT>; /** * @category lifting * @since 2.10.0 */ export declare function fromPredicate(F: Pointed4): { (refinement: Refinement): (a: A) => Kind4>; (predicate: Predicate): (b: B) => Kind4>; (predicate: Predicate): (a: A) => Kind4>; }; export declare function fromPredicate(F: Pointed3): { (refinement: Refinement): (a: A) => Kind3>; (predicate: Predicate): (b: B) => Kind3>; (predicate: Predicate): (a: A) => Kind3>; }; export declare function fromPredicate(F: Pointed3C): { (refinement: Refinement): (a: A) => Kind3>; (predicate: Predicate): (b: B) => Kind3>; (predicate: Predicate): (a: A) => Kind3>; }; export declare function fromPredicate(F: Pointed2): { (refinement: Refinement): (a: A) => Kind2>; (predicate: Predicate): (b: B) => Kind2>; (predicate: Predicate): (a: A) => Kind2>; }; export declare function fromPredicate(F: Pointed2C): { (refinement: Refinement): (a: A) => Kind2>; (predicate: Predicate): (b: B) => Kind2>; (predicate: Predicate): (a: A) => Kind2>; }; export declare function fromPredicate(F: Pointed1): { (refinement: Refinement): (a: A) => Kind>; (predicate: Predicate): (b: B) => Kind>; (predicate: Predicate): (a: A) => Kind>; }; export declare function fromPredicate(F: Pointed): { (refinement: Refinement): (a: A) => HKT>; (predicate: Predicate): (b: B) => HKT>; (predicate: Predicate): (a: A) => HKT>; }; /** * @since 2.10.0 */ export declare function fromEither(F: Pointed4): (e: Either) => Kind4>; export declare function fromEither(F: Pointed3): (e: Either) => Kind3>; export declare function fromEither(F: Pointed3C): (e: Either) => Kind3>; export declare function fromEither(F: Pointed2): (e: Either) => Kind2>; export declare function fromEither(F: Pointed2C): (e: Either) => Kind2>; export declare function fromEither(F: Pointed2C): (e: Either) => Kind2>; export declare function fromEither(F: Pointed1): (e: Either) => Kind>; export declare function fromEither(F: Pointed): (e: Either) => HKT>; /** * @category pattern matching * @since 2.10.0 */ export declare function match(F: Functor4): (onNone: () => B, onSome: (a: A) => B) => (ma: Kind4>) => Kind4; export declare function match(F: Functor3): (onNone: () => B, onSome: (a: A) => B) => (ma: Kind3>) => Kind3; export declare function match(F: Functor3C): (onNone: () => B, onSome: (a: A) => B) => (ma: Kind3>) => Kind3; export declare function match(F: Functor2): (onNone: () => B, onSome: (a: A) => B) => (ma: Kind2>) => Kind2; export declare function match(F: Functor2C): (onNone: () => B, onSome: (a: A) => B) => (ma: Kind2>) => Kind2; export declare function match(F: Functor1): (onNone: () => B, onSome: (a: A) => B) => (ma: Kind>) => Kind; export declare function match(F: Functor): (onNone: () => B, onSome: (a: A) => B) => (ma: HKT>) => HKT; /** * @since 2.10.0 */ export declare function matchE(M: Chain4): (onNone: () => Kind4, onSome: (a: A) => Kind4) => (ma: Kind4>) => Kind4; export declare function matchE(M: Chain3): (onNone: () => Kind3, onSome: (a: A) => Kind3) => (ma: Kind3>) => Kind3; export declare function matchE(M: Chain3C): (onNone: () => Kind3, onSome: (a: A) => Kind3) => (ma: Kind3>) => Kind3; export declare function matchE(M: Chain2): (onNone: () => Kind2, onSome: (a: A) => Kind2) => (ma: Kind2>) => Kind2; export declare function matchE(M: Chain2C): (onNone: () => Kind2, onSome: (a: A) => Kind2) => (ma: Kind2>) => Kind2; export declare function matchE(M: Chain1): (onNone: () => Kind, onSome: (a: A) => Kind) => (ma: Kind>) => Kind; export declare function matchE(M: Chain): (onNone: () => HKT, onSome: (a: A) => HKT) => (ma: HKT>) => HKT; /** * @since 2.10.0 */ export declare function getOrElse(M: Monad4): (onNone: LazyArg>) => (fa: Kind4>) => Kind4; export declare function getOrElse(M: Monad3): (onNone: LazyArg>) => (fa: Kind3>) => Kind3; export declare function getOrElse(M: Monad3C): (onNone: LazyArg>) => (fa: Kind3>) => Kind3; export declare function getOrElse(M: Monad2): (onNone: LazyArg>) => (fa: Kind2>) => Kind2; export declare function getOrElse(M: Monad2C): (onNone: LazyArg>) => (fa: Kind2>) => Kind2; export declare function getOrElse(M: Monad1): (onNone: LazyArg>) => (fa: Kind>) => Kind; export declare function getOrElse(M: Monad): (onNone: LazyArg>) => (fa: HKT>) => HKT; /** * @since 2.10.0 */ export declare function map(F: Functor4): (f: (a: A) => B) => (fa: Kind4>) => Kind4>; export declare function map(F: Functor3): (f: (a: A) => B) => (fa: Kind3>) => Kind3>; export declare function map(F: Functor3C): (f: (a: A) => B) => (fa: Kind3>) => Kind3>; export declare function map(F: Functor2): (f: (a: A) => B) => (fa: Kind2>) => Kind2>; export declare function map(F: Functor2C): (f: (a: A) => B) => (fa: Kind2>) => Kind2>; export declare function map(F: Functor1): (f: (a: A) => B) => (fa: Kind>) => Kind>; export declare function map(F: Functor): (f: (a: A) => B) => (fa: HKT>) => HKT>; /** * @since 2.10.0 */ export declare function ap(F: Apply4): (fa: Kind4>) => (fab: Kind4 B>>) => Kind4>; export declare function ap(F: Apply3): (fa: Kind3>) => (fab: Kind3 B>>) => Kind3>; export declare function ap(F: Apply3C): (fa: Kind3>) => (fab: Kind3 B>>) => Kind3>; export declare function ap(F: Apply2): (fa: Kind2>) => (fab: Kind2 B>>) => Kind2>; export declare function ap(F: Apply2C): (fa: Kind2>) => (fab: Kind2 B>>) => Kind2>; export declare function ap(F: Apply1): (fa: Kind>) => (fab: Kind B>>) => Kind>; export declare function ap(F: Apply): (fa: HKT>) => (fab: HKT B>>) => HKT>; /** * @since 2.10.0 */ export declare function chain(M: Monad4): (f: (a: A) => Kind4>) => (ma: Kind4>) => Kind4>; export declare function chain(M: Monad3): (f: (a: A) => Kind3>) => (ma: Kind3>) => Kind3>; export declare function chain(M: Monad3C): (f: (a: A) => Kind3>) => (ma: Kind3>) => Kind3>; export declare function chain(M: Monad2): (f: (a: A) => Kind2>) => (ma: Kind2>) => Kind2>; export declare function chain(M: Monad2C): (f: (a: A) => Kind2>) => (ma: Kind2>) => Kind2>; export declare function chain(M: Monad1): (f: (a: A) => Kind>) => (ma: Kind>) => Kind>; export declare function chain(M: Monad): (f: (a: A) => HKT>) => (ma: HKT>) => HKT>; /** * @since 2.10.0 */ export declare function alt(M: Monad4): (second: LazyArg>>) => (first: Kind4>) => Kind4>; export declare function alt(M: Monad3): (second: LazyArg>>) => (first: Kind3>) => Kind3>; export declare function alt(M: Monad3C): (second: LazyArg>>) => (first: Kind3>) => Kind3>; export declare function alt(M: Monad2): (second: LazyArg>>) => (first: Kind2>) => Kind2>; export declare function alt(M: Monad2C): (second: LazyArg>>) => (first: Kind2>) => Kind2>; export declare function alt(M: Monad1): (second: LazyArg>>) => (first: Kind>) => Kind>; export declare function alt(M: Monad): (second: LazyArg>>) => (first: HKT>) => HKT>; /** * @category zone of death * @since 2.0.0 * @deprecated */ export interface OptionT extends HKT> { } /** * @category zone of death * @since 2.0.0 * @deprecated */ export interface OptionM extends ApplicativeCompositionHKT1 { readonly chain: (ma: OptionT, f: (a: A) => OptionT) => OptionT; readonly alt: (fa: OptionT, that: LazyArg>) => OptionT; readonly fold: (ma: OptionT, onNone: LazyArg>, onSome: (a: A) => HKT) => HKT; readonly getOrElse: (ma: OptionT, onNone: LazyArg>) => HKT; readonly fromM: (ma: HKT) => OptionT; readonly none: () => OptionT; } /** * @category zone of death * @since 2.0.0 * @deprecated */ export type OptionT1 = Kind>; /** * @category zone of death * @since 2.0.0 * @deprecated */ export interface OptionM1 extends ApplicativeComposition11 { readonly chain: (ma: OptionT1, f: (a: A) => OptionT1) => OptionT1; readonly alt: (fa: OptionT1, that: LazyArg>) => OptionT1; readonly fold: (ma: OptionT1, onNone: LazyArg>, onSome: (a: A) => Kind) => Kind; readonly getOrElse: (ma: OptionT1, onNone: LazyArg>) => Kind; readonly fromM: (ma: Kind) => OptionT1; readonly none: () => OptionT1; } /** * @category zone of death * @since 2.0.0 * @deprecated */ export type OptionT2 = Kind2>; /** * @category zone of death * @since 2.0.0 * @deprecated */ export interface OptionM2 extends ApplicativeComposition21 { readonly chain: (ma: OptionT2, f: (a: A) => OptionT2) => OptionT2; readonly alt: (fa: OptionT2, that: LazyArg>) => OptionT2; readonly fold: (ma: OptionT2, onNone: LazyArg>, onSome: (a: A) => Kind2) => Kind2; readonly getOrElse: (ma: OptionT2, onNone: LazyArg>) => Kind2; readonly fromM: (ma: Kind2) => OptionT2; readonly none: () => OptionT2; } /** * @category zone of death * @since 2.2.0 * @deprecated */ export interface OptionM2C extends ApplicativeComposition2C1 { readonly chain: (ma: OptionT2, f: (a: A) => OptionT2) => OptionT2; readonly alt: (fa: OptionT2, that: LazyArg>) => OptionT2; readonly fold: (ma: OptionT2, onNone: LazyArg>, onSome: (a: A) => Kind2) => Kind2; readonly getOrElse: (ma: OptionT2, onNone: LazyArg>) => Kind2; readonly fromM: (ma: Kind2) => OptionT2; readonly none: () => OptionT2; } /** * @category zone of death * @since 2.0.0 * @deprecated */ export declare function getOptionM(M: Monad2): OptionM2; /** @deprecated */ export declare function getOptionM(M: Monad2C): OptionM2C; /** @deprecated */ export declare function getOptionM(M: Monad1): OptionM1; /** @deprecated */ export declare function getOptionM(M: Monad): OptionM; export {};