Files
habitica/website/common/script/libs/extendableBuiltin.js
Matteo Pagliazzi 0c27fb24a5 start fixing commong
2019-10-09 16:51:17 +02:00

13 lines
545 B
JavaScript

// TODO use https://babeljs.io/docs/en/babel-plugin-transform-classes
// Babel 6 doesn't support extending native class (Error, Array, ...)
// This function makes it possible to extend native classes with the same results as Babel 5
export default function extendableBuiltin (klass) {
function ExtendableBuiltin () {
klass.apply(this, arguments); // eslint-disable-line prefer-rest-params
}
ExtendableBuiltin.prototype = Object.create(klass.prototype);
Object.setPrototypeOf(ExtendableBuiltin, klass);
return ExtendableBuiltin;
}