foop
Version:
interfaces that describe their intentions.
46 lines (44 loc) • 2.84 kB
JavaScript
var toS = require('./toS')
/**
* @desc is a Promise
* @since 4.0.0-beta.2
* @memberOf is
*
* @param {*} x value
* @return {boolean} x isPromise
*
* @func
* @name isPromise
*
* {@link https://tc39.github.io/ecma262/#sec-ispromise emca-ispromise}
* {@link https://github.com/sindresorhus/promise-fun promise-fun}
* {@link https://github.com/jonschlinkert/kind-of/blob/master/index.js#L66 kind-of-promise}
* @see {@link emca-ispromise}
* @see {@link kind-of-promise}
* @see {@link 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbWlzZS5qcyIsInNvdXJjZXMiOlsicHJvbWlzZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCB0b1MgPSByZXF1aXJlKCcuL3RvUycpXG5cbi8qKlxuICogQGRlc2MgaXMgYSBQcm9taXNlXG4gKiBAc2luY2UgNC4wLjAtYmV0YS4yXG4gKiBAbWVtYmVyT2YgaXNcbiAqXG4gKiBAcGFyYW0gIHsqfSB4IHZhbHVlXG4gKiBAcmV0dXJuIHtib29sZWFufSB4IGlzUHJvbWlzZVxuICpcbiAqIEBmdW5jXG4gKiBAbmFtZSBpc1Byb21pc2VcbiAqXG4gKiB7QGxpbmsgaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtaXNwcm9taXNlIGVtY2EtaXNwcm9taXNlfVxuICoge0BsaW5rICBodHRwczovL2dpdGh1Yi5jb20vc2luZHJlc29yaHVzL3Byb21pc2UtZnVuIHByb21pc2UtZnVufVxuICoge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9qb25zY2hsaW5rZXJ0L2tpbmQtb2YvYmxvYi9tYXN0ZXIvaW5kZXguanMjTDY2IGtpbmQtb2YtcHJvbWlzZX1cbiAqIEBzZWUge0BsaW5rIGVtY2EtaXNwcm9taXNlfVxuICogQHNlZSB7QGxpbmsga2luZC1vZi1wcm9taXNlfVxuICogQHNlZSB7QGxpbmsgcHJvbWlzZS1mdW59XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiAgaXNQcm9taXNlKG5ldyBQcm9taXNlKHIgPT4gcikpXG4gKiAgLy89PiB0cnVlXG4gKiAgaXNQcm9taXNlKGFzeW5jIGZ1bmN0aW9uKCkge30pXG4gKiAgLy89PiBmYWxzZSAvLyBvbiBzb21lIGVudmlyb25tZW50cywgdHJ1ZVxuICpcbiAqICBpc1Byb21pc2Uoe30pXG4gKiAgLy89PiBmYWxzZVxuICogIGlzUHJvbWlzZShPYmplY3QuY3JlYXRlKG51bGwpKVxuICogIC8vPT4gZmFsc2VcbiAqICBpc1Byb21pc2UobnVsbClcbiAqICAvLz0+IGZhbHNlXG4gKiAgaXNQcm9taXNlKG5ldyBTZXQoKSlcbiAqICAvLz0+IGZhbHNlXG4gKiAgaXNQcm9taXNlKGZ1bmN0aW9uKCkge30pXG4gKiAgLy89PiBmYWxzZVxuICogIGlzUHJvbWlzZSgnJylcbiAqICAvLz0+IGZhbHNlXG4gKiAgaXNQcm9taXNlKDEpXG4gKiAgLy89PiBmYWxzZVxuICpcbiAqL1xubW9kdWxlLmV4cG9ydHMgPSB4ID0+IHRvUyh4KSA9PT0gJ1tvYmplY3QgUHJvbWlzZV0nXG4iXSwibmFtZXMiOlsiY29uc3QiXSwibWFwcGluZ3MiOiJBQUFBQSxHQUFLLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUEyQzVCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsVUFBQSxDQUFDLENBQUEsQ0FBQyxBQUFHLFNBQUEsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLGtCQUFrQixHQUFBOyJ9