UNPKG

cdk-insights

Version:

AWS CDK security and cost analysis tool with AI-powered insights

27 lines (26 loc) 1.98 kB
export type Result<T, E = Error> = Success<T> | Failure<E>; export interface Success<T> { readonly _tag: 'Success'; readonly value: T; } export interface Failure<E> { readonly _tag: 'Failure'; readonly error: E; } export declare const success: <T>(value: T) => Success<T>; export declare const failure: <E>(error: E) => Failure<E>; export declare const isSuccess: <T, E>(result: Result<T, E>) => result is Success<T>; export declare const isFailure: <T, E>(result: Result<T, E>) => result is Failure<E>; export declare const map: <T, U, E>(result: Result<T, E>, transformFunction: (value: T) => U) => Result<U, E>; export declare const mapError: <T, E, F>(result: Result<T, E>, errorTransformFunction: (error: E) => F) => Result<T, F>; export declare const flatMap: <T, U, E>(result: Result<T, E>, bindFunction: (value: T) => Result<U, E>) => Result<U, E>; export declare const orElse: <T, E>(result: Result<T, E>, fallbackFunction: (_error: E) => T) => T; export declare const getOrElse: <T, E>(result: Result<T, E>, defaultValue: T) => T; export declare const fromPromise: <T>(promise: Promise<T>) => Promise<Result<T, Error>>; export declare const fromPromiseWithError: <T, E>(promise: Promise<T>, errorMapper: (_error: unknown) => E) => Promise<Result<T, E>>; export declare const sequence: <T, E>(results: Result<T, E>[]) => Result<T[], E>; export declare const sequenceAsync: <T, E>(promises: Promise<Result<T, E>>[], errorMapper: (_error: unknown) => E) => Promise<Result<T[], E>>; export declare const validate: <T, E>(value: T, predicate: (value: T) => boolean, error: E) => Result<T, E>; export declare const validateAsync: <T, E>(value: T, predicate: (value: T) => Promise<boolean>, error: E) => Promise<Result<T, E>>; export declare const tap: <T, E>(result: Result<T, E>, sideEffectFunction: (_value: T) => void) => Result<T, E>; export declare const tapError: <T, E>(result: Result<T, E>, errorSideEffectFunction: (_error: E) => void) => Result<T, E>;