import { HKT } from "@tsplus/stdlib/prelude/HKT"; /** * @tsplus type Maybe */ export type Maybe = None | Some; export interface MaybeF extends HKT { readonly type: Maybe; } export declare namespace Maybe { type HKT = MaybeF; } /** * @tsplus type Maybe.Ops */ export interface MaybeOps { $: MaybeAspects; } export declare const Maybe: MaybeOps; /** * @tsplus type Maybe.Aspects */ export interface MaybeAspects { } /** * Definitions * * @tsplus type Maybe.None */ export interface None { readonly _tag: "None"; } /** * @tsplus type Maybe.Some */ export interface Some { readonly _tag: "Some"; readonly value: A; } /** * @tsplus unify Maybe * @tsplus unify Maybe.Some * @tsplus unify Maybe.None */ export declare function unifyMaybe>(self: X): Maybe ? A : never>; export type ArrayOfMaybies[]> = { [k in keyof Ts]: Ts[k] extends Maybe ? A : never; }[number]; /** * Constructs `None`. * @tsplus static Maybe.Ops none * @tsplus location "@tsplus/stdlib/data/Maybe/definition" */ export declare const none: Maybe; /** * Constructs `None`. * @tsplus static Maybe.Ops empty * @tsplus location "@tsplus/stdlib/data/Maybe/definition" */ export declare function empty(): Maybe; /** * Constructs `Some`. * @tsplus static Maybe.Ops some * @tsplus location "@tsplus/stdlib/data/Maybe/definition" */ export declare function some(a: A): Maybe; /** * Returns `true` if the maybe is `None`, `false` otherwise. * @tsplus fluent Maybe isNone * @tsplus location "@tsplus/stdlib/data/Maybe/definition" */ export declare function isNone(fa: Maybe): fa is None; /** * Returns `true` if the maybe is an instance of `Some`, `false` otherwise. * @tsplus fluent Maybe isSome * @tsplus location "@tsplus/stdlib/data/Maybe/definition" */ export declare function isSome(fa: Maybe): fa is Some; /** * @tsplus static Maybe.Ops isMaybe * @tsplus location "@tsplus/stdlib/data/Maybe/definition" */ export declare function isMaybe(u: unknown): u is Maybe; /** * @tsplus operator Maybe == * @tsplus location "@tsplus/stdlib/data/Maybe/definition" */ export declare function equals(a: Maybe, b: Maybe): boolean; //# sourceMappingURL=definition.d.ts.map