astroboy
Version:
Astroboy(阿童木)is a Nodejs SFB(Separation of Front and Back ends) framework, built on koa2.
44 lines • 1.7 kB
JavaScript
;
const Loader_1 = require("../core/Loader");
const BaseClass_1 = require("../core/base/BaseClass");
const requestProto = require('koa/lib/request');
const responseProto = require('koa/lib/response');
const contextProto = require('koa/lib/context');
const applicationProto = require('koa/lib/application').prototype;
const completeAssign = require('complete-assign');
class AstroboyExtendLoader extends Loader_1.Loader {
load() {
// application extend
this.globDirs(this.config.applicationPattern || [], entries => {
entries.forEach(entry => {
completeAssign(applicationProto, require(entry));
});
});
// context extend
this.globDirs(this.config.contextPattern || [], entries => {
entries.forEach(entry => {
completeAssign(contextProto, require(entry));
});
});
// request extend
this.globDirs(this.config.requestPattern || [], entries => {
entries.forEach(entry => {
completeAssign(requestProto, require(entry));
});
});
// response extend
this.globDirs(this.config.responsePattern || [], entries => {
entries.forEach(entry => {
completeAssign(responseProto, require(entry));
});
});
// controller extend
this.globDirs(this.config.controllerPattern || [], entries => {
entries.forEach(entry => {
completeAssign(BaseClass_1.BaseClass.prototype, require(entry));
});
});
}
}
module.exports = AstroboyExtendLoader;
//# sourceMappingURL=AstroboyExtendLoader.js.map