diff --git a/source/index.ts b/source/index.ts index 58d8482..e86d89f 100644 --- a/source/index.ts +++ b/source/index.ts @@ -127,18 +127,18 @@ namespace is { // tslint:disable-line:no-namespace export const nullOrUndefined = (value: any): value is null | undefined => null_(value) || undefined(value); export const object = (value: any) => !nullOrUndefined(value) && (function_(value) || isObject(value)); - export const iterable = (value: any): value is Iterator => !nullOrUndefined(value) && function_(value[Symbol.iterator]); + export const iterable = (value: any): value is Iterator => !nullOrUndefined(value) && function_(value[Symbol.iterator]); export const generator = (value: any): value is Generator => iterable(value) && function_(value.next) && function_(value.throw); export const nativePromise = isObjectOfType>(TypeName.Promise); - const hasPromiseAPI = (value: any): value is Promise => + const hasPromiseAPI = (value: any): value is Promise => !null_(value) && isObject(value) && function_(value.then) && function_(value.catch); - export const promise = (value: any): value is Promise => nativePromise(value) || hasPromiseAPI(value); + export const promise = (value: any): value is Promise => nativePromise(value) || hasPromiseAPI(value); const isFunctionOfType = (type: TypeName) => isObjectOfType(type); export const generatorFunction = isFunctionOfType(TypeName.GeneratorFunction);