feat: virtualizedStatic

This commit is contained in:
cha0s 2019-03-24 01:16:04 -05:00
parent e0319c0d2f
commit 5bdff7ce71

View File

@ -48,6 +48,22 @@ export function virtualize(fields) {
}
}
export function virtualizeStatic(fields) {
return (Superclass) => {
class Virtualized extends Superclass {}
fields.forEach((field) => {
Virtualized[field] = function() {
const prototype = Virtualized.prototype;
const className = prototype.constructor.name;
throw new ReferenceError(
`"${className}" has undefined pure virtual static method "${field}"`
);
}
});
return Virtualized;
}
}
export class TickingPromise extends Promise {
constructor(resolve, reject) {
super(resolve, reject);