cURL a TypeScript

Transforma cURL en fetch tipado en TypeScript.

{{ curlToTypescript.message }}

Descripción

Daniel Stenberg lanzó cURL en 1998, empezando como un proyecto personal llamado `httpget` para descargar tipos de cambio. El nombre fue evolucionando — primero `urlget`, luego `curl` — una abreviatura de Client URL que se quedó para siempre. Hoy curl está instalado en prácticamente todos los servidores Linux, Mac, dispositivos Android y sistemas Windows modernos, con estimaciones que apuntan a más de 20.000 millones de instalaciones activas. Eso lo convierte posiblemente en el software de línea de comandos más ubicuo del mundo. La sintaxis de flags que usamos hoy — `-H` para headers, `-d` para el cuerpo de la petición, `-X` para el método HTTP, `-u` para autenticación básica — se estableció en las primeras versiones y ha sobrevivido más de 25 años sin grandes cambios. Cuando una interfaz funciona así de bien, simplemente se queda.

TypeScript fue anunciado por Anders Hejlsberg en Microsoft en octubre de 2012, como respuesta a un problema real: desarrollar aplicaciones JavaScript a gran escala era doloroso sin tipado estático. Hejlsberg no era ningún novato en ese terreno — había creado Turbo Pascal a los 20 años, luego Delphi, luego C# y después TypeScript. La API `fetch`, que sustituyó a `XMLHttpRequest` como la forma moderna de hacer peticiones HTTP en el navegador y en Node.js, devuelve Promises y acepta un objeto con `method`, `headers` y `body`. En TypeScript, puedes tipar la respuesta esperada: `const data = await response.json() as MiTipo`, lo que hace el código más amigable con el autocompletado y más seguro durante el desarrollo — el compilador te avisa cuando intentas acceder a una propiedad que no existe en el tipo declarado.

En el trabajo diario de consumir APIs, la documentación casi siempre viene con un ejemplo en curl — es el formato universal que todos los proveedores usan, desde Stripe hasta GitHub. Pero cuando estás desarrollando en TypeScript, necesitas traducir ese curl manualmente a código compatible. Esto implica convertir los headers de `-H 'Content-Type: application/json'` a un objeto JavaScript, el cuerpo de `--data` al campo `body` de la petición, y el método de `-X POST` a `method: 'POST'`. Este conversor automatiza ese trabajo y genera un snippet listo para pegar en cualquier proyecto TypeScript, React, Next.js o Deno. El resultado usa `fetch` nativo, pero adaptarlo a Axios o ky es sencillo si prefieres una librería con retry automático e interceptores integrados.

Detalle técnico

Ideas claras antes de usar la herramienta

  • ¿Para qué sirve esta herramienta?: Funciona por completo en tu navegador: sirve para validar, formatear o convertir datos en el día a día.
  • ¿Se envían mis datos a algún servidor?: El procesamiento es local con JavaScript. No almacenamos lo que pegas en los campos de texto.
  • ¿Puedo usarlo con datos reales en producción?: Úsalo bajo tu responsabilidad. Para secretos (contraseñas, tokens), prefiere entornos controlados y políticas internas. Recuerda de revisar los contenidos generados. Nunca confies ciegamente en cosas que ves en internet.

Fragmento corto para probar

  • Debajo aparece también el ejemplo largo en "Fragmentos de Código"; pega esta versión corta: Ejemplo — curl 'https://api.example.com/orders' -H 'Accept: application/json'

Guía de la herramienta

  • Qué es cURL Representación concisa de configuración de request HTTP.

  • Qué es TypeScript y dónde se usa TypeScript añade tipos estáticos a JavaScript y es común en frontend moderno y Node.

  • Qué objeto manipula la herramienta Comando cURL convertido a snippet TypeScript tipado con fetch.

  • Qué hace la herramienta Genera request tipado con headers y parseo de respuesta.

Fragmentos de Código

Ejemplo de código
curl 'https://api.example.com/orders' -H 'Accept: application/json'

Ejemplo

curl 'https://api.example.com/orders' -H 'Accept: application/json'

Preguntas frecuentes

¿Para qué sirve esta herramienta?

Funciona por completo en tu navegador: sirve para validar, formatear o convertir datos en el día a día.

¿Se envían mis datos a algún servidor?

El procesamiento es local con JavaScript. No almacenamos lo que pegas en los campos de texto.

¿Puedo usarlo con datos reales en producción?

Úsalo bajo tu responsabilidad. Para secretos (contraseñas, tokens), prefiere entornos controlados y políticas internas. Recuerda de revisar los contenidos generados. Nunca confies ciegamente en cosas que ves en internet.