playcanvas-typings
Version:
TypeScript declaration files for PlayCanvas game engine
31 lines (29 loc) • 1.05 kB
TypeScript
declare namespace pc {
/**
* @private
* @function
* @name pc.inherits
* @description Implementation of inheritance for JavaScript objects
* e.g. Class can access all of Base's function prototypes
* The super classes prototype is available on the derived class as _super
* @param {Function} Self Constructor of derived class
* @param {Function} Super Constructor of base class
* @returns {Function} New instance of Self which inherits from Super
* @example
* Base = function () {};
* Base.prototype.fn = function () {
* console.log('base');
* };
* Class = function () {}
* Class = pc.inherits(Class, Base);
* Class.prototype.fn = function () {
* // Call overridden method
* Class._super.fn();
* console.log('class');
* };
*
* var c = new Class();
* c.fn(); // prints 'base' then 'class'
*/
function inherits<T extends Function, U extends Function>(Self: T, Super: U): T & U;
}