From ae533fef56edf8491a7d6cbd4808763ff1c49496 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Wed, 12 Jul 2017 21:39:24 -0700 Subject: [PATCH 1/2] Added Symbol.toStringTag support to Promise --- src/promise.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/promise.js b/src/promise.js index b1cd220ee..aea791da5 100644 --- a/src/promise.js +++ b/src/promise.js @@ -753,6 +753,14 @@ Promise.prototype._settledValue = function() { // Implicit undefined for cancelled promise. }; +if (typeof Symbol !== "undefined" && Symbol.toStringTag) { + es5.defineProperty(Promise.prototype, Symbol.toStringTag, { + get: function () { + return "Promise"; + } + }); +} + function deferResolve(v) {this.promise._resolveCallback(v);} function deferReject(v) {this.promise._rejectCallback(v, false);} From d6a3dc249f2dc0c53c7559a2d7a4abb03ef0e4b4 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Wed, 13 Jun 2018 09:40:54 -0700 Subject: [PATCH 2/2] Returned Object for Symbol.toStringTag --- src/promise.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/promise.js b/src/promise.js index aea791da5..54961c6bd 100644 --- a/src/promise.js +++ b/src/promise.js @@ -756,7 +756,7 @@ Promise.prototype._settledValue = function() { if (typeof Symbol !== "undefined" && Symbol.toStringTag) { es5.defineProperty(Promise.prototype, Symbol.toStringTag, { get: function () { - return "Promise"; + return "Object"; } }); }