---
title: TypeScript example
description: Show TypeScript and auto-transpiled JavaScript tabs.
image: https://developers.cloudflare.com/cf-twitter-card.png
---

> Documentation Index  
> Fetch the complete documentation index at: https://developers.cloudflare.com/style-guide/llms.txt  
> Use this file to discover all available pages before exploring further.

[Skip to content](#%5Ftop) 

# TypeScript example

The `TypeScriptExample` component is used `1117` times on `200` pages.

See all examples of pages that use TypeScriptExample

Used **1117** times.

**Pages**

* [/agents/api-reference/agent-tools/](https://developers.cloudflare.com/agents/api-reference/agent-tools/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/agent-tools.mdx)
* [/agents/api-reference/browse-the-web/](https://developers.cloudflare.com/agents/api-reference/browse-the-web/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/browse-the-web.mdx)
* [/agents/api-reference/callable-methods/](https://developers.cloudflare.com/agents/api-reference/callable-methods/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/callable-methods.mdx)
* [/agents/api-reference/chat-agents/](https://developers.cloudflare.com/agents/api-reference/chat-agents/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/chat-agents.mdx)
* [/agents/api-reference/client-sdk/](https://developers.cloudflare.com/agents/api-reference/client-sdk/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/client-sdk.mdx)
* [/agents/api-reference/codemode/](https://developers.cloudflare.com/agents/api-reference/codemode/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/codemode.mdx)
* [/agents/api-reference/configuration/](https://developers.cloudflare.com/agents/api-reference/configuration/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/configuration.mdx)
* [/agents/api-reference/email/](https://developers.cloudflare.com/agents/api-reference/email/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/email.mdx)
* [/agents/api-reference/get-current-agent/](https://developers.cloudflare.com/agents/api-reference/get-current-agent/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/get-current-agent.mdx)
* [/agents/api-reference/http-sse/](https://developers.cloudflare.com/agents/api-reference/http-sse/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/http-sse.mdx)
* [/agents/api-reference/mcp-agent-api/](https://developers.cloudflare.com/agents/api-reference/mcp-agent-api/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/mcp-agent-api.mdx)
* [/agents/api-reference/mcp-client-api/](https://developers.cloudflare.com/agents/api-reference/mcp-client-api/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/mcp-client-api.mdx)
* [/agents/api-reference/mcp-handler-api/](https://developers.cloudflare.com/agents/api-reference/mcp-handler-api/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/mcp-handler-api.mdx)
* [/agents/api-reference/observability/](https://developers.cloudflare.com/agents/api-reference/observability/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/observability.mdx)
* [/agents/api-reference/protocol-messages/](https://developers.cloudflare.com/agents/api-reference/protocol-messages/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/protocol-messages.mdx)
* [/agents/api-reference/queue-tasks/](https://developers.cloudflare.com/agents/api-reference/queue-tasks/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/queue-tasks.mdx)
* [/agents/api-reference/rag/](https://developers.cloudflare.com/agents/api-reference/rag/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/rag.mdx)
* [/agents/api-reference/readonly-connections/](https://developers.cloudflare.com/agents/api-reference/readonly-connections/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/readonly-connections.mdx)
* [/agents/api-reference/retries/](https://developers.cloudflare.com/agents/api-reference/retries/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/retries.mdx)
* [/agents/api-reference/routing/](https://developers.cloudflare.com/agents/api-reference/routing/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/routing.mdx)
* [/agents/api-reference/run-workflows/](https://developers.cloudflare.com/agents/api-reference/run-workflows/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/run-workflows.mdx)
* [/agents/api-reference/schedule-tasks/](https://developers.cloudflare.com/agents/api-reference/schedule-tasks/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/schedule-tasks.mdx)
* [/agents/api-reference/sessions/](https://developers.cloudflare.com/agents/api-reference/sessions/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/sessions.mdx)
* [/agents/api-reference/store-and-sync-state/](https://developers.cloudflare.com/agents/api-reference/store-and-sync-state/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/store-and-sync-state.mdx)
* [/agents/api-reference/sub-agents/](https://developers.cloudflare.com/agents/api-reference/sub-agents/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/sub-agents.mdx)
* [/agents/api-reference/think/](https://developers.cloudflare.com/agents/api-reference/think/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/think.mdx)
* [/agents/api-reference/using-ai-models/](https://developers.cloudflare.com/agents/api-reference/using-ai-models/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/using-ai-models.mdx)
* [/agents/api-reference/voice/](https://developers.cloudflare.com/agents/api-reference/voice/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/voice.mdx)
* [/agents/api-reference/websockets/](https://developers.cloudflare.com/agents/api-reference/websockets/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/api-reference/websockets.mdx)
* [/agents/concepts/calling-llms/](https://developers.cloudflare.com/agents/concepts/calling-llms/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/concepts/calling-llms.mdx)
* [/agents/concepts/human-in-the-loop/](https://developers.cloudflare.com/agents/concepts/human-in-the-loop/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/concepts/human-in-the-loop.mdx)
* [/agents/concepts/memory/](https://developers.cloudflare.com/agents/concepts/memory/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/concepts/memory.mdx)
* [/agents/concepts/workflows/](https://developers.cloudflare.com/agents/concepts/workflows/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/concepts/workflows.mdx)
* [/agents/getting-started/add-to-existing-project/](https://developers.cloudflare.com/agents/getting-started/add-to-existing-project/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/getting-started/add-to-existing-project.mdx)
* [/agents/getting-started/build-a-chat-agent/](https://developers.cloudflare.com/agents/getting-started/build-a-chat-agent/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/getting-started/build-a-chat-agent.mdx)
* [/agents/getting-started/quick-start/](https://developers.cloudflare.com/agents/getting-started/quick-start/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/getting-started/quick-start.mdx)
* [/agents/guides/autonomous-responses/](https://developers.cloudflare.com/agents/guides/autonomous-responses/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/guides/autonomous-responses.mdx)
* [/agents/guides/build-a-voice-agent/](https://developers.cloudflare.com/agents/guides/build-a-voice-agent/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/guides/build-a-voice-agent.mdx)
* [/agents/guides/connect-mcp-client/](https://developers.cloudflare.com/agents/guides/connect-mcp-client/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/guides/connect-mcp-client.mdx)
* [/agents/guides/cross-domain-authentication/](https://developers.cloudflare.com/agents/guides/cross-domain-authentication/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/guides/cross-domain-authentication.mdx)
* [/agents/guides/human-in-the-loop/](https://developers.cloudflare.com/agents/guides/human-in-the-loop/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/guides/human-in-the-loop.mdx)
* [/agents/guides/oauth-mcp-client/](https://developers.cloudflare.com/agents/guides/oauth-mcp-client/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/guides/oauth-mcp-client.mdx)
* [/agents/guides/push-notifications/](https://developers.cloudflare.com/agents/guides/push-notifications/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/guides/push-notifications.mdx)
* [/agents/guides/securing-mcp-server/](https://developers.cloudflare.com/agents/guides/securing-mcp-server/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/guides/securing-mcp-server.mdx)
* [/agents/guides/webhooks/](https://developers.cloudflare.com/agents/guides/webhooks/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/guides/webhooks.mdx)
* [/agents/](https://developers.cloudflare.com/agents/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/index.mdx)
* [/agents/model-context-protocol/tools/](https://developers.cloudflare.com/agents/model-context-protocol/tools/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/model-context-protocol/tools.mdx)
* [/agents/model-context-protocol/transport/](https://developers.cloudflare.com/agents/model-context-protocol/transport/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/agents/model-context-protocol/transport.mdx)
* [/ai-gateway/integrations/vercel-ai-sdk/](https://developers.cloudflare.com/ai-gateway/integrations/vercel-ai-sdk/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/ai-gateway/integrations/vercel-ai-sdk.mdx)
* [/ai-gateway/integrations/worker-binding-methods/](https://developers.cloudflare.com/ai-gateway/integrations/worker-binding-methods/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/ai-gateway/integrations/worker-binding-methods.mdx)
* [/ai-gateway/usage/providers/workersai/](https://developers.cloudflare.com/ai-gateway/usage/providers/workersai/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/ai-gateway/usage/providers/workersai.mdx)
* [/ai-search/how-to/bring-your-own-generation-model/](https://developers.cloudflare.com/ai-search/how-to/bring-your-own-generation-model/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/ai-search/how-to/bring-your-own-generation-model.mdx)
* [/ai-search/how-to/per-tenant-search/](https://developers.cloudflare.com/ai-search/how-to/per-tenant-search/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/ai-search/how-to/per-tenant-search.mdx)
* [/ai-search/how-to/simple-search-engine/](https://developers.cloudflare.com/ai-search/how-to/simple-search-engine/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/ai-search/how-to/simple-search-engine.mdx)
* [/artifacts/api/workers-binding/](https://developers.cloudflare.com/artifacts/api/workers-binding/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/artifacts/api/workers-binding.mdx)
* [/artifacts/concepts/best-practices/](https://developers.cloudflare.com/artifacts/concepts/best-practices/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/artifacts/concepts/best-practices.mdx)
* [/artifacts/examples/isomorphic-git/](https://developers.cloudflare.com/artifacts/examples/isomorphic-git/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/artifacts/examples/isomorphic-git.mdx)
* [/artifacts/examples/sandbox-sdk-artifacts/](https://developers.cloudflare.com/artifacts/examples/sandbox-sdk-artifacts/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/artifacts/examples/sandbox-sdk-artifacts.mdx)
* [/artifacts/get-started/workers/](https://developers.cloudflare.com/artifacts/get-started/workers/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/artifacts/get-started/workers.mdx)
* [/bots/workers-templates/delay-action/](https://developers.cloudflare.com/bots/workers-templates/delay-action/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/bots/workers-templates/delay-action.mdx)
* [/browser-run/features/reuse-sessions/](https://developers.cloudflare.com/browser-run/features/reuse-sessions/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/browser-run/features/reuse-sessions.mdx)
* [/browser-run/how-to/browser-run-with-do/](https://developers.cloudflare.com/browser-run/how-to/browser-run-with-do/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/browser-run/how-to/browser-run-with-do.mdx)
* [/browser-run/puppeteer/](https://developers.cloudflare.com/browser-run/puppeteer/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/browser-run/puppeteer.mdx)
* [/cloudflare-for-platforms/cloudflare-for-saas/domain-support/custom-metadata/](https://developers.cloudflare.com/cloudflare-for-platforms/cloudflare-for-saas/domain-support/custom-metadata/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/cloudflare-for-platforms/cloudflare-for-saas/domain-support/custom-metadata.mdx)
* [/cloudflare-one/access-controls/applications/http-apps/authorization-cookie/validating-json/](https://developers.cloudflare.com/cloudflare-one/access-controls/applications/http-apps/authorization-cookie/validating-json/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/cloudflare-one/access-controls/applications/http-apps/authorization-cookie/validating-json.mdx)
* [/cloudflare-one/tutorials/access-workers/](https://developers.cloudflare.com/cloudflare-one/tutorials/access-workers/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/cloudflare-one/tutorials/access-workers.mdx)
* [/cloudflare-one/tutorials/detect-mcp-traffic-gateway-logs/](https://developers.cloudflare.com/cloudflare-one/tutorials/detect-mcp-traffic-gateway-logs/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/cloudflare-one/tutorials/detect-mcp-traffic-gateway-logs.mdx)
* [/containers/container-class/](https://developers.cloudflare.com/containers/container-class/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/containers/container-class.mdx)
* [/containers/examples/r2-fuse-mount/](https://developers.cloudflare.com/containers/examples/r2-fuse-mount/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/containers/examples/r2-fuse-mount.mdx)
* [/d1/get-started/](https://developers.cloudflare.com/d1/get-started/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/d1/get-started.mdx)
* [/d1/tutorials/build-a-comments-api/](https://developers.cloudflare.com/d1/tutorials/build-a-comments-api/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/d1/tutorials/build-a-comments-api.mdx)
* [/durable-objects/api/base/](https://developers.cloudflare.com/durable-objects/api/base/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/durable-objects/api/base.mdx)
* [/durable-objects/api/container/](https://developers.cloudflare.com/durable-objects/api/container/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/durable-objects/api/container.mdx)
* [/durable-objects/api/legacy-kv-storage-api/](https://developers.cloudflare.com/durable-objects/api/legacy-kv-storage-api/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/durable-objects/api/legacy-kv-storage-api.mdx)
* [/durable-objects/api/sqlite-storage-api/](https://developers.cloudflare.com/durable-objects/api/sqlite-storage-api/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/durable-objects/api/sqlite-storage-api.mdx)
* [/durable-objects/best-practices/rules-of-durable-objects/](https://developers.cloudflare.com/durable-objects/best-practices/rules-of-durable-objects/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/durable-objects/best-practices/rules-of-durable-objects.mdx)
* [/durable-objects/best-practices/websockets/](https://developers.cloudflare.com/durable-objects/best-practices/websockets/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/durable-objects/best-practices/websockets.mdx)
* [/durable-objects/examples/readable-stream/](https://developers.cloudflare.com/durable-objects/examples/readable-stream/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/durable-objects/examples/readable-stream.mdx)
* [/durable-objects/examples/testing-with-durable-objects/](https://developers.cloudflare.com/durable-objects/examples/testing-with-durable-objects/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/durable-objects/examples/testing-with-durable-objects.mdx)
* [/durable-objects/examples/websocket-hibernation-server/](https://developers.cloudflare.com/durable-objects/examples/websocket-hibernation-server/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/durable-objects/examples/websocket-hibernation-server.mdx)
* [/durable-objects/examples/websocket-server/](https://developers.cloudflare.com/durable-objects/examples/websocket-server/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/durable-objects/examples/websocket-server.mdx)
* [/durable-objects/get-started/](https://developers.cloudflare.com/durable-objects/get-started/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/durable-objects/get-started.mdx)
* [/dynamic-workers/examples/codemode/](https://developers.cloudflare.com/dynamic-workers/examples/codemode/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/dynamic-workers/examples/codemode.mdx)
* [/dynamic-workers/examples/dynamic-workers-playground/](https://developers.cloudflare.com/dynamic-workers/examples/dynamic-workers-playground/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/dynamic-workers/examples/dynamic-workers-playground.mdx)
* [/dynamic-workers/examples/dynamic-workers-starter/](https://developers.cloudflare.com/dynamic-workers/examples/dynamic-workers-starter/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/dynamic-workers/examples/dynamic-workers-starter.mdx)
* [/dynamic-workers/getting-started/](https://developers.cloudflare.com/dynamic-workers/getting-started/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/dynamic-workers/getting-started.mdx)
* [/dynamic-workers/usage/durable-object-facets/](https://developers.cloudflare.com/dynamic-workers/usage/durable-object-facets/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/dynamic-workers/usage/durable-object-facets.mdx)
* [/dynamic-workers/usage/dynamic-workflows/](https://developers.cloudflare.com/dynamic-workers/usage/dynamic-workflows/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/dynamic-workers/usage/dynamic-workflows.mdx)
* [/dynamic-workers/usage/static-assets/](https://developers.cloudflare.com/dynamic-workers/usage/static-assets/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/dynamic-workers/usage/static-assets.mdx)
* [/flagship/binding/](https://developers.cloudflare.com/flagship/binding/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/flagship/binding/index.mdx)
* [/flagship/configuration/](https://developers.cloudflare.com/flagship/configuration/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/flagship/configuration.mdx)
* [/flagship/get-started/](https://developers.cloudflare.com/flagship/get-started/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/flagship/get-started.mdx)
* [/flagship/reference/evaluation-reasons/](https://developers.cloudflare.com/flagship/reference/evaluation-reasons/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/flagship/reference/evaluation-reasons.mdx)
* [/flagship/sdk/client-provider/](https://developers.cloudflare.com/flagship/sdk/client-provider/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/flagship/sdk/client-provider.mdx)
* [/flagship/sdk/server-provider/](https://developers.cloudflare.com/flagship/sdk/server-provider/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/flagship/sdk/server-provider.mdx)
* [/fundamentals/reference/markdown-for-agents/](https://developers.cloudflare.com/fundamentals/reference/markdown-for-agents/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/fundamentals/reference/markdown-for-agents.mdx)
* [/hyperdrive/concepts/connection-lifecycle/](https://developers.cloudflare.com/hyperdrive/concepts/connection-lifecycle/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/hyperdrive/concepts/connection-lifecycle.mdx)
* [/images/examples/watermark-from-kv/](https://developers.cloudflare.com/images/examples/watermark-from-kv/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/images/examples/watermark-from-kv.mdx)
* [/images/optimization/hosted-images/serve-private-images/](https://developers.cloudflare.com/images/optimization/hosted-images/serve-private-images/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/images/optimization/hosted-images/serve-private-images.mdx)
* [/images/optimization/transformations/bindings/](https://developers.cloudflare.com/images/optimization/transformations/bindings/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/images/optimization/transformations/bindings.mdx)
* [/images/storage/upload-images/upload-file-worker/](https://developers.cloudflare.com/images/storage/upload-images/upload-file-worker/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/images/storage/upload-images/upload-file-worker.mdx)
* [/images/tutorials/optimize-user-uploaded-image/](https://developers.cloudflare.com/images/tutorials/optimize-user-uploaded-image/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/images/tutorials/optimize-user-uploaded-image.mdx)
* [/pipelines/streams/writing-to-streams/](https://developers.cloudflare.com/pipelines/streams/writing-to-streams/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/pipelines/streams/writing-to-streams.mdx)
* [/queues/configuration/batching-retries/](https://developers.cloudflare.com/queues/configuration/batching-retries/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/queues/configuration/batching-retries.mdx)
* [/queues/configuration/javascript-apis/](https://developers.cloudflare.com/queues/configuration/javascript-apis/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/queues/configuration/javascript-apis.mdx)
* [/queues/configuration/pull-consumers/](https://developers.cloudflare.com/queues/configuration/pull-consumers/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/queues/configuration/pull-consumers.mdx)
* [/r2/objects/upload-objects/](https://developers.cloudflare.com/r2/objects/upload-objects/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/r2/objects/upload-objects.mdx)
* [/realtime/agents/getting-started/](https://developers.cloudflare.com/realtime/agents/getting-started/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/realtime/agents/getting-started.mdx)
* [/sandbox/api/backups/](https://developers.cloudflare.com/sandbox/api/backups/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/api/backups.mdx)
* [/sandbox/api/commands/](https://developers.cloudflare.com/sandbox/api/commands/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/api/commands.mdx)
* [/sandbox/api/file-watching/](https://developers.cloudflare.com/sandbox/api/file-watching/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/api/file-watching.mdx)
* [/sandbox/api/files/](https://developers.cloudflare.com/sandbox/api/files/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/api/files.mdx)
* [/sandbox/api/interpreter/](https://developers.cloudflare.com/sandbox/api/interpreter/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/api/interpreter.mdx)
* [/sandbox/api/lifecycle/](https://developers.cloudflare.com/sandbox/api/lifecycle/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/api/lifecycle.mdx)
* [/sandbox/api/ports/](https://developers.cloudflare.com/sandbox/api/ports/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/api/ports.mdx)
* [/sandbox/api/sessions/](https://developers.cloudflare.com/sandbox/api/sessions/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/api/sessions.mdx)
* [/sandbox/api/storage/](https://developers.cloudflare.com/sandbox/api/storage/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/api/storage.mdx)
* [/sandbox/api/terminal/](https://developers.cloudflare.com/sandbox/api/terminal/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/api/terminal.mdx)
* [/sandbox/configuration/sandbox-options/](https://developers.cloudflare.com/sandbox/configuration/sandbox-options/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/configuration/sandbox-options.mdx)
* [/sandbox/guides/background-processes/](https://developers.cloudflare.com/sandbox/guides/background-processes/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/guides/background-processes.mdx)
* [/sandbox/guides/backup-restore/](https://developers.cloudflare.com/sandbox/guides/backup-restore/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/guides/backup-restore.mdx)
* [/sandbox/guides/browser-terminals/](https://developers.cloudflare.com/sandbox/guides/browser-terminals/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/guides/browser-terminals.mdx)
* [/sandbox/guides/code-execution/](https://developers.cloudflare.com/sandbox/guides/code-execution/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/guides/code-execution.mdx)
* [/sandbox/guides/docker-in-docker/](https://developers.cloudflare.com/sandbox/guides/docker-in-docker/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/guides/docker-in-docker.mdx)
* [/sandbox/guides/execute-commands/](https://developers.cloudflare.com/sandbox/guides/execute-commands/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/guides/execute-commands.mdx)
* [/sandbox/guides/expose-services/](https://developers.cloudflare.com/sandbox/guides/expose-services/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/guides/expose-services.mdx)
* [/sandbox/guides/file-watching/](https://developers.cloudflare.com/sandbox/guides/file-watching/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/guides/file-watching.mdx)
* [/sandbox/guides/git-workflows/](https://developers.cloudflare.com/sandbox/guides/git-workflows/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/guides/git-workflows.mdx)
* [/sandbox/guides/manage-files/](https://developers.cloudflare.com/sandbox/guides/manage-files/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/guides/manage-files.mdx)
* [/sandbox/guides/mount-buckets/](https://developers.cloudflare.com/sandbox/guides/mount-buckets/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/guides/mount-buckets.mdx)
* [/sandbox/guides/outbound-traffic/](https://developers.cloudflare.com/sandbox/guides/outbound-traffic/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/guides/outbound-traffic.mdx)
* [/sandbox/guides/proxy-requests/](https://developers.cloudflare.com/sandbox/guides/proxy-requests/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/guides/proxy-requests.mdx)
* [/sandbox/guides/streaming-output/](https://developers.cloudflare.com/sandbox/guides/streaming-output/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/guides/streaming-output.mdx)
* [/sandbox/guides/websocket-connections/](https://developers.cloudflare.com/sandbox/guides/websocket-connections/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/guides/websocket-connections.mdx)
* [/sandbox/guides/workers-connections/](https://developers.cloudflare.com/sandbox/guides/workers-connections/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/guides/workers-connections.mdx)
* [/sandbox/tutorials/persistent-storage/](https://developers.cloudflare.com/sandbox/tutorials/persistent-storage/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/sandbox/tutorials/persistent-storage.mdx)
* [/stream/manage-video-library/bindings/](https://developers.cloudflare.com/stream/manage-video-library/bindings/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/stream/manage-video-library/bindings.mdx)
* [/stream/viewing-videos/securing-your-stream/](https://developers.cloudflare.com/stream/viewing-videos/securing-your-stream/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/stream/viewing-videos/securing-your-stream.mdx)
* [/workers-ai/features/function-calling/embedded/get-started/](https://developers.cloudflare.com/workers-ai/features/function-calling/embedded/get-started/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workers-ai/features/function-calling/embedded/get-started.mdx)
* [/workers-ai/features/markdown-conversion/usage/binding/](https://developers.cloudflare.com/workers-ai/features/markdown-conversion/usage/binding/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workers-ai/features/markdown-conversion/usage/binding.mdx)
* [/workers-ai/get-started/workers-wrangler/](https://developers.cloudflare.com/workers-ai/get-started/workers-wrangler/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workers-ai/get-started/workers-wrangler.mdx)
* [/workers/best-practices/workers-best-practices/](https://developers.cloudflare.com/workers/best-practices/workers-best-practices/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workers/best-practices/workers-best-practices.mdx)
* [/workers/ci-cd/builds/deploy-hooks/](https://developers.cloudflare.com/workers/ci-cd/builds/deploy-hooks/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workers/ci-cd/builds/deploy-hooks.mdx)
* [/workers/configuration/environment-variables/](https://developers.cloudflare.com/workers/configuration/environment-variables/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workers/configuration/environment-variables.mdx)
* [/workers/configuration/secrets/](https://developers.cloudflare.com/workers/configuration/secrets/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workers/configuration/secrets.mdx)
* [/workers/development-testing/](https://developers.cloudflare.com/workers/development-testing/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workers/development-testing/index.mdx)
* [/workers/development-testing/local-dev-tunnels/](https://developers.cloudflare.com/workers/development-testing/local-dev-tunnels/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workers/development-testing/local-dev-tunnels.mdx)
* [/workers/examples/analytics-engine/](https://developers.cloudflare.com/workers/examples/analytics-engine/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workers/examples/analytics-engine.mdx)
* [/workers/examples/spa-shell/](https://developers.cloudflare.com/workers/examples/spa-shell/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workers/examples/spa-shell.mdx)
* [/workers/framework-guides/web-apps/tanstack-start/](https://developers.cloudflare.com/workers/framework-guides/web-apps/tanstack-start/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workers/framework-guides/web-apps/tanstack-start.mdx)
* [/workers/platform/limits/](https://developers.cloudflare.com/workers/platform/limits/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workers/platform/limits.mdx)
* [/workers/reference/migrate-to-module-workers/](https://developers.cloudflare.com/workers/reference/migrate-to-module-workers/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workers/reference/migrate-to-module-workers.mdx)
* [/workers/runtime-apis/bindings/service-bindings/rpc/](https://developers.cloudflare.com/workers/runtime-apis/bindings/service-bindings/rpc/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workers/runtime-apis/bindings/service-bindings/rpc.mdx)
* [/workers/runtime-apis/nodejs/dns/](https://developers.cloudflare.com/workers/runtime-apis/nodejs/dns/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workers/runtime-apis/nodejs/dns.mdx)
* [/workers/runtime-apis/nodejs/net/](https://developers.cloudflare.com/workers/runtime-apis/nodejs/net/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workers/runtime-apis/nodejs/net.mdx)
* [/workers/runtime-apis/nodejs/timers/](https://developers.cloudflare.com/workers/runtime-apis/nodejs/timers/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workers/runtime-apis/nodejs/timers.mdx)
* [/workers/runtime-apis/rpc/](https://developers.cloudflare.com/workers/runtime-apis/rpc/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workers/runtime-apis/rpc/index.mdx)
* [/workers/runtime-apis/scheduler/](https://developers.cloudflare.com/workers/runtime-apis/scheduler/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workers/runtime-apis/scheduler.mdx)
* [/workers/static-assets/migration-guides/migrate-from-pages/](https://developers.cloudflare.com/workers/static-assets/migration-guides/migrate-from-pages/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workers/static-assets/migration-guides/migrate-from-pages.mdx)
* [/workers/static-assets/routing/single-page-application/](https://developers.cloudflare.com/workers/static-assets/routing/single-page-application/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workers/static-assets/routing/single-page-application.mdx)
* [/workers/static-assets/routing/worker-script/](https://developers.cloudflare.com/workers/static-assets/routing/worker-script/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workers/static-assets/routing/worker-script.mdx)
* [/workers/testing/vitest-integration/write-your-first-test/](https://developers.cloudflare.com/workers/testing/vitest-integration/write-your-first-test/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workers/testing/vitest-integration/write-your-first-test.mdx)
* [/workflows/build/call-workflows-from-pages/](https://developers.cloudflare.com/workflows/build/call-workflows-from-pages/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workflows/build/call-workflows-from-pages.mdx)
* [/workflows/build/events-and-parameters/](https://developers.cloudflare.com/workflows/build/events-and-parameters/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workflows/build/events-and-parameters.mdx)
* [/workflows/build/rules-of-workflows/](https://developers.cloudflare.com/workflows/build/rules-of-workflows/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workflows/build/rules-of-workflows.mdx)
* [/workflows/build/trigger-workflows/](https://developers.cloudflare.com/workflows/build/trigger-workflows/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workflows/build/trigger-workflows.mdx)
* [/workflows/build/workers-api/](https://developers.cloudflare.com/workflows/build/workers-api/)\-[Source](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/docs/workflows/build/workers-api.mdx)

**Partials**

* [src/content/partials/workers/navigation\_requests.mdx](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/partials/workers/navigation%5Frequests.mdx)
* [src/content/partials/workers/request-signal-example.mdx](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/partials/workers/request-signal-example.mdx)
* [src/content/partials/workers/service-binding-rpc-example.mdx](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/partials/workers/service-binding-rpc-example.mdx)
* [src/content/partials/workers/service-binding-rpc-functions-example.mdx](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/partials/workers/service-binding-rpc-functions-example.mdx)

## TypeScript examples

The `TypeScriptExample` component uses [ts-blank-space ↗](https://github.com/bloomberg/ts-blank-space) to remove TypeScript-specific syntax from your example and provide a JavaScript tab. This reduces maintenance burden by only having a single example to maintain.

This component is automatically used in the [GitHubCode](https://developers.cloudflare.com/style-guide/components/github-code/) component when the `lang` is set to `ts`.

Note

Some TypeScript syntax influences runtime behaviour, and cannot be stripped.

Please refer to the [Unsupported Syntax ↗](https://github.com/bloomberg/ts-blank-space?tab=readme-ov-file#unsupported-syntax) section of the project's README.

Warning

Code blocks are typically configured with options on the opening fence, like so:

```

```ts collapse={1-2}

// ...

```


```

These cannot be extracted by `TypeScriptExample` so they must be moved to the [code](#code) prop.

```

<TypeScriptExample code={{

  collapse: "1-2"

}}>

```ts

// ...

```

</TypeScriptExample>


```

## Component

* [  JavaScript ](#tab-panel-8499)
* [  TypeScript ](#tab-panel-8500)

JavaScript

```

2 collapsed lines

// comment to demonstrate

// collapsible sections


export default {

  async fetch(req, env, ctx) {

    if (req !== "POST") {

      return new Response("Method Not Allowed", {

        status: 405,

        headers: {

          Allow: "POST",

        },

      });

    }


    await env.KV.put("foo", "bar");


    return new Response();

  },

};


```

TypeScript

```

2 collapsed lines

// comment to demonstrate

// collapsible sections

interface Environment {

  KV: KVNamespace;

}


export default {

  async fetch(req, env, ctx): Promise<Response> {

    if (req !== "POST") {

        return new Response("Method Not Allowed", {

            status: 405,

            headers: {

                "Allow": "POST"

            }

        });

    }


    await env.KV.put("foo", "bar");


    return new Response();

  }

} satisfies ExportedHandler<Environment>


```

```

import { TypeScriptExample } from "~/components";


<TypeScriptExample code={{

  collapse: "1-2"

}}>

```ts

// comment to demonstrate

// collapsible sections

interface Environment {

  KV: KVNamespace;

}


export default {

  async fetch(req, env, ctx): Promise<Response> {

    if (req !== "POST") {

        return new Response("Method Not Allowed", {

            status: 405,

            headers: {

                "Allow": "POST"

            }

        });

    }


    await env.KV.put("foo", "bar");


    return new Response();

  }

} satisfies ExportedHandler<Environment>

```

</TypeScriptExample>


```

## `<TypeScriptExample>` Props

### `filename`

**type:** `string`

An optional filename, ending in `.ts`.

`.ts` will be replaced by `.js` for the JavaScript tab.

### `playground`

**type:** `boolean`

If set to `true`, a [Run Worker in Playground](https://developers.cloudflare.com/style-guide/formatting/code-block-guidelines/#workers-playground) button will appear on the JavaScript tab.

### `code`

**type**: `object`

Props to pass to the [Expressive Code component ↗](https://expressive-code.com/key-features/code-component/).

These props will apply to both code blocks and so options like `collapse` may not work as expected, as lines may be removed from the TypeScript code.

```json
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"/directory/","name":"Directory"}},{"@type":"ListItem","position":2,"item":{"@id":"/style-guide/","name":"Style Guide"}},{"@type":"ListItem","position":3,"item":{"@id":"/style-guide/components/","name":"Components"}},{"@type":"ListItem","position":4,"item":{"@id":"/style-guide/components/typescript-example/","name":"TypeScript example"}}]}
```
