chain-able
Version:
interfaces that describe their intentions.
40 lines (38 loc) • 2.33 kB
JavaScript
var toS = require('./toS')
/**
* @desc is a Promise
* @param {*} x value
* @return {boolean} x isPromise
*
* @since 4.0.0-beta.2
* @memberOf is
* @func isPromise
*
* @see https://github.com/jonschlinkert/kind-of/blob/master/index.js#L66
* @see https://github.com/sindresorhus/promise-fun
*
* @example
*
* isPromise(new Promise(r => r))
* //=> true
* isPromise(async function() {})
* //=> false // on some environments, true
*
* isPromise({})
* //=> false
* isPromise(Object.create(null))
* //=> false
* isPromise(null)
* //=> false
* isPromise(new Set())
* //=> false
* isPromise(function() {})
* //=> false
* isPromise('')
* //=> false
* isPromise(1)
* //=> false
*
*/
module.exports = function (x) { return toS(x) === '[object Promise]'; }
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbWlzZS5qcyIsInNvdXJjZXMiOlsicHJvbWlzZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCB0b1MgPSByZXF1aXJlKCcuL3RvUycpXG5cbi8qKlxuICogQGRlc2MgaXMgYSBQcm9taXNlXG4gKiBAcGFyYW0gIHsqfSB4IHZhbHVlXG4gKiBAcmV0dXJuIHtib29sZWFufSB4IGlzUHJvbWlzZVxuICpcbiAqIEBzaW5jZSA0LjAuMC1iZXRhLjJcbiAqIEBtZW1iZXJPZiBpc1xuICogQGZ1bmMgaXNQcm9taXNlXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vam9uc2NobGlua2VydC9raW5kLW9mL2Jsb2IvbWFzdGVyL2luZGV4LmpzI0w2NlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vc2luZHJlc29yaHVzL3Byb21pc2UtZnVuXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiAgaXNQcm9taXNlKG5ldyBQcm9taXNlKHIgPT4gcikpXG4gKiAgLy89PiB0cnVlXG4gKiAgaXNQcm9taXNlKGFzeW5jIGZ1bmN0aW9uKCkge30pXG4gKiAgLy89PiBmYWxzZSAvLyBvbiBzb21lIGVudmlyb25tZW50cywgdHJ1ZVxuICpcbiAqICBpc1Byb21pc2Uoe30pXG4gKiAgLy89PiBmYWxzZVxuICogIGlzUHJvbWlzZShPYmplY3QuY3JlYXRlKG51bGwpKVxuICogIC8vPT4gZmFsc2VcbiAqICBpc1Byb21pc2UobnVsbClcbiAqICAvLz0+IGZhbHNlXG4gKiAgaXNQcm9taXNlKG5ldyBTZXQoKSlcbiAqICAvLz0+IGZhbHNlXG4gKiAgaXNQcm9taXNlKGZ1bmN0aW9uKCkge30pXG4gKiAgLy89PiBmYWxzZVxuICogIGlzUHJvbWlzZSgnJylcbiAqICAvLz0+IGZhbHNlXG4gKiAgaXNQcm9taXNlKDEpXG4gKiAgLy89PiBmYWxzZVxuICpcbiAqL1xubW9kdWxlLmV4cG9ydHMgPSB4ID0+IHRvUyh4KSA9PT0gJ1tvYmplY3QgUHJvbWlzZV0nXG4iXSwibmFtZXMiOlsiY29uc3QiXSwibWFwcGluZ3MiOiJBQUFBQSxHQUFLLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFxQzVCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsVUFBQSxDQUFDLENBQUEsQ0FBQyxBQUFHLFNBQUEsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLGtCQUFrQixHQUFBOyJ9