typestar

Memoize tipado en TypeScript

Memoización que mantiene intacta la firma original.

function memoize<A extends unknown[], R>(
  fn: (...args: A) => R,
): (...args: A) => R {
  const cache = new Map<string, R>();
  return (...args: A): R => {
    const key = JSON.stringify(args);
    if (!cache.has(key)) {
      cache.set(key, fn(...args));
    }
    return cache.get(key) as R;
  };
}

Palabras clave y builtins usados aquí

El intento, en números

Líneas
12
Caracteres a escribir
272
Tokens
103
Ritmo de tres estrellas
105 tpm

Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 59 segundos.

Escribe este fragmento

Paso 1 de 5 en Tiempo y memoria; paso 14 de 19 en Clases y patrones.

← Anterior Siguiente →