@pulzar/core
Version:
Next-generation Node.js framework for ultra-fast web applications with zero-reflection DI, GraphQL, WebSockets, events, and edge runtime support
46 lines • 1.68 kB
TypeScript
import { Request, Response, NextFunction } from "express";
import { I18nContext } from "./i18n";
export interface I18nMiddlewareOptions {
queryParam?: string;
cookieName?: string;
headerName?: string;
defaultLanguage?: string;
setCookie?: boolean;
cookieOptions?: {
maxAge?: number;
secure?: boolean;
httpOnly?: boolean;
sameSite?: "strict" | "lax" | "none";
domain?: string;
path?: string;
};
}
export declare class I18nMiddleware {
private options;
constructor(options?: I18nMiddlewareOptions);
/**
* Express middleware for i18n
*/
middleware(): (req: Request, res: Response, next: NextFunction) => void;
/**
* Parse Accept-Language header
*/
private parseAcceptLanguage;
/**
* Get current options
*/
getOptions(): Required<I18nMiddlewareOptions>;
/**
* Update options
*/
updateOptions(options: Partial<I18nMiddlewareOptions>): void;
}
export declare const i18nMiddleware: I18nMiddleware;
export declare function createI18nMiddleware(options?: I18nMiddlewareOptions): (req: Request, res: Response, next: NextFunction) => void;
export declare function getI18nContext(req: Request): I18nContext;
export declare function getTranslationFunction(req: Request): any;
export declare function getCurrentLanguage(req: Request): string;
export declare function languageChangeMiddleware(): (req: Request, res: Response, next: NextFunction) => Promise<Response<any, Record<string, any>>>;
declare const _default: (req: Request, res: Response, next: NextFunction) => void;
export default _default;
//# sourceMappingURL=middleware.d.ts.map