Permalink
Browse files

url: use internal/util's getConstructorOf

PR-URL: #12526
Reviewed-By: James M Snell <jasnell@gmail.com>
  • Loading branch information...
TimothyGu committed Apr 20, 2017
1 parent 3c0dd45 commit 061c5da010e0d249379618382a499840d38247b8
Showing with 2 additions and 12 deletions.
  1. +2 −12 lib/internal/url.js
@@ -5,6 +5,7 @@ const {
hexTable,
isHexTable
} = require('internal/querystring');
const { getConstructorOf } = require('internal/util');
const binding = process.binding('url');
const context = Symbol('context');
const cannotBeBase = Symbol('cannot-be-base');
@@ -171,17 +172,6 @@ function onParseHashComplete(flags, protocol, username, password,
this[context].fragment = fragment;
}
function getEligibleConstructor(obj) {
while (obj !== null) {
if (Object.prototype.hasOwnProperty.call(obj, 'constructor') &&
typeof obj.constructor === 'function') {
return obj.constructor;
}
obj = Object.getPrototypeOf(obj);
}
return null;
}
class URL {
constructor(input, base) {
// toUSVString is not needed.
@@ -220,7 +210,7 @@ class URL {
if (typeof depth === 'number' && depth < 0)
return opts.stylize('[Object]', 'special');
const ctor = getEligibleConstructor(this);
const ctor = getConstructorOf(this);
const obj = Object.create({
constructor: ctor === null ? URL : ctor

0 comments on commit 061c5da

Please sign in to comment.