Przejdź do głównej zawartości

Kod TypeScript

TypeScript jest domyślnym językiem bloku Kod. Adnotacje typów są usuwane na etapie kompilacji, a następnie kod wykonuje się w silniku QuickJS.

SymbolRola
inputWartość odebrana na porcie wejściowym
varsMigawka zmiennych uruchomienia tylko do odczytu
__varsWidok do odczytu i zapisu: get, set, has, delete, clear, keys, toObject
console.log / .info / .warn / .errorZapisuje w dzienniku wykonania
fetch(...)Wywołanie HTTP, kierowane przez zaporę
returnZwrócona wartość trafia na port result

Treść jest opakowana w funkcję asynchroniczną: return i await działają na najwyższym poziomie.

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

Dostępna jako zmienna globalna oraz przez require(), bez deklarowania czegokolwiek w packages:

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

require() na module, który nie jest dostępny, zgłasza jednoznaczny błąd.

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

Wywołanie przechodzi przez zaporę tak jak każdy inny ruch i zostaje przerwane przy zatrzymaniu wykonania albo przy przekroczeniu limitu czasu.

Deklaruje się je w packages (npm); są pakowane raz, a potem montowane offline.

To samo środowisko udostępnia warstwy pm.* i bru.* — zob. Kod JavaScript.