UNPKG

@mvx/mvc

Version:

@mvx/mvc is mvc framework on server, base on koa, @tsdi frameworks

89 lines (87 loc) 2.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BaseController = void 0; const tslib_1 = require("tslib"); const ioc_1 = require("@tsdi/ioc"); const IContext_1 = require("./IContext"); const ViewResult_1 = require("./results/ViewResult"); const FileResult_1 = require("./results/FileResult"); const RedirectResult_1 = require("./results/RedirectResult"); const JsonResult_1 = require("./results/JsonResult"); /** * Base Controller. * * @export * @class Controller */ let BaseController = class BaseController { constructor() { } /** * respone view result. * * @param {string} viewName * @param {object} [model] * @returns * @memberof BaseController */ view(viewName, model) { return new ViewResult_1.ViewResult(viewName, model); } /** * respone file result. * * @param {(string | Buffer | Stream)} file * @param {options} [FileResultOption] * @returns * @memberof BaseController */ file(file, options) { return new FileResult_1.FileResult(file, options); } /** * respone redirect result. * Perform a 302 redirect to `url`. * * The string "back" is special-cased * to provide Referrer support, when Referrer * is not present `alt` or "/" is used. * * Examples: * * this.redirect('back'); * this.redirect('back', '/index.html'); * this.redirect('/login'); * this.redirect('http://google.com'); * @param {string} url * @param {string} [alt] * @returns * @memberof BaseController */ redirect(url, alt) { return new RedirectResult_1.RedirectResult(url, alt); } /** * respone json result. * * @param {object} data * @returns * @memberof BaseController */ json(data) { return new JsonResult_1.JsonResult(data); } static ρAnn() { return { "name": "BaseController", "params": { "view": ["viewName", "model"], "file": ["file", "options"], "redirect": ["url", "alt"], "json": ["data"] } }; } }; tslib_1.__decorate([ ioc_1.Inject(IContext_1.ContextToken), tslib_1.__metadata("design:type", Object) ], BaseController.prototype, "context", void 0); BaseController = tslib_1.__decorate([ ioc_1.Injectable(), tslib_1.__metadata("design:paramtypes", []) ], BaseController); exports.BaseController = BaseController; //# sourceMappingURL=sourcemaps/BaseController.js.map