Solución

@maiquez·13/7/2026TypeScript
solution.tsTypeScript
from typing import Protocol

# Define el Protocol Saveable con el metodo save() -> str
# Luego define FileItem y DatabaseItem que lo implementen
class Saveable(Protocol):
    def save(self)-> str: ...

class FileItem:
    def __init__(self, ftype: str, name: str)-> None:
        self.ftype = ftype
        self.name = name

    def save(self)-> str:
        return f"Saved file: {self.name}"

class DatabaseItem:
    def __init__(self, dtype: str, name: str)-> None:
        self.dtype = dtype 
        self.name = name 
    
    def save(self)-> str:
        return f"Saved db: {self.name}"


def save_all(items_data: list[dict]) -> list[str]:
    # Crea los objetos segun items_data["type"] y retorna la lista de resultados de save()
    object_list = []

    for item in items_data:
        if item.get("type") == "file":
            obj = FileItem(item.get("type"), item.get("name"))

        elif item.get("type") == "db":
            obj = DatabaseItem(item.get("type"), item.get("name"))

        else:
            print("ERROR")

        object_list.append(obj.save())

    return object_list
0respuestas
Respuestas

Aún no hay respuestas

¡Sé el primero en responder!

Escribir un comentario

Recuerda ser amable. Estás comentando la solución de otra persona. Comparte tu perspectiva de forma constructiva y respetuosa.

Debes iniciar sesión para publicar un comentario.