2 ポイント 投稿者 imjuni 2025-08-22 | まだコメントはありません。 | WhatsAppで共有

axiosベースのHTTPリクエストクライアントです。HTTPリクエストをTypeScriptクラスとして定義できます。

実務では、endpointごとにtimeout、リトライ回数、リトライ方式などを異なる形で管理する必要があったり、共通パターンを書いたり、失敗した場合にロギングを追加したりと、さまざまな要件が出てきます。

axios、fetch、ky などさまざまなクライアントを使ってみましたが、こうした要件を比較的簡単に満たせるクライアントはないように感じたため、開発しました。

@Get({ host: 'https://pokeapi.co', path: '/api/v2/pokemon/:name' })  
export class PokemonFrame extends JinFrame {  
  @Param()  
  declare public readonly name: string;  
}  
  
const frame = PokemonFrame.of({ name: 'pikachu' });  
const reply = await frame.execute();  
  
console.log(reply);  

継承によってHookを拡張でき、timeoutやリトライ回数などをクラスごとに異なる形で管理できるため、便利に活用できます。

ぜひ使ってみて、多くのフィードバックをお願いします!

まだコメントはありません。

まだコメントはありません。