Ga naar inhoud

TypeScript-code

TypeScript is de standaardtaal van het vakje Code. De typeannotaties worden bij het compileren verwijderd, en daarna draait de code in de QuickJS-engine.

SymboolRol
inputDe waarde die op de invoerpoort is ontvangen
varsEen momentopname alleen-lezen van de runvariabelen
__varsEen weergave met lezen en schrijven: get, set, has, delete, clear, keys, toObject
console.log / .info / .warn / .errorSchrijft naar het uitvoeringslogboek
fetch(...)HTTP-aanroep, gerouteerd door de firewall
returnDe teruggegeven waarde gaat naar de poort result

De body wordt in een asynchrone functie gewikkeld: return en await werken op het bovenste niveau.

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 };

Beschikbaar als globale variabele en via require(), zonder dat u iets in packages hoeft te declareren:

GlobaalPakket
_, 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 };

Een require() op een module die niet beschikbaar is, werpt een expliciete fout.

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

De aanroep gaat door de firewall net als al het andere verkeer, en wordt afgebroken wanneer de uitvoering stopt of de timeout wordt overschreden.

Declareer ze in packages (npm); ze worden één keer gebundeld en daarna offline aangekoppeld.

Dezelfde omgeving biedt de lagen pm.* en bru.* — zie JavaScript-code.