Skip to content

Commit

Permalink
lib: replace legacy uses of __defineGetter__
Browse files Browse the repository at this point in the history
Minor clean up. There are still some places in core that use
the legacy __defineGetter__ syntax. This updates most of those.

PR-URL: nodejs#6768
Reviewed-By: Rich Trott <rtrott@gmail.com>
  • Loading branch information
jasnell committed May 17, 2016
1 parent 78520fa commit f293d0b
Show file tree
Hide file tree
Showing 4 changed files with 65 additions and 29 deletions.
51 changes: 36 additions & 15 deletions lib/_tls_legacy.js
Original file line number Diff line number Diff line change
Expand Up @@ -350,8 +350,12 @@ CryptoStream.prototype.setKeepAlive = function(enable, initialDelay) {
if (this.socket) this.socket.setKeepAlive(enable, initialDelay);
};

CryptoStream.prototype.__defineGetter__('bytesWritten', function() {
return this.socket ? this.socket.bytesWritten : 0;
Object.defineProperty(CryptoStream.prototype, 'bytesWritten', {
configurable: true,
enumerable: true,
get: function() {
return this.socket ? this.socket.bytesWritten : 0;
}
});

CryptoStream.prototype.getPeerCertificate = function(detailed) {
Expand Down Expand Up @@ -526,27 +530,44 @@ CleartextStream.prototype.address = function() {
return this.socket && this.socket.address();
};


CleartextStream.prototype.__defineGetter__('remoteAddress', function() {
return this.socket && this.socket.remoteAddress;
Object.defineProperty(CleartextStream.prototype, 'remoteAddress', {
configurable: true,
enumerable: true,
get: function() {
return this.socket && this.socket.remoteAddress;
}
});

CleartextStream.prototype.__defineGetter__('remoteFamily', function() {
return this.socket && this.socket.remoteFamily;
Object.defineProperty(CleartextStream.prototype, 'remoteFamily', {
configurable: true,
enumerable: true,
get: function() {
return this.socket && this.socket.remoteFamily;
}
});

CleartextStream.prototype.__defineGetter__('remotePort', function() {
return this.socket && this.socket.remotePort;
Object.defineProperty(CleartextStream.prototype, 'remotePort', {
configurable: true,
enumerable: true,
get: function() {
return this.socket && this.socket.remotePort;
}
});


CleartextStream.prototype.__defineGetter__('localAddress', function() {
return this.socket && this.socket.localAddress;
Object.defineProperty(CleartextStream.prototype, 'localAddress', {
configurable: true,
enumerable: true,
get: function() {
return this.socket && this.socket.localAddress;
}
});


CleartextStream.prototype.__defineGetter__('localPort', function() {
return this.socket && this.socket.localPort;
Object.defineProperty(CleartextStream.prototype, 'localPort', {
configurable: true,
enumerable: true,
get: function() {
return this.socket && this.socket.localPort;
}
});


Expand Down
21 changes: 14 additions & 7 deletions lib/crypto.js
Original file line number Diff line number Diff line change
Expand Up @@ -662,13 +662,20 @@ function filterDuplicates(names) {
}

// Legacy API
exports.__defineGetter__('createCredentials',
internalUtil.deprecate(function() {
Object.defineProperty(exports, 'createCredentials', {
configurable: true,
enumerable: true,
get: internalUtil.deprecate(function() {
return require('tls').createSecureContext;
}, 'crypto.createCredentials is deprecated. ' +
'Use tls.createSecureContext instead.'));
'Use tls.createSecureContext instead.')
});

exports.__defineGetter__('Credentials', internalUtil.deprecate(function() {
return require('tls').SecureContext;
}, 'crypto.Credentials is deprecated. ' +
'Use tls.SecureContext instead.'));
Object.defineProperty(exports, 'Credentials', {
configurable: true,
enumerable: true,
get: internalUtil.deprecate(function() {
return require('tls').SecureContext;
}, 'crypto.Credentials is deprecated. ' +
'Use tls.SecureContext instead.')
});
8 changes: 6 additions & 2 deletions lib/internal/bootstrap_node.js
Original file line number Diff line number Diff line change
Expand Up @@ -251,8 +251,12 @@
}

function setupGlobalConsole() {
global.__defineGetter__('console', function() {
return NativeModule.require('console');
Object.defineProperty(global, 'console', {
configurable: true,
enumerable: true,
get: function() {
return NativeModule.require('console');
}
});
}

Expand Down
14 changes: 9 additions & 5 deletions lib/readline.js
Original file line number Diff line number Diff line change
Expand Up @@ -165,11 +165,15 @@ function Interface(input, output, completer, terminal) {

inherits(Interface, EventEmitter);

Interface.prototype.__defineGetter__('columns', function() {
var columns = Infinity;
if (this.output && this.output.columns)
columns = this.output.columns;
return columns;
Object.defineProperty(Interface.prototype, 'columns', {
configurable: true,
enumerable: true,
get: function() {
var columns = Infinity;
if (this.output && this.output.columns)
columns = this.output.columns;
return columns;
}
});

Interface.prototype.setPrompt = function(prompt) {
Expand Down

0 comments on commit f293d0b

Please sign in to comment.