/** @module maybe-functions.ts */ import { WidenType } from './helper-types'; import { Maybe } from './maybe'; export declare const safeInit: (as: A[]) => Maybe; export declare const safeHead: (as: A[]) => Maybe; export declare const safeLast: (as: A[]) => Maybe>; export declare const safeTail: (xs: A[]) => Maybe; declare type PossibleKeyValue = A extends keyof O ? keyof O[A] : {}; /** * takes an key (or index) and an array or object and returns * a Maybe. A Just containing the value of that object at key * or a Nothing if there is no value at the key index. */ export declare function safeProp(k: A, obj: O): Maybe>; export declare function safeProp(k: A): (obj: O) => Maybe>; export declare function safeIndexValue(index: I, arr: A & Array<{}>): Maybe; export declare function safeIndexValue(index: I): (arr: A) => Maybe; declare type StripAllNullValue = { [I in keyof A]: A[I] extends infer U ? U extends undefined | null ? never : U : never; }; export declare const maybeAllValues: (o: O) => Maybe>; export {};