引数をパラメーターに簡単にマッピングできるJavaScriptモジュールはありますか?これが私がそれが機能することをどのように想像するかです:
var arguments = assertArguments(arguments、'p1'、'p2'、[{'p3':0}、'p4']、{'p5':'unknown'});
関数内でこれを呼び出して、パラメーターを引数に関連付けたオブジェクトを生成します。配列またはインラインオブジェクト内で定義されたパラメータはオプションと見なされ、インラインオブジェクトはデフォルト値の割り当てを許可します。他のすべてのパラメーターは「必須」と見なされます。
ここにいくつかのサンプル入力/出力があります:
foo(1): { p1: 1, p3: 0, p5: 'unknown' } // no p2 (aka undefined)
foo(1, 2): { p1: 1, p2: 2, p3: 0, p5: 'unknown' }
foo(1, 2, 3): { p1: 1, p2: 2, p3: 0, p4: 3, p5: 'unknown' }
foo(1, 2, 3, 4): { p1: 1, p2: 2, p3: 3, p4: 4, p5: 'unknown' }
foo(1, 2, 3, 4, 5): { p1: 1, p2: 2, p3: 3, p4: 4, p5: 5 }
このようなライブラリがすでに存在することを望んでいます。この論理は何度も繰り返されるので、可能であれば排除したいと思います。
このような図書館を知っている人はいますか?そうでない場合、誰かが私を実装するための正しい道に送ってくれますか?