Mã TypeScript
TypeScript là ngôn ngữ mặc định của chiếc hộp Code. Các chú thích kiểu bị gỡ bỏ lúc biên dịch, rồi mã chạy trong cỗ máy QuickJS.
| Ký hiệu | Vai trò |
|---|---|
input | Giá trị nhận được trên cổng vào |
vars | Một ảnh chụp chỉ đọc của các biến trong lần chạy |
__vars | Một khung nhìn đọc / ghi: get, set, has, delete, clear, keys, toObject |
console.log / .info / .warn / .error | Ghi vào nhật ký của lần chạy |
fetch(...) | Lời gọi HTTP, được tường lửa định tuyến |
return | Giá trị trả về đi ra cổng result |
Phần thân được bọc trong một hàm bất đồng bộ: return và await hoạt động
được ở mức trên cùng.
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 };Thư viện tích hợp
Section titled “Thư viện tích hợp”Dùng được ở dạng biến toàn cục và qua require(), không cần khai báo gì
trong packages:
| Toàn cục | Gói |
|---|---|
_, lodash | lodash |
moment | moment |
uuid | uuid |
nanoid | nanoid |
CryptoJS | crypto-js |
Ajv | ajv |
ajvFormats | ajv-formats |
chai, expect, assert | chai |
cheerio | cheerio |
xml2js | xml2js |
const signature = CryptoJS.HmacSHA256(input.corps, vars.secret).toString();return { signature };Một require() tới một module không có sẵn sẽ ném ra một lỗi rõ ràng.
Chờ và gọi
Section titled “Chờ và gọi”const reponse = await fetch(`${vars.baseUrl}/sante`);const corps = await reponse.json();if (corps.statut !== 'ok') throw new Error(`état ${corps.statut}`);return corps;Lời gọi đi qua tường lửa như mọi lưu lượng khác, và nó bị ngắt khi lần chạy bị dừng hoặc khi quá thời hạn.
Gói bên ngoài
Section titled “Gói bên ngoài”Hãy khai báo chúng trong packages (npm); chúng được đóng gói một lần rồi được
gắn vào ở chế độ ngoại tuyến.
Tương thích với Postman và Bruno
Section titled “Tương thích với Postman và Bruno”Cùng một môi trường đó phơi ra các lớp pm.* và bru.* — xem
Mã JavaScript.