Skip to content

Commit

Permalink
url: use internal/util's getConstructorOf
Browse files Browse the repository at this point in the history
PR-URL: #12526
Reviewed-By: James M Snell <jasnell@gmail.com>
  • Loading branch information
TimothyGu committed Apr 24, 2017
1 parent 3c0dd45 commit 061c5da
Showing 1 changed file with 2 additions and 12 deletions.
14 changes: 2 additions & 12 deletions lib/internal/url.js
Original file line number Diff line number Diff line change
Expand Up @@ -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');
Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 061c5da

Please sign in to comment.