unenum
Version:
Universal ADT utilities for TypeScript.
4 lines (3 loc) • 508 B
TypeScript
import type { Enum } from "./enum.js";
export declare function is<TEnum extends Enum.Any, TKey extends Enum.Keys<TEnum>>(value: TEnum, matcher: TKey | TKey[]): value is Enum.Pick<TEnum, TKey>;
export declare function is_<TEnum extends Enum.Any<TDiscriminant>, TKey extends Enum.Keys<TEnum, TDiscriminant>, TDiscriminant extends keyof TEnum & string = keyof TEnum & Enum.Discriminant.Default>(value: TEnum, discriminant: TDiscriminant, matcher: TKey | TKey[]): value is Enum.Pick<TEnum, TKey, TDiscriminant>;