Přeskočit na obsah

Kód TypeScript

TypeScript je výchozí jazyk bloku Kód. Typové anotace se při kompilaci odstraní a kód se pak spustí v enginu QuickJS.

SymbolRole
inputHodnota přijatá na vstupním portu
varsSnímek proměnných běhu jen pro čtení
__varsPohled pro čtení i zápis: get, set, has, delete, clear, keys, toObject
console.log / .info / .warn / .errorZapisuje do logu běhu
fetch(...)Volání HTTP směrované firewallem
returnNávratová hodnota odchází na port result

Tělo je obalené v asynchronní funkci: return a await fungují na nejvyšší úrovni.

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

K dispozici jako globální proměnná i přes require(), bez jakékoli deklarace v packages:

Globální proměnnáBalíček
_, 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 };

Volání require() na modul, který k dispozici není, vyvolá výslovnou chybu.

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

Volání prochází firewallem stejně jako jakýkoli jiný provoz a přeruší se při zastavení běhu nebo při překročení časového limitu.

Deklarujte je v packages (npm); zabalí se jednou a poté se připojují offline.

Totéž prostředí nabízí vrstvy pm.* a bru.* — viz Kód JavaScript.