Merge pull request #436 from Chalarangelo/isPromise

[FEATURE] Add isPromise snippet
This commit is contained in:
Angelos Chalaris
2017-12-31 15:53:59 +02:00
committed by GitHub
2 changed files with 17 additions and 0 deletions

16
snippets/isPromiseLike.md Normal file
View File

@ -0,0 +1,16 @@
### isPromiseLike
Returns `true` if an object looks like a [`Promise`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise), `false` otherwise.
Check if the object is not `null`, its `typeof` matches either `object` or `function` and if it has a `.then` property, which is also a `function`.
```js
const isPromiseLike = obj =>
obj !== null && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function';
```
```js
isPromiseLike({then:function () {return ''}}); // true
isPromiseLike(null); // false
isPromiseLike({}); // false
```

View File

@ -75,6 +75,7 @@ isFunction:utility
isNull:utility
isNumber:utility
isPrime:math
isPromiseLike:utility
isString:utility
isSymbol:utility
isValidJSON:utility