Solución

@estouchedisindo·20/5/2026TypeScript
solution.tsTypeScript
interface ServerConfig {
  host?: string;
  port?: number;
}

interface DeepConfig {
  server: ServerConfig;
  timeout: number;
}

export function deepMerge(base: DeepConfig, override: Partial<DeepConfig>): DeepConfig {
  // Fusiona los dos objetos haciendo merge profundo manual con spread para la propiedad anidada server
  // return {
  //   timeout: base.timeout,
  //   server: Object.assign({}, base.server),
  // };
  const { timeout, server: { ...server} } = base;
  const overrideTimeout = override.timeout;

  return {
    server: {...server,...override.server},
    timeout: overrideTimeout ?? timeout
  }
}
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.