Files
my-links/src/extensions.ts

26 lines
625 B
TypeScript

import { getRoute } from '#lib/tuyau';
import { QueryParams } from '#types/query_params';
import { RouteName, RouteParams } from '#types/tuyau';
import { Response } from '@adonisjs/core/http';
type RouteOptions = {
params?: RouteParams;
} & QueryParams;
declare module '@adonisjs/core/http' {
export interface Response {
redirectToNamedRoute: (
routeName: RouteName,
options?: RouteOptions
) => void;
}
}
Response.macro(
'redirectToNamedRoute',
function (this: Response, routeName, options) {
const route = getRoute(routeName, options);
this.redirect().toRoute(route.path, route.params, options);
}
);