更新情報
JavaScriptアクションのエラー形式を自由に指定できるようになりました!

ベースマキナの更新情報をお届けします。
JavaScriptアクションのエラー形式を指定するResultError classを追加
JavaScriptアクションのエラー形式を自由に指定するための ResultError classを追加しました。
これまで、JavaScriptアクションのエラーでは文字列を返すことしかできませんでした。例えば、以下のようにエラーをthrowするだけのJavaScriptアクションを実装した場合について考えます。
export default async () => {
throw new Error("エラーが発生しました!");
};
このとき、アクションの実行結果は下記のように表示されます。
これだけでも、エラー原因の調査目的としては十分な情報を返すことができます。
しかしながら、別のアクションを実行した結果を使ったロジックなどで失敗した場合、エラーの原因としてより詳細な情報を構造化して返したいこともあるでしょう。
その場合は、以下のように ResultError を利用できます。
import { ResultError } from "@basemachina/action";
export default async () => {
throw new ResultError({
msg: "エラーが発生しました!",
details: [
{
field: "A",
error: "Aが必要です",
},
{
field: "B",
error: "Bが必要です",
},
],
});
};
エラー内容の表示はアクションの実行に成功した時の結果同様、自動的に整形されます。
ResultErrorによって返されるアクションの実行結果は、以下のような目的で利用可能です。
-
アクションの実行結果の加工スクリプトを使って更に整形を行う
-
ビューやJavaScriptアクションからexecuteAction関数の呼び出し結果として使用する
この機能を活用することで、JavaScriptアクションで実装したジョブのエラー調査もより効率的に行えるようになります。
詳細についてはドキュメントの「JavaScriptアクションのエラーハンドリング」をご覧ください。