forked from admin/family_budget
19 lines
609 B
TypeScript
19 lines
609 B
TypeScript
import { Request, Response, NextFunction } from 'express';
|
|
|
|
export function maskAccountNumber(num: string): string {
|
|
if (num.length <= 10) return num;
|
|
return num.slice(0, 6) + '*'.repeat(num.length - 10) + num.slice(-4);
|
|
}
|
|
|
|
export function escapeLike(input: string): string {
|
|
return input.replace(/\\/g, '\\\\').replace(/%/g, '\\%').replace(/_/g, '\\_');
|
|
}
|
|
|
|
type AsyncHandler = (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
|
|
export function asyncHandler(fn: AsyncHandler) {
|
|
return (req: Request, res: Response, next: NextFunction) => {
|
|
fn(req, res, next).catch(next);
|
|
};
|
|
}
|