}
public static async sleep(milliSeconds: number): Promise<NodeJS.Timeout> {
- return new Promise(resolve => setTimeout(resolve as () => void, milliSeconds));
+ return new Promise((resolve) => setTimeout(resolve as () => void, milliSeconds));
}
public static formatDurationMilliSeconds(duration: number): string {
return clone<T>(object);
}
- public static isIterable<T>(obj: T): boolean {
- return obj ? typeof obj[Symbol.iterator] === 'function' : false;
+ public static isIterable<T extends Iterable<T>>(obj: T): boolean {
+ return !Utils.isNullOrUndefined(obj) ? typeof obj[Symbol.iterator] === 'function' : false;
}
public static isString(value: unknown): boolean {
}
public static isUndefined(value: unknown): boolean {
- return typeof value === 'undefined';
+ return value === undefined;
}
public static isNullOrUndefined(value: unknown): boolean {