TypeScript example
TypeScriptExample is used 116 times on 47 pages.
Pages which use TypeScriptExample
 - src/content/partials/workers/navigation_requests.mdx
 - src/content/partials/workers/request-signal-example.mdx
 - src/content/partials/workers/service-binding-rpc-example.mdx
 - src/content/partials/workers/service-binding-rpc-functions-example.mdx
 - src/content/docs/workflows/build/call-workflows-from-pages.mdx
 - src/content/docs/workflows/build/events-and-parameters.mdx
 - src/content/docs/workflows/build/rules-of-workflows.mdx
 - src/content/docs/workflows/build/workers-api.mdx
 - src/content/docs/workers-ai/get-started/workers-wrangler.mdx
 - src/content/docs/workers-ai/features/function-calling/embedded/get-started.mdx
 - src/content/docs/workers/testing/vitest-integration/write-your-first-test.mdx
 - src/content/docs/workers/static-assets/direct-upload.mdx
 - src/content/docs/workers/static-assets/routing/worker-script.mdx
 - src/content/docs/workers/static-assets/migration-guides/migrate-from-pages.mdx
 - src/content/docs/workers/runtime-apis/rpc/index.mdx
 - src/content/docs/workers/runtime-apis/nodejs/dns.mdx
 - src/content/docs/workers/runtime-apis/nodejs/net.mdx
 - src/content/docs/workers/runtime-apis/nodejs/timers.mdx
 - src/content/docs/workers/get-started/prompting.mdx
 - src/content/docs/workers/development-testing/index.mdx
 - src/content/docs/durable-objects/get-started.mdx
 - src/content/docs/durable-objects/api/base.mdx
 - src/content/docs/durable-objects/api/storage-api.mdx
 - src/content/docs/developer-spotlight/tutorials/fullstack-authentication-with-next-js-and-cloudflare-d1.mdx
 - src/content/docs/d1/get-started.mdx
 - src/content/docs/agents/index.mdx
 - src/content/docs/agents/model-context-protocol/mcp-agent-api.mdx
 - src/content/docs/agents/model-context-protocol/tools.mdx
 - src/content/docs/agents/api-reference/agents-api.mdx
 - src/content/docs/agents/api-reference/browse-the-web.mdx
 - src/content/docs/agents/api-reference/calling-agents.mdx
 - src/content/docs/agents/api-reference/http-sse.mdx
 - src/content/docs/agents/api-reference/rag.mdx
 - src/content/docs/agents/api-reference/run-workflows.mdx
 - src/content/docs/agents/api-reference/schedule-tasks.mdx
 - src/content/docs/agents/api-reference/store-and-sync-state.mdx
 - src/content/docs/agents/api-reference/using-ai-models.mdx
 - src/content/docs/agents/api-reference/websockets.mdx
 - src/content/changelog/workflows/2025-04-07-workflows-ga.mdx
 - src/content/changelog/workers-for-platforms/2025-01-31-workers-platforms-static-assets.mdx
 - src/content/changelog/workers-ai/2025-02-25-json-mode.mdx
 - src/content/changelog/workers/2024-11-11-cache-no-store.mdx
 - src/content/changelog/workers/2025-01-28-nodejs-compat-improvements.mdx
 - src/content/changelog/workers/2025-01-31-html-rewriter-streaming.mdx
 - src/content/changelog/browser-rendering/2025-01-30-browser-rendering-more-instances.mdx
 - src/content/changelog/agents/2025-03-18-npm-i-agents.mdx
 - src/content/changelog/agents/2025-04-07-mcp-servers-agents-sdk-updates.mdx
 
The TypeScriptExample component uses 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 component when the lang is set to ts.
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();  },};2 collapsed lines
// comment to demonstrate// collapsible sectionsinterface 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 sectionsinterface 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>type: string
An optional filename, ending in .ts.
.ts will be replaced by .js for the JavaScript tab.
type: boolean
If set to true, a Run Worker in Playground button will appear on the JavaScript tab.
type: object
Props to pass to the Expressive 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.
Was this helpful?
- Resources
 - API
 - New to Cloudflare?
 - Products
 - Sponsorships
 - Open Source
 
- Support
 - Help Center
 - System Status
 - Compliance
 - GDPR
 
- Company
 - cloudflare.com
 - Our team
 - Careers
 
- 2025 Cloudflare, Inc.
 - Privacy Policy
 - Terms of Use
 - Report Security Issues
 - Trademark