このプロジェクトについて
getorset-anythingは、Mapまたはプレーンオブジェクトでキーを検索し、キーが存在しない場合に初期値を作成するという一般的なパターンをラップした小さなnpmパッケージです。READMEでは、Mapが配列を保持し、呼び出し側がundefinedをチェックし、空の配列を作成して設定し、その後pushする必要がある例を用いて動機を説明しています。このパッケージは、その検索または初期化のステップを1回の呼び出しで行うmapGetOrSet関数とobjGetOrSet関数を提供します。
使用法はMapとオブジェクトの両方について示されています。Mapの場合、mapGetOrSet(map, 'abc', () => [])は既存の配列を返すか、新しい配列を作成して保存します。オブジェクトの場合、objGetOrSet(obj, 'abc', () => [])も同様に行います。READMEは、実装が値が見つかった場合に別のhas()チェックを避け、即座に値を返すことを指摘しており、これはパフォーマンス上の考慮事項として提示されています。
TypeScriptサポートは中心的な機能です。READMEは、追加のセットアップが不要であると述べ、型推論が機能することを示しています。ファクトリの戻り値の型はMapまたはオブジェクトの値の型と一致する必要があり、返される値はその型を保持します。例では、正しいファクトリがnumber[]を返し、誤ったファクトリがオブジェクトを返す場合に型チェッカーが拒否すること、またnumber配列に文字列をpushしようとすると型エラーが発生することが示されています。
このパッケージは、同じ作者による小さなTypeScriptユーティリティ群の一部であり、is-what、is-where、merge-anything、check-anything、remove-anything、map-anything、filter-anything、copy-anything、case-anything、flatten-anything、nestify-anythingなどが含まれます。インストールはnpm i getorset-anythingで行います。READMEには、ランタイム依存関係、バンドルサイズ、ベンチマーク、ブラウザサポートについての記述はなく、TypeScriptに焦点を当てています。
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.