JS: Remove unsafe usage of X.prototype = new Y;

This commit is contained in:
Stefan Thomas
2013-04-23 23:02:06 +02:00
parent 462cca12b6
commit 8f5f5f566f
5 changed files with 27 additions and 7 deletions

View File

@@ -12,12 +12,15 @@
// var network = require("./network.js"); // var network = require("./network.js");
var EventEmitter = require('events').EventEmitter; var EventEmitter = require('events').EventEmitter;
var util = require('util');
var Amount = require('./amount').Amount; var Amount = require('./amount').Amount;
var UInt160 = require('./uint160').UInt160; var UInt160 = require('./uint160').UInt160;
var extend = require('extend'); var extend = require('extend');
var Account = function (remote, account) { var Account = function (remote, account) {
EventEmitter.call(this);
var self = this; var self = this;
this._remote = remote; this._remote = remote;
@@ -73,7 +76,7 @@ var Account = function (remote, account) {
return this; return this;
}; };
Account.prototype = new EventEmitter; util.inherits(Account, EventEmitter);
/** /**
* List of events that require a remote subscription to the account. * List of events that require a remote subscription to the account.

View File

@@ -9,6 +9,8 @@
// var network = require("./network.js"); // var network = require("./network.js");
var EventEmitter = require('events').EventEmitter; var EventEmitter = require('events').EventEmitter;
var util = require('util');
var Amount = require('./amount').Amount; var Amount = require('./amount').Amount;
var UInt160 = require('./uint160').UInt160; var UInt160 = require('./uint160').UInt160;
var Currency = require('./currency').Currency; var Currency = require('./currency').Currency;
@@ -18,6 +20,8 @@ var extend = require('extend');
var OrderBook = function (remote, var OrderBook = function (remote,
currency_gets, issuer_gets, currency_gets, issuer_gets,
currency_pays, issuer_pays) { currency_pays, issuer_pays) {
EventEmitter.call(this);
var self = this; var self = this;
this._remote = remote; this._remote = remote;
@@ -70,7 +74,7 @@ var OrderBook = function (remote,
return this; return this;
}; };
OrderBook.prototype = new EventEmitter; util.inherits(OrderBook, EventEmitter);
/** /**
* List of events that require a remote subscription to the orderbook. * List of events that require a remote subscription to the orderbook.

View File

@@ -16,6 +16,8 @@
// npm // npm
var EventEmitter = require('events').EventEmitter; var EventEmitter = require('events').EventEmitter;
var util = require('util');
var Server = require('./server').Server; var Server = require('./server').Server;
var Amount = require('./amount').Amount; var Amount = require('./amount').Amount;
var Currency = require('./currency').Currency; var Currency = require('./currency').Currency;
@@ -36,6 +38,8 @@ var sjcl = require('../../build/sjcl');
// 'remoteUnexpected' // 'remoteUnexpected'
// 'remoteDisconnected' // 'remoteDisconnected'
var Request = function (remote, command) { var Request = function (remote, command) {
EventEmitter.call(this);
var self = this; var self = this;
this.message = { this.message = {
@@ -46,7 +50,7 @@ var Request = function (remote, command) {
this.requested = false; this.requested = false;
}; };
Request.prototype = new EventEmitter; util.inherits(Request, EventEmitter);
// Send the request to a remote. // Send the request to a remote.
Request.prototype.request = function (remote) { Request.prototype.request = function (remote) {
@@ -257,6 +261,8 @@ Request.prototype.books = function (books, snapshot) {
// --> trusted: truthy, if remote is trusted // --> trusted: truthy, if remote is trusted
var Remote = function (opts, trace) { var Remote = function (opts, trace) {
EventEmitter.call(this);
var self = this; var self = this;
this.trusted = opts.trusted; this.trusted = opts.trusted;
@@ -362,7 +368,7 @@ var Remote = function (opts, trace) {
}); });
}; };
Remote.prototype = new EventEmitter; util.inherits(Remote, EventEmitter);
Remote.from_config = function (obj, trace) { Remote.from_config = function (obj, trace) {
var serverConfig = 'string' === typeof obj ? config.servers[obj] : obj; var serverConfig = 'string' === typeof obj ? config.servers[obj] : obj;

View File

@@ -1,9 +1,12 @@
var EventEmitter = require('events').EventEmitter; var EventEmitter = require('events').EventEmitter;
var util = require('util');
var utils = require('./utils'); var utils = require('./utils');
var Server = function (remote, cfg) var Server = function (remote, cfg)
{ {
EventEmitter.call(this);
if ("object" !== typeof cfg || "string" !== typeof cfg.url) { if ("object" !== typeof cfg || "string" !== typeof cfg.url) {
throw new Error("Invalid server configuration."); throw new Error("Invalid server configuration.");
} }
@@ -25,7 +28,7 @@ var Server = function (remote, cfg)
this.on('response_subscribe', this._handle_response_subscribe.bind(this)); this.on('response_subscribe', this._handle_response_subscribe.bind(this));
}; };
Server.prototype = new EventEmitter; util.inherits(Server, EventEmitter);
/** /**
* Server states that we will treat as the server being online. * Server states that we will treat as the server being online.

View File

@@ -43,13 +43,15 @@
// - may or may not forward. // - may or may not forward.
// //
var EventEmitter = require('events').EventEmitter;
var util = require('util');
var sjcl = require('../../build/sjcl'); var sjcl = require('../../build/sjcl');
var Amount = require('./amount').Amount; var Amount = require('./amount').Amount;
var Currency = require('./amount').Currency; var Currency = require('./amount').Currency;
var UInt160 = require('./amount').UInt160; var UInt160 = require('./amount').UInt160;
var Seed = require('./seed').Seed; var Seed = require('./seed').Seed;
var EventEmitter = require('events').EventEmitter;
var SerializedObject = require('./serializedobject').SerializedObject; var SerializedObject = require('./serializedobject').SerializedObject;
var config = require('./config'); var config = require('./config');
@@ -61,6 +63,8 @@ var SUBMIT_LOST = 8; // Give up tracking.
// - Collects parameters // - Collects parameters
// - Allow event listeners to be attached to determine the outcome. // - Allow event listeners to be attached to determine the outcome.
var Transaction = function (remote) { var Transaction = function (remote) {
EventEmitter.call(this);
// YYY Make private as many variables as possible. // YYY Make private as many variables as possible.
var self = this; var self = this;
@@ -98,7 +102,7 @@ var Transaction = function (remote) {
}); });
}; };
Transaction.prototype = new EventEmitter; util.inherits(Transaction, EventEmitter);
// XXX This needs to be determined from the network. // XXX This needs to be determined from the network.
Transaction.fees = { Transaction.fees = {