Reputation: 7318
I have express typings installed with typescript 1.8.10 and this code:
app.use( function( err, req, res, next ) {
if ( err.code !== 'EBADCSRFTOKEN' ) {
return next( err )
}
// handle CSRF token errors here
res.status( 403 )
res.send( 'form tampered with' )
} )
which is a middleware code to catch csrf errors produces these errors:
Error:(130, 10) TS2345: Argument of type '(err: Request, req: Response, res: NextFunction, next: any) => any' is not assignable to parameter of type 'string | RegExp | (string | RegExp)[]'. Type '(err: Request, req: Response, res: NextFunction, next: any) => any' is not assignable to type '(string | RegExp)[]'. Property '[Symbol.iterator]' is missing in type '(err: Request, req: Response, res: NextFunction, next: any) => any'.
Error:(131, 14) TS2339: Property 'code' does not exist on type 'Request'.
Error:(136, 9) TS2339: Property 'status' does not exist on type 'NextFunction'.
Error:(137, 9) TS2339: Property 'send' does not exist on type 'NextFunction'.
How to prevent this ?
Upvotes: 5
Views: 553
Reputation: 3567
This looks like a an issue with your types, so make sure you run npm install
to ensure you have all the correct dependencies.
Upvotes: 0