UNPKG

astroboy

Version:

Astroboy(阿童木)is a Nodejs SFB(Separation of Front and Back ends) framework, built on koa2.

60 lines 2.38 kB
"use strict"; 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'); const mockKoa_1 = require("../core/lib/mockKoa"); class AstroboyExtendLoader extends Loader_1.Loader { async load() { // application extend const applicationEntries = await this.globDirs(this.config.applicationPattern || []); applicationEntries.forEach(entry => { if (this.app.MODE_AE) { completeAssign(this.app, require(entry)); } else { completeAssign(applicationProto, require(entry)); } }); // context extend const contextEntries = await this.globDirs(this.config.contextPattern || []); contextEntries.forEach(entry => { if (this.app.MODE_AE) { completeAssign(mockKoa_1.context, require(entry)); } else { completeAssign(contextProto, require(entry)); } }); // request extend const requestEntries = await this.globDirs(this.config.requestPattern || []); requestEntries.forEach(entry => { if (this.app.MODE_AE) { completeAssign(mockKoa_1.request, require(entry)); } else { completeAssign(requestProto, require(entry)); } }); // response extend const responseEntries = await this.globDirs(this.config.responsePattern || []); responseEntries.forEach(entry => { if (this.app.MODE_AE) { completeAssign(mockKoa_1.response, require(entry)); } else { completeAssign(responseProto, require(entry)); } }); // controller extend const controllerEntries = await this.globDirs(this.config.controllerPattern || []); controllerEntries.forEach(entry => { completeAssign(BaseClass_1.BaseClass.prototype, require(entry)); }); } } module.exports = AstroboyExtendLoader; //# sourceMappingURL=AstroboyExtendLoader.js.map