UNPKG

util.inherits

Version:
48 lines (39 loc) 1.3 kB
const inherits = typeof Object.setPrototypeOf === 'function' ? function (ctor, superCtor) { ctor.super_ = superCtor Object.setPrototypeOf(ctor.prototype, superCtor.prototype) } : typeof Object.create === 'function' ? function (ctor, superCtor) { ctor.super_ = superCtor; ctor.prototype = Object.create(superCtor.prototype, { constructor: { value: ctor, enumerable: false, writable: true, configurable: true } }) } : function (ctor, superCtor) { ctor.super_ = superCtor function F () {} F.prototype = superCtor.prototype ctor.prototype = new F ctor.prototype.constructor = ctor } module.exports = function (ctor, superCtor) { if (ctor === undefined || ctor === null) { throw new TypeError('The constructor to "inherits" must not be ' + 'null or undefined') } if (superCtor === undefined || superCtor === null) { throw new TypeError('The super constructor to "inherits" must not ' + 'be null or undefined') } if (superCtor.prototype === undefined) { throw new TypeError('The super constructor to "inherits" must ' + 'have a prototype') } inherits(ctor, superCtor) }