@shedevro/assert
Version:
Assertion typescript library for better, comfortable and safe coding. See readme!
30 lines (29 loc) • 1.04 kB
TypeScript
declare namespace Types {
type One = (...args: any[]) => any;
type OneNullable = One | null;
type Array = One[];
type ArrayNullable = Array | null;
}
declare namespace Function {
type AssertsTemplate<R> = {
function(value: unknown, message?: string): asserts value is R;
};
type ValueIsTemplate<R> = {
function(value: unknown): value is R;
};
}
export declare namespace FunctionFunctions {
namespace Asserts {
type One = Function.AssertsTemplate<Types.One>;
type OneNullable = Function.AssertsTemplate<Types.OneNullable>;
type Array = Function.AssertsTemplate<Types.Array>;
type ArrayNullable = Function.AssertsTemplate<Types.ArrayNullable>;
}
namespace ValueIs {
type One = Function.ValueIsTemplate<Types.One>;
type OneNullable = Function.ValueIsTemplate<Types.OneNullable>;
type Array = Function.ValueIsTemplate<Types.Array>;
type ArrayNullable = Function.ValueIsTemplate<Types.ArrayNullable>;
}
}
export {};