UNPKG

@akala/core

Version:
50 lines (49 loc) 1.2 kB
/*! * router * Copyright(c) 2013 Roman Shtylman * Copyright(c) 2014 Douglas Christopher Wilson * MIT Licensed */ /** * Module dependencies. * @private */ import * as pathRegexp from 'path-to-regexp'; import { Route } from './route'; export interface LayerRegExp extends RegExp { fast_star?: boolean; fast_slash?: boolean; } export interface LayerOptions { end?: boolean; sensitive?: boolean; mergeParams?: boolean; strict?: boolean; length: number; } /** * Expose `Layer`. */ export declare class Layer<T extends Function> { private handler; name: string; params: any; path: string; protected regexp: LayerRegExp; keys: pathRegexp.Key[]; private isErrorHandler; private isRequestHandler; constructor(path: string, options: LayerOptions, fn: T); isApplicable<TRoute extends Route<T, this>>(req: any, route: TRoute): boolean; handle_error(error: any, ...args: any[]): void; handle_request(...args: any[]): void; /** * Check if this route matches `path`, if so * populate `.params`. * * @param {String} path * @return {Boolean} * @api private */ match(path: string): boolean; }