Eu consigo acessar através do for..of,
Mas através do forEach não consigo, a função não consegue entender que dentro do forEach está retornando uma função que é do tipo IHttpResponse.
interface IHttpResponse {
statusCode: number;
body: any;
}
const badRequest = (error: Error): IHttpResponse => ({
statusCode: 400,
body: error,
});
class Example {
handle(httpRequest: HttpRequest): IHttpResponse {
const requiredFields = ('name', 'email', 'password', 'passwordConfirmation');
// Aqui ele entende que o retorno de badRequest é um IHttpResponse
for (const field of requiredFields) {
if (!httpRequest.body(field)) {
return badRequest(new MissingParamError(field));
}
}
// Usando forEach ele não consegue entender que o retorno do badRequest é um IHttpResponse.
requiredFields.forEach((field) => {
if (!httpRequest.body(field)) {
return badRequest(new MissingParamError(field));
}
});
}
}