UNPKG

@shedevro/assert

Version:

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

80 lines (79 loc) 4.95 kB
declare namespace Types { type One = number; type OneNullable = One | null; type Array = One[]; type ArrayNullable = Array | null; } declare namespace Number { type AssertsTemplate<R> = { number(value: unknown, message?: string): asserts value is R; }; type ValueIsTemplate<R> = { number(value: unknown): value is R; }; } declare namespace Natural { type AssertsTemplate<R> = { natural(value: unknown, message?: string): asserts value is R; }; type ValueIsTemplate<R> = { natural(value: unknown): value is R; }; } declare namespace GreaterThan { type AssertsTemplate<R> = { greaterThan(value: unknown, limit: number, message?: string): asserts value is R; }; type ValueIsTemplate<R> = { greaterThan(value: unknown, limit: number): value is R; }; } declare namespace GreaterThanOrEqual { type AssertsTemplate<R> = { greaterThanOrEqual(value: unknown, limit: number, message?: string): asserts value is R; }; type ValueIsTemplate<R> = { greaterThanOrEqual(value: unknown, limit: number): value is R; }; } declare namespace LessThan { type AssertsTemplate<R> = { lessThan(value: unknown, limit: number, message?: string): asserts value is R; }; type ValueIsTemplate<R> = { lessThan(value: unknown, limit: number): value is R; }; } declare namespace LessThanOrEqual { type AssertsTemplate<R> = { lessThanOrEqual(value: unknown, limit: number, message?: string): asserts value is R; }; type ValueIsTemplate<R> = { lessThanOrEqual(value: unknown, limit: number): value is R; }; } declare namespace Range { type AssertsTemplate<R> = { range(value: unknown, min: number, max: number, message?: string): asserts value is R; }; type ValueIsTemplate<R> = { range(value: unknown, min: number, max: number): value is R; }; } export declare namespace NumberFunctions { namespace Asserts { type One = Number.AssertsTemplate<Types.One> & Natural.AssertsTemplate<Types.One> & GreaterThan.AssertsTemplate<Types.One> & GreaterThanOrEqual.AssertsTemplate<Types.One> & LessThan.AssertsTemplate<Types.One> & LessThanOrEqual.AssertsTemplate<Types.One> & Range.AssertsTemplate<Types.One>; type OneNullable = Number.AssertsTemplate<Types.OneNullable> & Natural.AssertsTemplate<Types.OneNullable> & GreaterThan.AssertsTemplate<Types.OneNullable> & GreaterThanOrEqual.AssertsTemplate<Types.OneNullable> & LessThan.AssertsTemplate<Types.OneNullable> & LessThanOrEqual.AssertsTemplate<Types.OneNullable> & Range.AssertsTemplate<Types.OneNullable>; type Array = Number.AssertsTemplate<Types.Array> & Natural.AssertsTemplate<Types.Array> & GreaterThan.AssertsTemplate<Types.Array> & GreaterThanOrEqual.AssertsTemplate<Types.Array> & LessThan.AssertsTemplate<Types.Array> & LessThanOrEqual.AssertsTemplate<Types.Array> & Range.AssertsTemplate<Types.Array>; type ArrayNullable = Number.AssertsTemplate<Types.ArrayNullable> & Natural.AssertsTemplate<Types.ArrayNullable> & GreaterThan.AssertsTemplate<Types.ArrayNullable> & GreaterThanOrEqual.AssertsTemplate<Types.ArrayNullable> & LessThan.AssertsTemplate<Types.ArrayNullable> & LessThanOrEqual.AssertsTemplate<Types.ArrayNullable> & Range.AssertsTemplate<Types.ArrayNullable>; type Not = Natural.AssertsTemplate<Types.One> & Range.AssertsTemplate<Types.One>; } namespace ValueIs { type One = Number.ValueIsTemplate<Types.One> & Natural.ValueIsTemplate<Types.One> & GreaterThan.ValueIsTemplate<Types.One> & GreaterThanOrEqual.ValueIsTemplate<Types.One> & LessThan.ValueIsTemplate<Types.One> & LessThanOrEqual.ValueIsTemplate<Types.One> & Range.ValueIsTemplate<Types.One>; type OneNullable = Number.ValueIsTemplate<Types.OneNullable> & Natural.ValueIsTemplate<Types.OneNullable> & GreaterThan.ValueIsTemplate<Types.OneNullable> & GreaterThanOrEqual.ValueIsTemplate<Types.OneNullable> & LessThan.ValueIsTemplate<Types.OneNullable> & LessThanOrEqual.ValueIsTemplate<Types.OneNullable> & Range.ValueIsTemplate<Types.OneNullable>; type Array = Number.ValueIsTemplate<Types.Array> & Natural.ValueIsTemplate<Types.Array> & GreaterThan.ValueIsTemplate<Types.Array> & GreaterThanOrEqual.ValueIsTemplate<Types.Array> & LessThan.ValueIsTemplate<Types.Array> & LessThanOrEqual.ValueIsTemplate<Types.Array> & Range.ValueIsTemplate<Types.Array>; type ArrayNullable = Number.ValueIsTemplate<Types.ArrayNullable> & Natural.ValueIsTemplate<Types.ArrayNullable> & GreaterThan.ValueIsTemplate<Types.ArrayNullable> & GreaterThanOrEqual.ValueIsTemplate<Types.ArrayNullable> & LessThan.ValueIsTemplate<Types.ArrayNullable> & LessThanOrEqual.ValueIsTemplate<Types.ArrayNullable> & Range.ValueIsTemplate<Types.ArrayNullable>; type Not = Natural.ValueIsTemplate<Types.One> & Range.ValueIsTemplate<Types.One>; } } export {};