
Francisco Manuel Velásquez Escobar
PreguntaHola, la clase PipeTransform para que es implementada? la he quitado luego de que esta me diera error a través de la consola: “error TS2304: Cannot find name ‘PipeTransform’.”, sin embargo luego de quitarla todo sigue funcionando bien.
implements PipeTransform```

José Julio Quinga Moreno
Esta es la definición de la interfaz PipeTransform (Angular 6):
/** * To create a Pipe, you must implement this interface. ... ... ... **/ export interface PipeTransform { transform(value: any, ...args: any[]): any; }

José Julio Quinga Moreno
Hola! Es por el concepto de programación orientada a objetos llamado interfaces. En este caso con TypeScript mediante la palabra reservada “implements”, y en este caso dentro de nuestro propio pipe, sirve para saber que hay un método “transform” que forma parte de un contrato llamado “PipeTransform”, que tiene un método “transform” Tú haces la implementación de “transform” en tu propia clase. Las interfaces son clases que únicamente tienen métodos vacíos, sin implementación, que sirven como contrato o modelo para otras clases. De otra manera, si dejas la clase LinkifystrPipe con un método “transform”, sin decir “de qué contrato proviene”, no se sabe de dónde es que salió ese método. ¿Porqué funciona? porque no es obligatorio implementar interfaces; es más como nomenclatura, orientación, organización y saber de dónde viene cada cosa