Skip to content

Commit 01421c2

Browse files
committed
docs(ja): update content, fix typo and links
1 parent e638141 commit 01421c2

File tree

18 files changed

+369
-135
lines changed

18 files changed

+369
-135
lines changed

docs/.vitepress/ja.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ export default defineConfig({
4646
items: [
4747
{ text: "始める", link: "/ja/openapi-react-query/" },
4848
{ text: "useQuery", link: "/ja/openapi-react-query/use-query" },
49-
{ text: "useMutation", link: "/ja/openapi-react-query/use-mutation " },
49+
{ text: "useMutation", link: "/ja/openapi-react-query/use-mutation" },
5050
{ text: "useSuspenseQuery", link: "/ja/openapi-react-query/use-suspense-query" },
5151
{ text: "概要", link: "/ja/openapi-react-query/about" },
5252
],
@@ -61,9 +61,11 @@ export default defineConfig({
6161
outline: {
6262
label: "目次",
6363
},
64+
sidebarMenuLabel: "メニュー",
65+
returnToTopLabel: "最上部に戻る",
6466
footer: {
6567
message:
66-
'<a href="https://github.com/openapi-ts/openapi-typescript/blob/main/packages/openapi-typescript/LICENSE">MITライセンス</a> に基づいて配布されています',
68+
'<a href="https://github.com/openapi-ts/openapi-typescript/blob/main/packages/openapi-typescript/LICENSE">MITライセンス</a> に基づいて配布されています',
6769
},
6870
},
6971
});

docs/data/contributors.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

docs/ja/about.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ description: このプロジェクトに関する追加情報
3232
## プロジェクトの目標
3333

3434
1. 任意の有効な OpenAPI スキーマを TypeScript 型に変換できるようにすること。どんなに複雑なスキーマでも対応可能です。
35-
2. 生成される型は静的に解析可能で、実行時の依存関係がない(ただし、[enum](https://www.typescriptlang.org/docs/handbook/enums.html) のような例外はあります)。
35+
2. 生成される型は静的に解析可能で、実行時の依存関係がない(ただし、[enums](https://www.typescriptlang.org/docs/handbook/enums.html) のような例外はあります)。
3636
3. 生成された型は、元のスキーマにできるだけ一致し、元の大文字形式などを保持します。
3737
4. 型の生成 は Node.js だけで実行可能であり、(Java、Python などは不要)どんな環境でも実行できます。
3838
5. ファイルからの OpenAPI スキーマのフェッチや、ローカルおよびリモートサーバーからのフェッチをサポートします。

docs/ja/advanced.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@ $ DEBUG=openapi-ts:* npx openapi-typescript schema.yaml -o my-types.ts
1919

2020
出力が `stdout` の場合、デバッグメッセージは抑制されることに注意してください。
2121

22-
## 列挙型の拡張
22+
## Enum の拡張
2323

24-
`x-enum-varnames` は、対応する値に別の列挙型名を定義するために使用されます。これは列挙項目の名前を定義するために使用されます
24+
`x-enum-varnames` は、対応する値に別の列挙型名を定義するために使用されます。これは enum の項目名を定義するために使用されます
2525

2626
`x-enum-descriptions` は、各値に対して個別の説明を提供するために使用できます。これは、コード内のコメント(Javaの場合はjavadocのようなもの)として使用されます。
2727

28-
`x-enum-descriptions`および`x-enum-varnames`は、それぞれ列挙型と同じ数の項目を含むリストであることが期待されます。リスト内の項目の順序は重要です:位置を使用してこれらを結びつけます
28+
`x-enum-descriptions`および`x-enum-varnames`は、それぞれ Enum と同じ数の項目を含むリストであることが期待されます。リスト内の項目の順序は重要です:位置を参考にしてこれらを結びつけます
2929

3030
例:
3131

@@ -68,7 +68,7 @@ enum ErrorCode {
6868

6969
:::
7070

71-
この方法で生成するには、[コマンドライン](cli.md#flags)`--enum` を指定する必要があります。
71+
この方法で生成するには、[コマンドライン](cli#%E3%83%95%E3%83%A9%E3%82%AF%E3%82%99)`--enum` を指定する必要があります。
7272

7373
または、`x-enumNames`および`x-enumDescriptions`[NSwag/NJsonSchema](https://github.com/RicoSuter/NJsonSchema/wiki/Enums#enum-names-and-descriptions))も使用できます。
7474

@@ -78,7 +78,7 @@ enum ErrorCode {
7878

7979
### Redocly ルール
8080

81-
TypeScript生成におけるエラーを減らすために、[Redocly config](https://redocly.com/docs/cli/rules/built-in-rules/)で次の組み込みルールを適用することをお勧めします:
81+
TypeScript生成におけるエラーを減らすために、[Redocly config](https://redocly.com/docs/cli/rules/built-in-rules/) で次の組み込みルールを適用することをお勧めします:
8282

8383
| ルール | 設定 | 理由 |
8484
| :-------------------------------------------------------------------------------------------- | :----------------: | :------------------------------- |
@@ -100,9 +100,9 @@ TypeScript生成におけるエラーを減らすために、[Redocly config](ht
100100
JSのスタイルガイドが推奨するように、APIレスポンスを`camelCase`にリネームしたくなるかもしれません。しかし、リネームは時間の無駄になるだけでなく、次のような保守上の問題を引き起こすため、**リネームを避ける**ことをお勧めします:
101101

102102
- ❌ 生成された型(たとえばopenapi-typescriptが生成した型)は、手動で入力する必要がある
103-
- ❌ リネームは実行時に発生するため、アプリケーションが隠れた変更を行う際に遅延を引き起こす
103+
- ❌ リネームは実行時に発生するため、アプリケーションが見えない変更を行う際に遅延を引き起こす
104104
- ❌ 名前変更ツールを構築し、維持(およびテスト)する必要がある
105-
- ❌ APIが `requestBodies ``snake_case` を必要とする場合、すべての作業を各APIリクエストで元に戻さなければならない
105+
- ❌ APIが `requestBodies``snake_case` を必要とする場合、すべての作業を各APIリクエストで元に戻さなければならない
106106

107107
代わりに、「一貫性」をより包括的な概念と見なし、JSスタイルの規約に従うよりもAPIスキーマをそのまま保持することが優れていると認識してください。
108108

@@ -195,8 +195,8 @@ Record<string, string>;
195195
<thead>
196196
<tr>
197197
<td style="width:10%">&nbsp;</td>
198-
<th scope="col" style="width:40%">Schema</th>
199-
<th scope="col" style="width:40%">Generated Type</th>
198+
<th scope="col" style="width:40%">スキーマ</th>
199+
<th scope="col" style="width:40%">生成される型</th>
200200
</tr>
201201
</thead>
202202
<tbody>
@@ -280,7 +280,7 @@ prefixItems:
280280

281281
### `oneOf`を単独で使用する
282282

283-
OpenAPIのコンポジションツール(`oneOf` / `anyOf` / `allOf`)は、スキーマ内のコード量を減らしながら柔軟性を最大化する強力なツールです。しかし、TypeScriptの共用体型は[XOR](https://en.wikipedia.org/wiki/Exclusive_or)を提供しないため、`oneOf` に直接マッピングすることはできません。そのため、oneOfは単独で使用し、他のコンポジションメソッドやプロパティと組み合わせないことが推奨されます。例えば:
283+
OpenAPIのコンポジションツール(`oneOf` / `anyOf` / `allOf`)は、スキーマ内のコード量を減らしながら柔軟性を最大化する強力なツールです。しかし、TypeScriptのユニオン型は[XOR](https://en.wikipedia.org/wiki/Exclusive_or)を提供しないため、`oneOf` に直接マッピングすることはできません。そのため、oneOfは単独で使用し、他のコンポジションメソッドやプロパティと組み合わせないことが推奨されます。例えば:
284284

285285
#### ❌ 悪い
286286

@@ -310,7 +310,7 @@ Pet:
310310
311311
:::
312312
313-
これは、TypeScriptのユニオンとインターセクションの両方を組み合わせた次のような型が生成されます。これは有効なTypeScriptですが、複雑であり、推論が意図した通りに機能しない可能性があります。しかし、最も問題となるのは、TypeScriptがtypeプロパティを通じて区別できないことです
313+
これは、TypeScript のユニオン型とインターセクション型の両方を組み合わせた次のような型が生成されます。これは有効な TypeScript ですが、複雑であり、推論が意図した通りに機能しない可能性があります。しかし、最も問題となるのは、TypeScript が type プロパティを通じて区別できないことです
314314
315315
::: code-group
316316
@@ -365,7 +365,7 @@ Cat: { type?: "cat"; } & components["schemas"]["PetCommonProperties"];
365365

366366
_注: 任意で、`Pet` に `discriminator.propertyName: "type"` を指定することもできます([ドキュメント](https://spec.openapis.org/oas/v3.1.0#discriminator-object))。これにより、自動的に `type` キーが生成されますが、明示性が低くなります。_
367367

368-
スキーマでは任意の方法でコンポジションを使用することが許可されていますが、生成された型を確認し、ユニオンやインターセクションをより簡潔に表現できる方法がないか検討することは重要です。 `oneOf` の使用を制限することが唯一の方法ではありませんが、しばしば最大の効果をもたらします。
368+
スキーマでは任意の方法でコンポジションを使用することが許可されていますが、生成された型を確認し、ユニオン型やインターセクション型をより簡潔に表現できる方法がないか検討することは重要です。 `oneOf` の使用を制限することが唯一の方法ではありませんが、しばしば最大の効果をもたらします。
369369

370370
## JSONSchema $defs の注意点
371371

@@ -448,10 +448,10 @@ export interface components {
448448

449449
:::
450450

451-
そのため、$defs を定義する場所には注意が必要です。最終的に生成される型から $defs が消えてしまう可能性があります。
451+
そのため、`$defs` を定義する場所には注意が必要です。最終的に生成される型から $defs が消えてしまう可能性があります。
452452

453453
::: tip
454454

455-
不安な場合は、$defs をルートスキーマレベルで定義するのが安全です。
455+
不安な場合は、`$defs` をルートスキーマレベルで定義するのが安全です。
456456

457457
:::

docs/ja/cli.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,11 @@ npx openapi-typescript https://petstore3.swagger.io/api/v3/openapi.yaml -o petst
2727

2828
### 複数のスキーマ
2929

30-
複数のスキーマを変換するには、プロジェクトのルートディレクトリに `redocly.yaml` ファイルを作成し、[APIs を定義します](https://redocly.com/docs/cli/configuration/)`apis` の下に、それぞれのスキーマに一意の名前とオプションのバージョンを指定します(名前は一意であれば問題ありません)。`root` 値をスキーマのエントリーポイントとして設定し、これが主な入力として機能します。出力には`x-openapi-ts.output` を設定します
30+
複数のスキーマを変換するには、プロジェクトのルートディレクトリに `redocly.yaml` ファイルを作成し、[APIs を定義します](https://redocly.com/docs/cli/configuration/)`apis` の下に、それぞれのスキーマに一意の名前と、必要に応じてオプションのバージョンを指定します(名前は一意であれば問題ありません)。`root` の値をスキーマのエントリーポイントに設定します。これが主な入力として機能します。出力については`x-openapi-ts.output` で設定します
3131

3232
::: code-group
3333

34-
```yaml [my-openapi-3-schema.yaml]
34+
```yaml [redocly.yaml]
3535
apis:
3636
core@v2:
3737
root: ./openapi/openapi.yaml
@@ -59,7 +59,7 @@ npx openapi-typescript
5959

6060
::: warning
6161

62-
以前のバージョンではワイルドカードがサポートされていましたが、v7 では廃止され、代わりに `redocly.yaml` が使用されるようになりました。これにより、各スキーマの出力先をより詳細に制御でき、各スキーマに固有の設定を適用することができます。
62+
以前のバージョンでは globbing がサポートされていましたが、v7 では廃止され、代わりに `redocly.yaml` が推奨されるようになりました。これにより、各スキーマの出力先をより詳細に制御でき、各スキーマに固有の設定を適用することができます。
6363

6464
:::
6565

@@ -79,7 +79,7 @@ Redoclyの設定オプションについての詳細は [Redoclyのドキュメ
7979

8080
::: code-group
8181

82-
```yaml [my-openap-3-schema.yaml]
82+
```yaml [redocly.yaml]
8383
resolve:
8484
http:
8585
headers:
@@ -108,10 +108,10 @@ CLI は以下のフラグをサポートしています:
108108
| `--additional-properties` | | `false` | `additionalProperties: false` がないすべてのスキーマオブジェクトに任意のプロパティを許可します |
109109
| `--alphabetize` | | `false` | 型をアルファベット順にソートします |
110110
| `--array-length` | | `false` | 配列の `minItems` / `maxItems` を使用してタプルを生成します |
111-
| `--default-non-nullable` | | `true` | デフォルト値を持つスキーマオブジェクトを、パラメータを除き、非null型として扱います |
112-
| `--properties-required-by-default` | | `false` | `required` がないスキーマオブジェクトを、すべてのプロパティが必須であるかのように扱います |
111+
| `--default-non-nullable` | | `true` | デフォルト値を持つスキーマオブジェクトを、非nullableとして扱います(parametersを除きます) |
112+
| `--properties-required-by-default` | | `false` | `required` がないスキーマオブジェクトについて、すべてのプロパティを必須として扱います |
113113
| `--empty-objects-unknown` | | `false` | 指定されたプロパティも `additionalProperties` もないスキーマオブジェクトに任意のプロパティを許可します |
114-
| `--enum` | | `false` | 文字列の共用体ではなく、[TS enums](https://www.typescriptlang.org/docs/handbook/enums.html) を生成します |
114+
| `--enum` | | `false` | 文字列のユニオン型ではなく、[TS enums](https://www.typescriptlang.org/docs/handbook/enums.html) を生成します |
115115
| `--enum-values` | | `false` | enumの値を配列としてエクスポートします |
116116
| `--dedupe-enums` | | `false` | `--enum=true` が設定されている場合、enumの重複を排除します |
117117
| `--check` | | `false` | 生成された型が最新であることを確認します |
@@ -160,7 +160,7 @@ type UserResponses = paths[url]["responses"]; // 自動的に `paths['/user/{use
160160

161161
:::
162162

163-
これは人為的な例ですが、この機能を使用して、フェッチクライアントやアプリケーション内の他の便利な場所で、URLに基づいて型を自動的に推論することができます。
163+
これは人為的な例ですが、この機能を使用して、フェッチクライアントやアプリケーション内の他に有用的な場面で、URLに基づいて型を自動的に推論することができます。
164164

165165
_ありがとう, [@Powell-v2](https://github.com/Powell-v2)!_
166166

@@ -202,6 +202,6 @@ export interface components {
202202

203203
これにより、配列の長さに対するより明示的な型チェックが可能になります。
204204

205-
_注: この機能には適切な制限があります。例えば `maxItems: 100` の場合は、単純に `string[];` に戻ります。_
205+
_注: この機能には合理的な制限があります。例えば `maxItems: 100` の場合は、単純に `string[];` に戻ります。_
206206

207207
_ありがとう, [@kgtkr](https://github.com/kgtkr)!_

0 commit comments

Comments
 (0)