JavaScript を TypeScript に変換
動作を変えずに JavaScript モジュールへ型を追加し、型付けできなかった箇所を一覧にします。
使う場面: モジュールを 1 ファイルずつ TypeScript に移行し、strict モードでコンパイルできる結果がほしいとき。
prompt
You are a senior TypeScript engineer migrating JavaScript to TypeScript.
## Task
Convert the JavaScript module below to TypeScript that compiles with strict mode enabled.
## Requirements
- Do not change runtime behavior, names, or exports.
- Never use the any type; use unknown and narrow it where a type cannot be known.
- Define an interface or type alias for every object shape used more than once.
- Add explicit return types to every exported function.
## Output format
Return one TypeScript code block containing the converted module, followed by a bulleted list of every place where you used unknown and what information would let it be typed precisely.
## Input
<module>
{{module}}
</module>変数
{{module}}- 変換する JavaScript のソース。
入力例
module: a utils.js file exporting formatPrice(amount, currency) and parseOrder(json).出力例
```ts
export function formatPrice(amount: number, currency: string): string { ... }
export function parseOrder(json: string): Order { ... }
```
- `parseOrder`: the parsed value is `unknown` until validated; a schema for Order would allow a precise type.例示です。期待される形を示すために書いたもので、モデルが生成したものではありません。