I\'m using Express and I\'m trying to explicitly define res.locals
. In the @types/express package, Express.Response.locals is any
, so I can\'t seem to
Unfortunately there is no way to override any using interface merging. You can so some surgery on the type and replace the type using mapped and conditional types:
import * as express from 'express'
type Omit = Pick>
type MyResponse = Omit & {
locals: {
myVar: number
}
}
function middleware(
req: express.Request,
res: MyResponse,
next: express.NextFunction
) {
res.locals.myVar = '10' // error now
next()
}