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 };組み込みライブラリ
Section titled “組み込みライブラリ”グローバル変数として、そして 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() すると、明示的なエラーが発生します。
待機と呼び出し
Section titled “待機と呼び出し”const reponse = await fetch(`${vars.baseUrl}/sante`);const corps = await reponse.json();if (corps.statut !== 'ok') throw new Error(`état ${corps.statut}`);return corps;この呼び出しは他のトラフィックと同じように ファイアウォール を通り、実行を停止したときやタイムアウトしたときには中断されます。
外部パッケージ
Section titled “外部パッケージ”packages(npm)に宣言してください。一度バンドルされたあとは、オフラインでマウントされます。
Postman と Bruno の互換性
Section titled “Postman と Bruno の互換性”同じ実行環境が pm.* と bru.* のレイヤーも公開します。
JavaScript コード を参照してください。