UNPKG

assert-or-return

Version:

Type-safe assertion library with decorator-based early returns for TypeScript

16 lines (15 loc) 581 B
export type AssertResult<T = never> = { success: true; data: T; } | { success: false; error: string; }; export declare function Ok<T>(data: T): AssertResult<T>; export declare function Err(error: string): AssertResult; export declare function assert<T>(value: T, errorMessage: string): asserts value is NonNullable<T>; interface AssertableMethod { (...args: any[]): AssertResult<any>; } export declare function HasAssertions(): <T extends AssertableMethod>(target: any, propertyName: string | symbol, descriptor: TypedPropertyDescriptor<T>) => void; export {};