TypeScript
@cloudflare/workers-types ↗パッケージは、ServiceおよびDurableObjectNamespace型を提供します。これらはそれぞれ、サーバーサイドのWorkerEntrypointまたはDurableObject型のための単一の型パラメータを受け取ります。
高階型を使用することで、クライアントサイドのスタブ型(例:すべてのメソッドをasyncに強制する)を自動的に生成します。
例えば:
interface Env { SUM_SERVICE: Service<SumService>; COUNTER_OBJECT: DurableObjectNamespace<Counter>}
export default { async fetch(req, env, ctx): Promise<Response> { const result = await env.SUM_SERVICE.sum(1, 2); return new Response(result.toString()); }} satisfies ExportedHandler<Env>;