source: imaps-frontend/node_modules/es-abstract/2015/IsPromise.js@ d565449

main
Last change on this file since d565449 was d565449, checked in by stefan toskovski <stefantoska84@…>, 4 weeks ago

Update repo after prototype presentation

  • Property mode set to 100644
File size: 480 bytes
RevLine 
[d565449]1'use strict';
2
3var callBound = require('call-bind/callBound');
4
5var $PromiseThen = callBound('Promise.prototype.then', true);
6
7var Type = require('./Type');
8
9// https://262.ecma-international.org/6.0/#sec-ispromise
10
11module.exports = function IsPromise(x) {
12 if (Type(x) !== 'Object') {
13 return false;
14 }
15 if (!$PromiseThen) { // Promises are not supported
16 return false;
17 }
18 try {
19 $PromiseThen(x); // throws if not a promise
20 } catch (e) {
21 return false;
22 }
23 return true;
24};
Note: See TracBrowser for help on using the repository browser.