Aller au contenu

Kodi TypeScript

TypeScript është gjuha e parazgjedhur e kutisë Code. Shënimet e tipave hiqen gjatë përpilimit dhe pastaj kodi ekzekutohet brenda motorit QuickJS.

SimboliRoli
inputVlera e marrë mbi portën e hyrjes
varsNjë fotografi vetëm për lexim e variablave të ekzekutimit
__varsNjë pamje për lexim / shkrim: get, set, has, delete, clear, keys, toObject
console.log / .info / .warn / .errorShkruan brenda regjistrit të ekzekutimit
fetch(...)Thirrje HTTP, e drejtuar nga muri i zjarrit
returnVlera e kthyer niset mbi portën result

Trupi mbështillet brenda një funksioni asinkron: return dhe await funksionojnë në nivelin e sipërm.

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

E disponueshme si variabël globale dhe përmes require(), pa deklaruar asgjë brenda packages:

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

Një require() mbi një modul të padisponueshëm lëshon një gabim të qartë.

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

Thirrja kalon përmes murit të zjarrit si çdo trafik tjetër dhe ndërpritet kur ndalon ekzekutimi ose kur tejkalohet koha.

Deklarojini brenda packages (npm); ato paketohen një herë dhe pastaj ngrihen jashtë linje.

I njëjti mjedis ekspozon shtresat pm.* dhe bru.* — shihni Kodin JavaScript.