Tovább a tartalomhoz

TypeScript-kód

A TypeScript a Kód blokk alapértelmezett nyelve. A típusannotációk a fordításnál eltűnnek, majd a kód a QuickJS motorban fut.

SzimbólumSzerep
inputA bemeneti porton kapott érték
varsA futásváltozók csak olvasható pillanatképe
__varsÍrható-olvasható nézet: get, set, has, delete, clear, keys, toObject
console.log / .info / .warn / .errorA futtatási naplóba ír
fetch(...)HTTP-hívás, a tűzfalon átvezetve
returnA visszaadott érték a result portra kerül

A törzs egy aszinkron függvénybe van csomagolva: a return és az await a legfelső szinten is működik.

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

Globális változóként és a require() révén is elérhető, anélkül hogy bármit deklarálni kellene a packages mezőben:

GlobálisCsomag
_, 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 };

A nem elérhető modulra hívott require() kifejezett hibát vet.

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

A hívás a tűzfalon megy át, mint bármely más forgalom, és megszakad a futtatás leállításakor vagy az időkorlát túllépésekor.

A packages mezőben kell deklarálni őket (npm); egyszer bundle-be kerülnek, majd offline csatolódnak be.

Ugyanez a környezet elérhetővé teszi a pm.* és a bru.* réteget — lásd: JavaScript-kód.