INTEGRITY Dokumentace

TypeScript

Spouštění wrangler types generuje typy runtime včetně Service a DurableObjectNamespace typy, z nichž každý přijímá jeden typový parametr pro WorkerEntrypoint nebo DurableObject typy.

Pomocí typů vyššího řádu automaticky generujeme stub typy na straně klienta (např. vynucením toho, aby všechny metody byly asynchronní).

wrangler types také generuje typy pro env objekt. Můžete zadat cestu ke konfiguračním souborům Workeru nebo Durable Object, který voláte, aby vygenerované typy obsahovaly parametry typu pro Service a DurableObjectNamespace typy.

Pokud by měl váš klientský Worker například vazby na Worker v ../sum-worker/ a Durable Object v ../counter/, měli byste vygenerovat typy pro klientský Worker env spuštěním:

npx wrangler types -c ./client/wrangler.jsonc -c ../sum-worker/wrangler.jsonc -c ../counter/wrangler.jsonc

Tímto vznikne worker-configuration.d.ts soubor, který obsahuje:

worker-configuration.d.ts
interface Env {
	SUM_SERVICE: Service<import("../sum-worker/src/index").SumService>;
	COUNTER_OBJECT: DurableObjectNamespace<
		import("../counter/src/index").Counter
	>;
}

Nyní typy pro metodu RPC, jako je env.SUM_SERVICE.sum metoda bude zpřístupněna klientskému Workeru.

src/index.ts
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>;