Skip to content

cond

INFO

この関数は互換性のために es-toolkit/compat からのみインポートできます。代替可能なネイティブ JavaScript API があるか、まだ十分に最適化されていないためです。

es-toolkit/compat からこの関数をインポートすると、lodash と完全に同じように動作します。

条件を順番にチェックしながら、一致する条件を見つけてその関数を実行する関数を作成します。

各ペアは条件をチェックする関数と実行する関数で構成されています。 条件関数を順番に実行し、trueを返す条件が見つかるまでチェックします。 trueを返す条件が見つかると、対応する関数を実行してその結果を返します。 すべての条件がfalseを返した場合はundefinedを返します。

インターフェース

typescript
function cond(pairs: any[][]): (...args: any[]) => unknown;

パラメータ

  • pairs (Array): 条件をチェックする関数と実行する関数のペア。

戻り値

((...args: any[]) => unknown): 条件をチェックして一致する関数を実行する新しい合成関数。

typescript
const func = cond([
  [matches({ a: 1 }), constant('matches A')],
  [conforms({ b: isNumber }), constant('matches B')],
  [stubTrue, constant('no match')],
]);

func({ a: 1, b: 2 });
// => 'matches A'

func({ a: 0, b: 1 });
// => 'matches B'

func({ a: '1', b: '2' });
// => 'no match'

MIT ライセンスの下で配布されています。