Gå til innholdet

TypeScript-kode

TypeScript er standardspråket i Kode-boksen. Typeannotasjonene fjernes ved kompilering, og deretter kjører koden i QuickJS-motoren.

SymbolRolle
inputVerdien som kommer inn på inngangsporten
varsEt skrivebeskyttet øyeblikksbilde av run-variablene
__varsEn lese-/skrivevisning: get, set, has, delete, clear, keys, toObject
console.log / .info / .warn / .errorSkriver til kjøringsloggen
fetch(...)HTTP-kall, rutet gjennom brannmuren
returnVerdien som returneres, går ut på result-porten

Kroppen pakkes inn i en asynkron funksjon: return og await fungerer på øverste nivå.

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

Tilgjengelig som global variabel og via require(), uten at du trenger å deklarere noe i packages:

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

En require() på en modul som ikke er tilgjengelig, gir en tydelig feilmelding.

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

Kallet går gjennom brannmuren som all annen trafikk, og det avbrytes når kjøringen stoppes eller tidsavbruddet inntreffer.

Deklarer dem i packages (npm); de pakkes sammen én gang og monteres deretter offline.

Det samme miljøet eksponerer pm.*- og bru.*-lagene — se JavaScript-kode.