jet-validators
Version:
A list common typescript validator-functions and some useful utilities to go with them.
40 lines (39 loc) • 4.1 kB
TypeScript
type AddNull<T, N> = (N extends true ? T | null : T);
type AddNullables<T, O, N> = (O extends true ? AddNull<T, N> | undefined : AddNull<T, N>);
export declare const isInArray: <T extends readonly unknown[]>(arg: T) => (arg: unknown) => arg is T[number];
export declare const isOptionalInArray: <T extends readonly unknown[]>(arg: T) => (arg: unknown) => arg is T[number] | undefined;
export declare const isNullableInArray: <T extends readonly unknown[]>(arg: T) => (arg: unknown) => arg is T[number] | null;
export declare const isNullishInArray: <T extends readonly unknown[]>(arg: T) => (arg: unknown) => arg is T[number] | null | undefined;
export declare function _isInArray<T extends readonly unknown[], O extends boolean, N extends boolean>(arr: T, optional: O, nullable: N): (arg: unknown) => arg is AddNullables<T[number], O, N>;
type TRangeParam = number | [number] | [];
export declare const isInRange: (min: TRangeParam, max: TRangeParam) => (arg: unknown) => arg is string | number;
export declare const isOptionalInRange: (min: TRangeParam, max: TRangeParam) => (arg: unknown) => arg is string | number | undefined;
export declare const isNullableInRange: (min: TRangeParam, max: TRangeParam) => (arg: unknown) => arg is string | number | null;
export declare const isNullishInRange: (min: TRangeParam, max: TRangeParam) => (arg: unknown) => arg is string | number | null | undefined;
export declare const isInRangeArray: (min: TRangeParam, max: TRangeParam) => (arg: unknown) => arg is (string | number)[];
export declare const isOptionalInRangeArray: (min: TRangeParam, max: TRangeParam) => (arg: unknown) => arg is (string | number)[] | undefined;
export declare const isNullableInRangeArray: (min: TRangeParam, max: TRangeParam) => (arg: unknown) => arg is (string | number)[] | null;
export declare const isNullishInRangeArray: (min: TRangeParam, max: TRangeParam) => (arg: unknown) => arg is (string | number)[] | null | undefined;
export declare const isKeyOf: <T extends object>(arg: T) => (arg: unknown) => arg is keyof T;
export declare const isOptionalKeyOf: <T extends object>(arg: T) => (arg: unknown) => arg is keyof T | undefined;
export declare const isNullableKeyOf: <T extends object>(arg: T) => (arg: unknown) => arg is keyof T | null;
export declare const isNullishKeyOf: <T extends object>(arg: T) => (arg: unknown) => arg is keyof T | null | undefined;
export declare const isKeyOfArray: <T extends object>(arg: T) => (arg: unknown) => arg is (keyof T)[];
export declare const isOptionalKeyOfArray: <T extends object>(arg: T) => (arg: unknown) => arg is (keyof T)[] | undefined;
export declare const isNullableKeyOfArray: <T extends object>(arg: T) => (arg: unknown) => arg is (keyof T)[] | null;
export declare const isNullishKeyOfArray: <T extends object>(arg: T) => (arg: unknown) => arg is (keyof T)[] | null | undefined;
export type TEnum = Record<string, string | number>;
export declare const isEnum: typeof _isEnum;
export declare const isOptionalEnum: (arg: unknown) => arg is (TEnum | undefined);
export declare const isNullableEnum: (arg: unknown) => arg is (TEnum | null);
export declare const isNullishEnum: (arg: unknown) => arg is ((TEnum | undefined) | null);
declare function _isEnum(arg: unknown): arg is TEnum;
export declare const isEnumVal: <T>(arg: T) => (arg: unknown) => arg is T[keyof T];
export declare const isOptionalEnumVal: <T>(arg: T) => (arg: unknown) => arg is T[keyof T] | undefined;
export declare const isNullableEnumVal: <T>(arg: T) => (arg: unknown) => arg is T[keyof T] | null;
export declare const isNullishEnumVal: <T>(arg: T) => (arg: unknown) => arg is T[keyof T] | null | undefined;
export declare const isEnumValArray: <T>(arg: T) => (arg: unknown) => arg is T[keyof T][];
export declare const isOptionalEnumValArray: <T>(arg: T) => (arg: unknown) => arg is T[keyof T][] | undefined;
export declare const isNullableEnumValArray: <T>(arg: T) => (arg: unknown) => arg is T[keyof T][] | null;
export declare const isNullishEnumValArray: <T>(arg: T) => (arg: unknown) => arg is T[keyof T][] | null | undefined;
export {};