UNPKG

@shedevro/assert

Version:

Assertion typescript library for better, comfortable and safe coding. See readme!

46 lines (45 loc) 2.3 kB
declare namespace Types { type One<T extends boolean = boolean> = T; type OneNullable<T extends boolean = boolean> = One<T> | null; type Array<T extends boolean = boolean> = One<T>[]; type ArrayNullable<T extends boolean = boolean> = Array<T> | null; } declare namespace Boolean { type AssertsTemplate<R> = { boolean(value: unknown, message?: string): asserts value is R; }; type ValueIsTemplate<R> = { boolean(value: unknown): value is R; }; } declare namespace True { type AssertsTemplate<R> = { true(value: unknown, message?: string): asserts value is R; }; type ValueIsTemplate<R> = { true(value: unknown): value is R; }; } declare namespace False { type AssertsTemplate<R> = { false(value: unknown, message?: string): asserts value is R; }; type ValueIsTemplate<R> = { false(value: unknown): value is R; }; } export declare namespace BooleanFunctions { namespace Asserts { type One = Boolean.AssertsTemplate<Types.One> & True.AssertsTemplate<Types.One<true>> & False.AssertsTemplate<Types.One<false>>; type OneNullable = Boolean.AssertsTemplate<Types.OneNullable> & True.AssertsTemplate<Types.OneNullable<true>> & False.AssertsTemplate<Types.OneNullable<false>>; type Array = Boolean.AssertsTemplate<Types.Array> & True.AssertsTemplate<Types.Array<true>> & False.AssertsTemplate<Types.Array<false>>; type ArrayNullable = Boolean.AssertsTemplate<Types.ArrayNullable> & True.AssertsTemplate<Types.ArrayNullable<true>> & False.AssertsTemplate<Types.ArrayNullable<false>>; } namespace ValueIs { type One = Boolean.ValueIsTemplate<Types.One> & True.ValueIsTemplate<Types.One<true>> & False.ValueIsTemplate<Types.One<false>>; type OneNullable = Boolean.ValueIsTemplate<Types.OneNullable> & True.ValueIsTemplate<Types.OneNullable<true>> & False.ValueIsTemplate<Types.OneNullable<false>>; type Array = Boolean.ValueIsTemplate<Types.Array> & True.ValueIsTemplate<Types.Array<true>> & False.ValueIsTemplate<Types.Array<false>>; type ArrayNullable = Boolean.ValueIsTemplate<Types.ArrayNullable> & True.ValueIsTemplate<Types.ArrayNullable<true>> & False.ValueIsTemplate<Types.ArrayNullable<false>>; } } export {};