typestar

util y structuredClone en JavaScript

promisify para API de callbacks, y una copia profunda que maneja ciclos.

import { inspect, promisify } from "node:util";

function legacy(value, callback) {
  if (value < 0) return callback(new Error("negative"));
  return callback(null, value * 2);
}

const modern = promisify(legacy);
console.log(await modern(21));
console.log(await modern(-1).catch((error) => error.message));

const original = { when: new Date(0), tags: new Set(["a"]) };
original.self = original;
const copy = structuredClone(original);
console.log(copy.self === copy, copy.tags.has("a"), copy.when.getTime());

console.log(inspect({ nested: { deep: [1, 2] } }, { depth: 0 }));

Cómo funciona

  1. promisify convierte una función con callback de error primero.
  2. structuredClone copia Maps, Sets, Dates y ciclos.
  3. util.inspect es lo que console.log usa por debajo.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
17
Caracteres a escribir
573
Tokens
179
Ritmo de tres estrellas
105 tpm

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

Escribe este fragmento

Paso 2 de 3 en El proceso; paso 8 de 18 en Node.js.

← Anterior Siguiente →