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