Bien, ahora es momento de pasar al bucle. Bien, entendimos cómo podemos crear if, y else. Ahora, es momento de entender cómo podemos iterar tipos para extraer datos. En cada uno, tienes un tipo, un tipo de usuario que es un array que contiene para cada elemento del array la definición de columna. En este caso, nombre, primer nombre, y valor, nombre, apellido, el valor es string, y nombre, rol puede ser manager o empleado. Queremos crear una especie de get column que pueda ser usado de esta manera. Queremos pasar una tabla de usuario y el nombre del valor, y devolver la definición de esa columna si existe. ¿Cómo podemos hacer eso? Usando el bucle. Desafortunadamente, en TypeScript, no podemos iterar, pero podemos usar recursión. Entonces, ¿cómo podemos hacer eso? Usando lista. Podemos verificar si lista extiende un array, y queremos tomar el primer elemento del array, y básicamente esparcir el resto del array dentro del resto. Primero, ahora tenemos que verificar si primero extiende una columna con nuestro nombre específico. Si es así, podemos devolver primero, de lo contrario, queremos iterar la lista, el resto de la lista.
¿Cómo podemos hacer eso? Podemos llamar de nuevo, get column. Pero esta vez, no pasamos una lista, sino que pasamos el resto de la columna que no hemos verificado aún con el mismo nombre. Esto, como puedes imaginar, es una especie de recursión que, en algún punto, esta lista, si no tienes ninguna columna con ese nombre, devolverás never. De lo contrario, en algún punto, devolverás el primero, y este es el resultado. Básicamente, también puedes crear otro tipo de bucle, más simple. Por ejemplo, en este caso, podemos usar append. Tienes una tupla y el elemento usando el spread. Básicamente, puedes crear otro tipo con la primera parte del array y el nuevo elemento. En este caso, tenemos uno, dos, tres, y cuatro, y el resultado es uno, dos, tres, cuatro. Si tienes un array vacío, puedes pasar cuatro. Si tienes muchos, puedes tener muchos y muchos, y blah, blah. También puedes mezclar. Puedes crear, encontrar, filtrar, lo que quieras. Esto es solo una cuestión de lo que necesitas hacer, y puedes crear tu propio tipo condicional de TypeScript para crear otros tipos.
Otra parte importante, cuando trabajamos con TypeScript, queremos trabajar con tipos de objetos, y queremos manipularlos. Lo que queremos hacer es eliminar un campo, añadir un campo, o eliminar la condición opcional, o hacer todo opcional, o añadir solo lectura, y blah, blah. Para hacer eso, debemos conocer solo dos cosas importantes en TypeScript, la clave de una palabra clave y el tipo de mapeador.
Comments