TypeScript-kode
TypeScript er standardspråket i Kode-boksen. Typeannotasjonene fjernes ved kompilering, og deretter kjører koden i QuickJS-motoren.
API-et
Section titled “API-et”| Symbol | Rolle |
|---|---|
input | Verdien som kommer inn på inngangsporten |
vars | Et skrivebeskyttet øyeblikksbilde av run-variablene |
__vars | En lese-/skrivevisning: get, set, has, delete, clear, keys, toObject |
console.log / .info / .warn / .error | Skriver til kjøringsloggen |
fetch(...) | HTTP-kall, rutet gjennom brannmuren |
return | Verdien som returneres, går ut på result-porten |
Kroppen pakkes inn i en asynkron funksjon: return og await fungerer på
øverste nivå.
Eksempel
Section titled “Eksempel”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 };Innebygd bibliotek
Section titled “Innebygd bibliotek”Tilgjengelig som global variabel og via require(), uten at du trenger å
deklarere noe i packages:
| Global | Pakke |
|---|---|
_, 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 };En require() på en modul som ikke er tilgjengelig, gir en tydelig feilmelding.
Vente og kalle
Section titled “Vente og kalle”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.
Eksterne pakker
Section titled “Eksterne pakker”Deklarer dem i packages (npm); de pakkes sammen én gang og monteres deretter
offline.
Postman- og Bruno-kompatibilitet
Section titled “Postman- og Bruno-kompatibilitet”Det samme miljøet eksponerer pm.*- og bru.*-lagene — se
JavaScript-kode.