Skip to content

Commit

Permalink
Use a string instead of a Symbol in older environments.
Browse files Browse the repository at this point in the history
  • Loading branch information
goto-bus-stop committed May 11, 2018
1 parent a3958d6 commit 45388f1
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions util.js
Original file line number Diff line number Diff line change
Expand Up @@ -595,13 +595,13 @@ function hasOwnProperty(obj, prop) {
return Object.prototype.hasOwnProperty.call(obj, prop);
}

var kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;
var kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : 'Symbol(util.promisify.custom)';

exports.promisify = function promisify(original) {
if (typeof original !== 'function')
throw new TypeError('The "original" argument must be of type Function');

if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {
if (original[kCustomPromisifiedSymbol]) {
var fn = original[kCustomPromisifiedSymbol];
if (typeof fn !== 'function') {
throw new TypeError('The "util.promisify.custom" argument must be of type Function');
Expand Down Expand Up @@ -642,7 +642,7 @@ exports.promisify = function promisify(original) {

Object.setPrototypeOf(fn, Object.getPrototypeOf(original));

if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {
Object.defineProperty(fn, kCustomPromisifiedSymbol, {
value: fn, enumerable: false, writable: false, configurable: true
});
return Object.defineProperties(
Expand Down

0 comments on commit 45388f1

Please sign in to comment.