TypeScript-kod
TypeScript är standardspråket i rutan Kod. Typannotationerna tas bort vid kompileringen, och sedan körs koden i QuickJS-motorn.
API:et
Section titled “API:et”| Symbol | Roll |
|---|---|
input | Värdet som tas emot på ingångsporten |
vars | En skrivskyddad ögonblicksbild av körningsvariablerna |
__vars | En vy för läsning och skrivning: get, set, has, delete, clear, keys, toObject |
console.log / .info / .warn / .error | Skriver till körningsloggen |
fetch(...) | HTTP-anrop, som dirigeras av brandväggen |
return | Det returnerade värdet går ut på porten result |
Kroppen omsluts av en asynkron funktion: return och await fungerar på
toppnivå.
Exempel
Section titled “Exempel”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 };Inbyggt bibliotek
Section titled “Inbyggt bibliotek”Tillgängligt som global variabel och via require(), utan att du behöver
deklarera något i packages:
| Global | Paket |
|---|---|
_, lodash | lodash |
moment | moment |
uuid | uuid |
nanoid | nanoid |
CryptoJS | crypto-js |
Ajv | ajv |
ajvFormats | ajv-formats |
chai, expect, assert | chai |
cheerio | cheerio |
xml2js | xml2js |
const signature = CryptoJS.HmacSHA256(input.corps, vars.secret).toString();return { signature };Ett require() på en modul som inte är tillgänglig ger ett uttryckligt fel.
Vänta och anropa
Section titled “Vänta och anropa”const reponse = await fetch(`${vars.baseUrl}/sante`);const corps = await reponse.json();if (corps.statut !== 'ok') throw new Error(`état ${corps.statut}`);return corps;Anropet går via brandväggen som all annan trafik, och det avbryts när körningen stoppas eller när tidsgränsen överskrids.
Externa paket
Section titled “Externa paket”Deklarera dem i packages (npm); de paketeras en gång och monteras sedan
offline.
Kompatibilitet med Postman och Bruno
Section titled “Kompatibilitet med Postman och Bruno”Samma miljö exponerar skikten pm.* och bru.* — se
JavaScript-kod.