UNPKG

jet-validators

Version:

A list common typescript validator-functions and some useful utilities to go with them.

40 lines (39 loc) 4.1 kB
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 {};