Lewati ke konten

Kode TypeScript

TypeScript adalah bahasa bawaan kotak Kode. Anotasi tipenya dibuang saat kompilasi, lalu kodenya dijalankan di dalam mesin QuickJS.

SimbolPeran
inputNilai yang diterima di port masukannya
varsSebuah potret baca-saja dari variabel run
__varsSebuah tampilan baca / tulis: get, set, has, delete, clear, keys, toObject
console.log / .info / .warn / .errorMenulis ke dalam log eksekusinya
fetch(...)Panggilan HTTP, yang dirutekan lewat firewall
returnNilai yang dikembalikan berangkat lewat port result

Badannya dibungkus di dalam sebuah fungsi asinkron: return dan await berfungsi di tingkat teratas.

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

Tersedia sebagai variabel global dan melalui require(), tanpa perlu mendeklarasikan apa pun di dalam packages:

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

Sebuah require() terhadap modul yang tidak tersedia akan melemparkan galat yang jelas.

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

Panggilannya melewati firewall sebagaimana lalu lintas lainnya, dan panggilan itu dihentikan ketika eksekusinya dihentikan atau batas waktunya terlampaui.

Deklarasikan di dalam packages (npm); paketnya dibundel sekali lalu dipasang tanpa koneksi.

Lingkungan yang sama mengekspos lapisan pm.* dan bru.* — lihat Kode JavaScript.