Esta lição irá mostrar a você como criar um tubo personalizado. Neste caso, um tubo que calcula e exibe a média de uma matriz. Os tubos são usados em modelos angulares para alterar os dados em um formato diferente antes de ser exibido para o usuário. O Angular fornece alguns tubos embutidos diferentes para lidar com a formatação de dados para tipos populares como oitavos, moeda ou porcentagens, bem como revestimento para cordas. Às vezes, você pode precisar criar um tubo personalizado para lidar com a formatação de dados repetida para seus casos de uso específicos. O Angular CLI fornece um esquema para criar esses tubos personalizados. Então, em uma janela de terminal no diretório do aplicativo, você pode executar o comando: ng generate pipe, e o nome do seu tubo. Portanto, este tubo vai receber uma série de números e, em seguida, produza a média dessa matriz. E este comando irá gerar dois arquivos diferentes: um para a classe de pipe e o outro é o arquivo de teste. Ele também modifica o arquivo app.module para declarar o tubo que você acabou de gerar para que possa ser usado no aplicativo. Então, abrindo o arquivo de classe pipe que foi gerado, e isso estará na pasta do aplicativo. Portanto, o arquivo tem este decorador de tubo aqui, e então o seletor que está definido aqui nos metadados é como esse tubo será chamado a partir do modelo. Então, este método de transformação que está definido aqui é o método que o Angular vai chamar quando encontra este tubo. O primeiro parâmetro, valor, é o que está sendo passado para o tubo. Nesse caso, será a matriz de números. E aqui eu defino esse tipo para o valor. Parâmetros opcionais também podem ser definidos para configurar como transformar esse valor. Então, para este tubo, vou adicionar uma variável chamada round, qual será o número de casas decimais para arredondar a média para. E vou definir o valor padrão para este parâmetro opcional para dois. A seguir, adicionarei o código a este método que calcula a média da matriz. Então aqui eu criei uma variável para manter a soma dos elementos e inicializou isso para zero. E, em seguida, percorrendo cada elemento da matriz, vai adicionar o valor desse elemento ao total. E então, no final, ele divide esse total pelo comprimento da matriz de valor. E então, para completar esta função, basta retornar a média arredondada. Agora, com o tubo personalizado concluído, Vou abrir essa classe de componente principal do aplicativo e definir rapidamente uma matriz de números aleatórios para usar. E então, no modelo, Vou passar essa matriz para o tubo personalizado. E mudar para o navegador, você pode ver que a média calculada está sendo exibida aqui, e está sendo arredondado para as duas casas decimais padrão já que não passei esse parâmetro opcional. Agora, voltando ao modelo, Vou passar esse parâmetro opcional e aqui vou definir isso para quatro. E agora voltando para o navegador, essa média agora está sendo exibida arredondado para quatro casas decimais em vez dos dois padrão. Então isso é tudo para esta lição sobre a criação de um tubo personalizado. E na próxima lição, você aprenderá como criar uma diretiva de atributo personalizada.