import { waitForWu } from 'wu-framework/adapters/shared'; const wu = await waitForWu(); let release; wu.define('sumador', { mount(container, context) { container.innerHTML = `

Servicio de suma

Listo para recibir solicitudes.

`; const status = container.querySelector('[role="status"]'); release = context.wu.handle('ejemplo:suma', ({ a, b }, request) => { if (!Number.isFinite(a) || !Number.isFinite(b)) { throw new TypeError('Escribe dos números finitos.'); } const total = a + b; if (!Number.isFinite(total)) { throw new RangeError('La suma excede el rango numérico.'); } status.textContent = `Respondí a ${request.caller.appName}: ${a} + ${b} = ${total}`; return total; }, { version: '1.0.0', allow: ['cliente-suma'], }); }, unmount(container) { release?.(); release = undefined; container.replaceChildren(); }, });