コンテンツにスキップ

TypeScript コード

TypeScript は Code ボックスの デフォルト 言語です。 型注釈はコンパイル時に除去され、そのあとコードは QuickJS エンジンで実行されます。

シンボル役割
input入力ポートで受け取った値
vars実行変数の 読み取り専用 スナップショット
__vars読み書き可能 なビュー:getsethasdeleteclearkeystoObject
console.log / .info / .warn / .error実行ログに書き込みます
fetch(...)HTTP 呼び出し。ファイアウォール を経由します
return戻り値が result ポートに送られます

本体は非同期関数でラップされるため、returnawait はトップレベルで動作します

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 に何も宣言する必要はありません。

グローバルパッケージ
_, 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 };

利用できないモジュールを 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)に宣言してください。一度バンドルされたあとは、オフラインでマウントされます。

同じ実行環境が pm.*bru.* のレイヤーも公開します。 JavaScript コード を参照してください。