UNPKG

spur-common

Version:

A Node.JS library of common modules used as a base to most Node.JS applications.

37 lines (27 loc) 677 B
module.exports = function () { class Module { constructor(...args) { const modules = this.$modules || []; modules.forEach((module) => { module.apply(this, args); }); } include(module) { Object.keys(module.prototype).forEach((key) => { this[key] = module[key]; }); module.apply(this); } static include(obj) { if (!this.prototype.$modules) { this.prototype.$modules = []; } this.prototype.$modules.push(obj); Object.keys(obj.prototype).forEach((key) => { this.prototype[key] = obj.prototype[key]; }); return this; } } return Module; };