73 lines
1.7 KiB
TypeScript
73 lines
1.7 KiB
TypeScript
declare module FOS {
|
|
export interface RouteDefaults {
|
|
[index:string]:string;
|
|
}
|
|
|
|
export interface RouteRequirements {
|
|
[index:string]:string;
|
|
}
|
|
|
|
export interface RouteParams {
|
|
[index:string]:any;
|
|
}
|
|
|
|
export interface QueryParamAddFunction {
|
|
(prefix:string,params:any):void;
|
|
}
|
|
|
|
export interface Route {
|
|
tokens:string[][];
|
|
defaults:RouteDefaults;
|
|
requirements:RouteRequirements;
|
|
hosttokens:string[];
|
|
}
|
|
|
|
export interface RoutesMap {
|
|
[index:string]:Route;
|
|
}
|
|
|
|
export interface Context {
|
|
base_url:string;
|
|
}
|
|
|
|
export interface RoutingData {
|
|
base_url:string;
|
|
routes:RoutesMap;
|
|
prefix?:string;
|
|
host:string;
|
|
scheme:string;
|
|
}
|
|
|
|
export interface Router {
|
|
new(opt_context?:Context, opt_routes?:RoutesMap):Router;
|
|
setRoutingData(data:RoutingData):void;
|
|
setRoutes(routes:RoutesMap):void;
|
|
getRoutes():RoutesMap;
|
|
setBaseUrl(base_url:string):void;
|
|
getBaseUrl():string;
|
|
setPrefix(prefix:string):void;
|
|
setScheme(scheme:string):void;
|
|
getScheme():string;
|
|
setHost(host:string):void;
|
|
getHost():string;
|
|
|
|
/**
|
|
* Builds query string params added to a URL.
|
|
* Port of jQuery's $.param() function, so credit is due there.
|
|
*/
|
|
buildQueryParams(prefix:string,params:any,add:QueryParamAddFunction):void;
|
|
|
|
/**
|
|
* Returns a raw route object.
|
|
*/
|
|
getRoute(name:string):Route;
|
|
|
|
/**
|
|
* Generates the URL for a route.
|
|
*/
|
|
generate(name:string,opt_params?:RouteParams,absolute?:boolean):string;
|
|
}
|
|
}
|
|
|
|
declare var Routing:FOS.Router;
|