UNPKG

type-plus

Version:
40 lines 2.17 kB
import { type AnyConstructor } from '../class/index.js'; import { type AnyFunction } from '../function/any_function.js'; /** * 💥 *immediate* * 🚦 *assertion* * * Assert the subject satisfies the specified type T * @type T the type to check against. */ export declare function assertType<T>(subject: T): asserts subject is T; export declare function assertType<T>(subject: unknown, validator: (s: T) => boolean): asserts subject is T; /** * @deprecated this is not a failsafe test */ export declare function assertType<T extends new (...args: any) => any>(subject: unknown, constructor: T): asserts subject is InstanceType<T>; export declare namespace assertType { var isUndefined: (subject: undefined) => asserts subject is undefined; var noUndefined: <S>(subject: Exclude<S, undefined>) => void; var isNull: (subject: null) => asserts subject is null; var noNull: <S>(subject: Exclude<S, null>) => void; var isNumber: (subject: number) => asserts subject is number; var noNumber: <S>(subject: Exclude<S, number>) => void; var isBoolean: (subject: boolean) => asserts subject is boolean; var noBoolean: <S>(subject: Exclude<S, boolean>) => void; var isTrue: (subject: true) => asserts subject is true; var noTrue: <S>(subject: Exclude<S, true>) => void; var isFalse: (subject: false) => asserts subject is false; var noFalse: <S>(subject: Exclude<S, false>) => void; var isString: (subject: string) => asserts subject is string; var noString: <S>(subject: Exclude<S, string>) => void; var isFunction: (subject: AnyFunction) => asserts subject is AnyFunction; var noFunction: <S>(subject: Exclude<S, AnyFunction>) => void; var isConstructor: (subject: AnyConstructor) => asserts subject is AnyConstructor; var isError: (subject: Error) => asserts subject is Error; var noError: <S>(subject: Exclude<S, Error>) => void; var isNever: (_subject: never) => asserts _subject is never; var custom: <T>(validator: (s: T) => boolean) => (subject: unknown) => asserts subject is T; var as: <T>(_subject: unknown) => asserts _subject is T; } //# sourceMappingURL=assert_type.d.ts.map