Ir al contenido

Código TypeScript

TypeScript es el lenguaje por defecto de la caja Código. Las anotaciones de tipo se eliminan en la compilación y después el código se ejecuta en el motor QuickJS.

SímboloFunción
inputEl valor recibido en el puerto de entrada
varsUna instantánea de solo lectura de las variables de ejecución
__varsUna vista de lectura / escritura: get, set, has, delete, clear, keys, toObject
console.log / .info / .warn / .errorEscribe en el registro de la ejecución
fetch(...)Llamada HTTP, encaminada por el cortafuegos
returnEl valor devuelto sale por el puerto result

El cuerpo se envuelve en una función asíncrona: return y await funcionan en el nivel superior.

interface Commande {
id: number;
montant: number;
statut: 'payee' | 'attente' | 'annulee';
}
const commandes = input as Commande[];
const payees = commandes.filter((c) => c.statut === 'payee');
const total = payees.reduce((s, c) => s + c.montant, 0);
console.log(`${payees.length} commandes payées, total ${total}`);
__vars.set('totalPaye', total);
return { nombre: payees.length, total };

Disponible como variable global y mediante require(), sin necesidad de declarar nada en packages:

GlobalPaquete
_, lodashlodash
momentmoment
uuiduuid
nanoidnanoid
CryptoJScrypto-js
Ajvajv
ajvFormatsajv-formats
chai, expect, assertchai
cheeriocheerio
xml2jsxml2js
const signature = CryptoJS.HmacSHA256(input.corps, vars.secret).toString();
return { signature };

Un require() sobre un módulo no disponible lanza un error explícito.

const reponse = await fetch(`${vars.baseUrl}/sante`);
const corps = await reponse.json();
if (corps.statut !== 'ok') throw new Error(`état ${corps.statut}`);
return corps;

La llamada pasa por el cortafuegos igual que cualquier otro tráfico, y se interrumpe al detener la ejecución o al agotarse el tiempo de espera.

Declárelos en packages (npm); se empaquetan una vez y después se montan sin conexión.

El mismo entorno expone las capas pm.* y bru.*: consulte Código JavaScript.