ts-enum-tools
Version:
Tools for evaluating TypeScript enum types
41 lines (40 loc) • 1.2 kB
TypeScript
export interface EnumFlagsTool<E, e> {
state: e;
eql: (a: E) => boolean;
has: (a: E) => boolean;
any: (a: E) => boolean;
toArray: () => string[];
toString: () => string;
}
export interface EnumFlagsFunc<E, e> {
(val?: any): EnumFlagsTool<E, e>;
toArray: () => {
key: string;
val: number;
}[];
val: e;
key: e;
}
export interface EnumStringsTool<E, e> {
state: e;
equals: (a: E) => boolean;
toStringKey: () => string;
toStringVal: () => string;
}
export interface EnumStringsFunc<E, e> {
(str?: any): EnumStringsTool<E, e>;
toArray: () => {
key: string;
val: string;
}[];
val: e;
key: e;
}
export declare var EnumFlagsTest: {
has: (val: any, flags: any) => boolean;
any: (val: any, flags: any) => boolean;
eql: (val: any, flags: any) => boolean;
};
export declare var EnumFlagsTestAlt: (val: any) => void;
export declare function EnumFlagsType<E, e>(enumeration: any, prop?: string): EnumFlagsFunc<E, e>;
export declare function EnumStringsType<E, e>(enumeration: any, prop?: string, validKeysFilter?: Function): EnumStringsFunc<E, e>;