| 123456789101112131415161718192021222324 | 'use strict';var callBound = require('call-bind/callBound');var $PromiseThen = callBound('Promise.prototype.then', true);var Type = require('./Type');// https://ecma-international.org/ecma-262/6.0/#sec-ispromisemodule.exports = function IsPromise(x) {	if (Type(x) !== 'Object') {		return false;	}	if (!$PromiseThen) { // Promises are not supported		return false;	}	try {		$PromiseThen(x); // throws if not a promise	} catch (e) {		return false;	}	return true;};
 |