TypeScript 程式碼
TypeScript 是 Code 方塊的預設語言。型別註記會 在編譯時被移除,接著程式碼便在 QuickJS 引擎中執行。
| 符號 | 用途 |
|---|---|
input | 從輸入連接埠收到的值 |
vars | 執行變數的唯讀快照 |
__vars | 一個可讀寫的檢視:get、set、has、delete、clear、keys、toObject |
console.log / .info / .warn / .error | 寫入執行記錄 |
fetch(...) | HTTP 呼叫,會經由防火牆路由 |
return | 回傳的值會走 result 連接埠送出 |
程式碼本體被包在一個非同步函式裡:return 與 await 在最上層就能使用。
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 };以下這些既可以當全域變數使用,也可以用 require() 載入,都不需要在
packages 裡宣告任何東西:
| 全域變數 | 套件 |
|---|---|
_, 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 };對一個無法取得的模組使用 require() 會拋出一個明確的錯誤。
const reponse = await fetch(`${vars.baseUrl}/sante`);const corps = await reponse.json();if (corps.statut !== 'ok') throw new Error(`état ${corps.statut}`);return corps;這個呼叫和其他任何流量一樣會經過防火牆,並且會在 執行被停止或逾時的時候中斷。
請在 packages 中宣告它們(npm);它們會被打包一次,之後便以離線方式掛載。
Postman 與 Bruno 相容性
Section titled “Postman 與 Bruno 相容性”同一個執行環境也公開 pm.* 與 bru.* 這兩層 — 請參閱
JavaScript 程式碼。