Todos los retos

TypeScript · fácil

Haz el documento

#24

Situación

Facturación usa el mismo generador para facturas y abonos, pero ahora todas las llamadas producen una factura. Por eso un abono vuelve a cobrar al cliente en vez de devolverle el importe.

Objetivo

Construye el documento que corresponda al tipo pedido: las facturas mantienen el total positivo y los abonos lo vuelven negativo. makeDoc("invoice", 10){ type: "invoice", total: 10 }; makeDoc("credit", 10){ type: "credit", total: -10 }.

El repo al empezar

workspace/
└── src/
    └── docs.ts   (always builds an invoice)

Checks que pondrás en verde

  • exporta makeDoc
  • invoice mantiene total positivo
  • credit niega el total

Conceptos

unionsfunctions

Juégalo en tu terminal

Con sharpen instalado, este comando abre exactamente este reto en tu arena local:

sharpen 24

¿Primera vez? La instalación completa está justo debajo.

Cómo jugar

  1. 1 Instala Claude Code si aún no lo tienes: claude.com/claude-code
  2. 2 Instala sharpen desde npm:
    npm install -g @juanwmedia/sharpen
  3. 3 Y lánzala; la arena se abre en tu navegador:
    sharpen 24
  4. o O pruébala sin instalar nada:
    npx @juanwmedia/sharpen 24
  5. 4 Y para actualizar cuando salga una versión nueva:
    sharpen update