Source: extended/ExRouter.js

/// <reference path="../../typings/tsd.d.ts" />
var __extends = (this && this.__extends) || function (d, b) {
    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
    function __() { this.constructor = d; }
    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Express = require('express');
var DDolly = require('../Dolly');
var Dollyjs;
(function (Dollyjs) {
    /**
     * @class ExRouter
     * Extended Router
     */
    var ExRouter = (function (_super) {
        __extends(ExRouter, _super);
        function ExRouter() {
            _super.apply(this, arguments);
            /**
             * @public Load the express router
             * @type {"express".e.Router|any}
             */
            this.expressRouter = Express.Router();
        }
        /**
         * Deffine middleware function
         * @param route
         * @param method
         * @public
         */
        ExRouter.prototype.defineMiddleware = function (route, method) {
            this.expressRouter.use(route, method);
        };
        /**
         * Set up a new route
         * @param route
         * @param method
         * @param controller
         * @public
         */
        ExRouter.prototype.defineRoute = function (route, method, middleware, controller) {
            if (middleware == null) {
                this.expressRouter.route(route)[method](controller);
            }
            else {
                this.expressRouter.route(route)[method](middleware, controller);
            }
        };
        /**
         * Assing the router
         * @param controller
         * @param method
         * @returns {function(any, any): undefined}
         * @public
         */
        ExRouter.prototype.in = function (controller, method) {
            if (controller == null || method == null)
                return function () {
                };
            var lam = function (req, res, next) {
                var user = new controller();
                user[method](req, res, next);
            };
            return lam;
        };
        return ExRouter;
    })(DDolly.Dolly);
    Dollyjs.ExRouter = ExRouter;
})(Dollyjs || (Dollyjs = {}));
module.exports = Dollyjs;
//# sourceMappingURL=ExRouter.js.map