UNPKG

safe-result

Version:

Create safe results that are either successes or failures

41 lines (35 loc) 966 B
/** * This package includes various typeguards * @packageDocumentation */ import { FailureResult, SuccessAndFailureResult, SuccessResult } from './result' import type { Result } from './result' /** * Check if `o` is a [[Result]] */ export function isResult(o: unknown): o is Result { return ( typeof o === 'object' && (o instanceof SuccessResult || o instanceof FailureResult) ) } /** * Check if `o` is a [[SuccessResult]] */ export function isSuccess(o: unknown): o is SuccessResult { return typeof o === 'object' && o instanceof SuccessResult } /** * Check if `o` is a [[FailureResult]] */ export function isFailure(o: unknown): o is FailureResult { return typeof o === 'object' && o instanceof FailureResult } /** * Check is `o` is a [[SuccessAndFailureResult]] */ export function isSuccessAndFailure( o: unknown ): o is SuccessAndFailureResult<unknown> { return typeof o === 'object' && o instanceof SuccessAndFailureResult }