Salta ai contenuti

Codice TypeScript

TypeScript è il linguaggio predefinito del riquadro Code. Le annotazioni di tipo vengono rimosse in fase di compilazione, poi il codice si esegue nel motore QuickJS.

SimboloRuolo
inputIl valore ricevuto sulla porta di input
varsUn’istantanea in sola lettura delle variabili di run
__varsUna vista in lettura / scrittura: get, set, has, delete, clear, keys, toObject
console.log / .info / .warn / .errorScrive nel log dell’esecuzione
fetch(...)Chiamata HTTP, instradata dal firewall
returnIl valore restituito parte sulla porta result

Il corpo è racchiuso in una funzione asincrona: return e await funzionano al livello superiore.

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

Disponibile come variabile globale e tramite require(), senza dichiarare nulla in packages:

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

Un require() su un modulo non disponibile solleva un errore esplicito.

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

La chiamata passa dal firewall come qualsiasi altro traffico, e viene interrotta all’arresto dell’esecuzione o al superamento del timeout.

Vanno dichiarati in packages (npm); vengono impacchettati una volta e poi montati offline.

Lo stesso ambiente espone i livelli pm.* e bru.* — si veda Codice JavaScript.