lavva.exalushome
Version:
Library implementing communication and abstraction layers for ExalusHome system
24 lines (23 loc) • 883 B
TypeScript
export declare class Helpers {
static GenerateUUID(): string;
static GenerateMd5(inputString: string): string;
}
export declare class Task {
static Delay(ms: number): Promise<void>;
}
/**
* Type to generate int range types
*/
type Enumerate<N extends number, Acc extends number[] = []> = Acc['length'] extends N ? Acc[number] : Enumerate<N, [...Acc, Acc['length']]>;
export type IntRange<F extends number, T extends number> = Exclude<Enumerate<T>, Enumerate<F>>;
export type Minutes = IntRange<0, 60>;
export type Seconds = IntRange<0, 60>;
export type Hours = IntRange<0, 24>;
/**
* Alow to convert object eq. {key1: value1, key2:value2} to Map
* T - map key type (type of names of keys, eq. key1)
* K - map value type (type of values that contains given data)
* @param data object
*/
export declare function ParseObjToMap<T, K>(data: any): Map<T, K>;
export {};