tipos - VWJavascript/Alurapic GitHub Wiki

Trabalhando ainda mais com os tipos do typescript

Será que acabamos? Se você reparar bem, qual é o retorno do método transform? Lembre-se que é uma lista de fotos. Podemos tipar também o retorno do método!

// alurapic/client/app/foto/pipes/filtro-por-titulo.ts 
import {Pipe, PipeTransform} from '@angular/core';
import { FotoComponent } from './foto.component';

@Pipe({
    name: 'filtroPorTitulo'
})
export class FiltroPorTitulo implements PipeTransform {

    transform(fotos: FotoComponent[], digitado: string): FotoComponent[] {

        digitado = digitado.toLowerCase();
        return fotos.filter( foto => foto.titulo.toLowerCase().includes(digitado));
    }
}

Se por acaso alguém guardar o retorno do método transform em uma variável que não seja um Array de fotos, o compilador do TypeScript nos avisará.