UNPKG

md-toy-blog

Version:

Very simple Markdown blog: serves your md as html without fancy databases. You will only spend time writing the actual data.

29 lines (20 loc) 863 B
export default class RouterService { constructor(private routes: RouteInterface<{ [k: string]: any; }>[]) {} resolve(request: HttpRequest) { const capableRoutes = this.routes.filter(route => route.canResolve(request)); if (capableRoutes.length <= 0) { return false; } const route = capableRoutes.shift(); if (typeof route === 'undefined') { return false; } const { instance: controller, actionParams, actionParamsGetter } = route.controller; const a = actionParams ? actionParams : {}; const b = actionParamsGetter ? actionParamsGetter({ request }) : {}; const c = route.getControllerActionParams ? route.getControllerActionParams({ request }) : {}; const params = [a, b, c].reduce((acc, p) => ({ ...acc, ...p, }), {}); const response = controller.action(params); return response; } }