sys.inherts to shadow constructor property from enumerability

thanks to ES5 features in V8 it is quite easily possible.
This commit is contained in:
Dmitry Baranovskiy 2010-06-28 11:05:22 +10:00 committed by Ryan Dahl
parent 6b430a95c9
commit d3f04933f1

View File

@ -315,9 +315,11 @@ exports.pump = function (readStream, writeStream, callback) {
* @param {function} superCtor Constructor function to inherit prototype from
*/
exports.inherits = function (ctor, superCtor) {
var tempCtor = function(){};
tempCtor.prototype = superCtor.prototype;
ctor.super_ = superCtor;
ctor.prototype = new tempCtor();
ctor.prototype.constructor = ctor;
ctor.super_ = superCtor;
ctor.prototype = Object.create(superCtor.prototype, {
constructor: {
value: ctor,
enumerable: false
}
});
};