From d5d4f194f10ead75ac7ceb00646c134e3769097e Mon Sep 17 00:00:00 2001 From: Fedor Indutny Date: Wed, 20 Apr 2016 11:59:16 -0400 Subject: [PATCH] net: replace __defineGetter__ with defineProperty `Object.prototype.__defineGetter__` is deprecated now, use `Object.defineProperty` instead. PR-URL: https://github.com/nodejs/node/pull/6284 Reviewed-By: Ben Noordhuis --- lib/net.js | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/lib/net.js b/lib/net.js index 14c32cfb416423..cfbbef15ba48da 100644 --- a/lib/net.js +++ b/lib/net.js @@ -585,19 +585,27 @@ Socket.prototype._getpeername = function() { return this._peername; }; -Socket.prototype.__defineGetter__('bytesRead', function() { +function protoGetter(name, callback) { + Object.defineProperty(Socket.prototype, name, { + configurable: false, + enumerable: true, + get: callback + }); +} + +protoGetter('bytesRead', function bytesRead() { return this._handle ? this._handle.bytesRead : this[BYTES_READ]; }); -Socket.prototype.__defineGetter__('remoteAddress', function() { +protoGetter('remoteAddress', function remoteAddress() { return this._getpeername().address; }); -Socket.prototype.__defineGetter__('remoteFamily', function() { +protoGetter('remoteFamily', function remoteFamily() { return this._getpeername().family; }); -Socket.prototype.__defineGetter__('remotePort', function() { +protoGetter('remotePort', function remotePort() { return this._getpeername().port; }); @@ -616,12 +624,12 @@ Socket.prototype._getsockname = function() { }; -Socket.prototype.__defineGetter__('localAddress', function() { +protoGetter('localAddress', function localAddress() { return this._getsockname().address; }); -Socket.prototype.__defineGetter__('localPort', function() { +protoGetter('localPort', function localPort() { return this._getsockname().port; }); @@ -733,7 +741,7 @@ function createWriteReq(req, handle, data, encoding) { } -Socket.prototype.__defineGetter__('bytesWritten', function() { +protoGetter('bytesWritten', function bytesWritten() { var bytes = this._bytesDispatched; const state = this._writableState; const data = this._pendingData;