@shedevro/assert
Version:
Assertion typescript library for better, comfortable and safe coding. See readme!
57 lines (56 loc) • 2.62 kB
TypeScript
declare namespace Types {
type Default = any[];
type Nullable = Default | null;
type Not = void;
}
declare namespace Array {
type AssertsTemplate<R> = {
array(value: unknown, message?: string): asserts value is R;
};
type ValueIsTemplate<R> = {
array(value: unknown): value is R;
};
}
declare namespace ArrayLength {
type AssertsTemplate<R> = {
arrayLength(value: unknown, expectedLength: number, message?: string): asserts value is R;
};
type ValueIsTemplate<R> = {
arrayLength(value: unknown, expectedLength: number): value is R;
};
}
declare namespace ArrayMinLength {
type AssertsTemplate<R> = {
arrayMinLength(value: unknown, limit: number, message?: string): asserts value is R;
};
type ValueIsTemplate<R> = {
arrayMinLength(value: unknown, limit: number): value is R;
};
}
declare namespace ArrayMaxLength {
type AssertsTemplate<R> = {
arrayMaxLength(value: unknown, limit: number, message?: string): asserts value is R;
};
type ValueIsTemplate<R> = {
arrayMaxLength(value: unknown, limit: number): value is R;
};
}
declare namespace ArrayLengthBetween {
type AssertsTemplate<R> = {
arrayLengthBetween(value: unknown, min: number, max: number, message?: string): asserts value is R;
};
type ValueIsTemplate<R> = {
arrayLengthBetween(value: unknown, min: number, max: number): value is R;
};
}
export declare namespace ArrayFunctions {
namespace Asserts {
type Default = Array.AssertsTemplate<Types.Default> & ArrayLength.AssertsTemplate<Types.Default> & ArrayMinLength.AssertsTemplate<Types.Default> & ArrayMaxLength.AssertsTemplate<Types.Default> & ArrayLengthBetween.AssertsTemplate<Types.Default>;
type Nullable = Array.AssertsTemplate<Types.Nullable> & ArrayLength.AssertsTemplate<Types.Nullable> & ArrayMinLength.AssertsTemplate<Types.Nullable> & ArrayMaxLength.AssertsTemplate<Types.Nullable> & ArrayLengthBetween.AssertsTemplate<Types.Nullable>;
}
namespace ValueIs {
type Default = Array.ValueIsTemplate<Types.Default> & ArrayLength.ValueIsTemplate<Types.Default> & ArrayMinLength.ValueIsTemplate<Types.Default> & ArrayMaxLength.ValueIsTemplate<Types.Default> & ArrayLengthBetween.ValueIsTemplate<Types.Default>;
type Nullable = Array.ValueIsTemplate<Types.Nullable> & ArrayLength.ValueIsTemplate<Types.Nullable> & ArrayMinLength.ValueIsTemplate<Types.Nullable> & ArrayMaxLength.ValueIsTemplate<Types.Nullable> & ArrayLengthBetween.ValueIsTemplate<Types.Nullable>;
}
}
export {};