listByDomain の仕様
INFO
houki-abbreviations v0.7.1 の specs/current/list_by_domain/spec.md から自動生成しました(仕様 ID 5 件・2026-10-11)。手で編集しないでください。再生成は node scripts/generate-reference.mjs specs です。
指定した分野のエントリをすべて返す
使いどころ・引数・実測の呼び出し例は、関数のページにあります。
最後に仕様が変わったのは v0.6.1 の「テストが無いだけの振る舞いに仕様 ID を振る」(2026-09-27 承認)です。それまでの経緯は承認の履歴にあります。
利用者と得られる結果
この機能の利用者と、利用者が渡すもの・得られる結果を示します。
- houki-hub family の MCP サーバーと、このパッケージを import する利用者のコード。分野を渡して、その分野に属する辞書のエントリの一覧を受け取る
入力
呼び出すときに渡す値です。
| 引数 | 必須 | 内容 |
|---|---|---|
domain | 必須 | 分野。tax / labor / accounting / commercial / civil / administrative のどれか(定数 DOMAINS) |
戻り値
呼び出しが返す値です。
AbbreviationEntry[]。domain フィールドが domain と等しいエントリの配列。エントリのフィールドは resolveAbbreviation の戻り値と同じ。各要素は辞書のエントリそのもので、凍結されている(SPEC-ABBR-ABBREVIATION-ENTRIES-019)。
v0.6.0 の辞書(174 件)での件数は次のとおり。
domain | 件数 |
|---|---|
tax | 35 |
labor | 28 |
accounting | 9 |
commercial | 31 |
civil | 23 |
administrative | 48 |
扱わないこと
この機能が意図して扱わないことです。
- 複数の分野をまとめて絞り込むこと(
searchByNameのfilter.domainは配列を受け付ける) - 種別で絞り込むこと(
listByCategory) - 本文を持つ MCP で絞り込むこと(
listBySourceMcpHint) - 件数だけを返すこと(
getAbbreviationStatsのbyDomain)
処理の流れ
図の中の番号は「できること」の仕様 ID の末尾 3 桁です。
仕様項目
この機能の仕様項目を、仕様 ID ごとに並べています。見出しは仕様項目を 1 文で表したもので、条件・応答の細部・例は「詳細」を開くと読めます。仕様 ID はそれぞれ受入テストと対応していて、テストの無い ID があると各リポジトリの CI が止まります。
SPEC-ABBR-LIST-BY-DOMAIN-001 指定した分野のエントリだけを返す
詳細
辞書のエントリのうち、domain フィールドが引数 domain と等しいものだけを配列で返す。ほかの分野のエントリは含まない。
例: listByDomain('tax') は 35 件を返し、どの要素も domain: "tax"。
SPEC-ABBR-LIST-BY-DOMAIN-002 6 分野のどれを渡しても 1 件以上を返す
詳細
DOMAINS の 6 つの値のどれを渡しても、1 件以上のエントリを返す。v0.6.0 の件数は「戻り値」の表のとおり。
SPEC-ABBR-LIST-BY-DOMAIN-003 辞書の並びのまま返す
詳細
返す配列の要素は、辞書(abbreviationEntries)での並びのまま並ぶ。abbreviationEntries.filter((e) => e.domain === domain) と同じエントリを同じ順で返す。
例: listByDomain('tax') の先頭の 3 件は 所法 / 所令 / 所規、listByDomain('labor') の先頭の 3 件は 労基法 / 労基則 / 労契法 で、どれも abbreviationEntries での順と同じ。
SPEC-ABBR-LIST-BY-DOMAIN-004 呼ぶたびに新しい配列を返す
詳細
呼ぶたびに新しい配列を返す。返した配列に要素を足したり、配列から要素を除いたりしても、次の呼び出しの結果は変わらない。
例: const a = listByDomain('tax'); a.push({}) の後も、listByDomain('tax') は 35 件を返す。a.splice(0) の後も同じ。同じ引数で 2 回呼んだ結果は別の配列(!==)。
SPEC-ABBR-LIST-BY-DOMAIN-005 DOMAINS に無い値には空配列を返す
詳細
JavaScript から DOMAINS に無い値を渡したときは、例外を投げずに空配列を返す。
例: listByDomain('xxx') と listByDomain('') は []。
実装する人に向けた情報
ここから下は、この機能を実装する人と、仕様の変更を追う人に向けた節です。使い方を知りたいだけなら、読まなくて構いません。
検討中のこと
仕様を書き起こしたときに見つかった項目のうち、扱いを Issue で検討しているものです。ここに挙げたことは、今後の版で変わることがあります。開くと、元の仕様書の記述をそのまま読めます。
仕様書の「未決」の節
初版起こしで見つけた、意図か不具合かを人が決める項目です。決まったら「できること」に ID を振るか、specs/changes/ の差分にします。
意図か不具合かの判断が要る項目は houki-abbreviations の Issue に移し、ここには題と Issue の番号だけを残します。今の振る舞いのままでよくテストが無いだけの項目は、受入テストを書いてから「できること」に ID を振ります。
- README の件数が実際と違う。 → houki-abbreviations #17
- 返すエントリは凍結されておらず、書き換えると辞書に残る。 → SPEC-ABBR-ABBREVIATION-ENTRIES-019
- 返す順序。 → SPEC-ABBR-LIST-BY-DOMAIN-003
- 返す配列は呼ぶたびに新しい。 → SPEC-ABBR-LIST-BY-DOMAIN-004
DOMAINSに無い値。 → SPEC-ABBR-LIST-BY-DOMAIN-005
承認の履歴
この機能の仕様が、いつ、どの変更で承認されたかを新しい順に並べています。各リポジトリの npx spec-ids history list_by_domain と同じ内容です。変更の名前から、変更の理由と前後の振る舞いを書いた文書(GitHub)を開けます。
承認の履歴(3 件)
| 承認日 | 版 | 変更 | 仕様 PR |
|---|---|---|---|
| 2026-09-27 | v0.6.1 | テストが無いだけの振る舞いに仕様 ID を振る | #27 |
| 2026-09-27 | v0.6.1 | 「未決」のうち判断が要る 52 件を Issue に移す | #26 |
| 2026-09-27 | — | 初版 | #10 |
関連ページ
このページの元になった文書と、あわせて読むページです。