export function isIterable(arg: any): arg is Iterable { return arg != null && typeof arg[Symbol.iterator] === 'function'; } export function isArrayLike(arg: any): arg is ArrayLike { return arg != null && typeof arg.length === 'number' && typeof arg !== 'function'; } export function isObject(arg: any): arg is Object { return typeof arg === 'object' && arg !== null; } export function isNull(arg: any): arg is null { return arg === null; } export function isUndefined(arg: any): arg is undefined { return arg === void 0; } export function isString(arg: any): arg is string { return typeof arg === 'string'; } export function isNumber(arg: any): arg is number { return typeof arg === 'number'; } export function isFunction(arg: any): arg is Function { return typeof arg === 'function'; } export function isBoolean(arg: any): arg is boolean { return typeof arg === 'boolean'; } export function isSymbol(arg: any): arg is symbol { return typeof arg === 'symbol'; } export function isArray(arg: any): arg is any[] { return Array.isArray(arg); }