{"version":3,"sources":["webpack:///./src/components/latency_test.js","webpack:///./src/pages/index.js"],"names":["states","INIT","TESTING","TESTED","ERROR","getLatencyToCloudflare","load","a","started","fetch","TEST_URL","mode","cache","NUM_TESTS","entries","performance","getEntriesByName","min","Infinity","i","Math","max","length","duration","responseEnd","fetchStart","useState","state","setState","latency","setLatency","testLatency","newLatency","isNaN","useEffect","includes","className","disabled","onClick","IndexPage","href","language","aria-label","xmlns","viewBox","fill","aria-labelledby","id","d","alt","src","light-theme-only","dark-theme-only","data-js-popover","style","position","left"],"mappings":"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","file":"component---src-pages-index-js-d2d77c276ececfa75cd6.js","sourcesContent":["import React, { useState, useEffect } from \"react\"\n\nconst states = {\n INIT: \"init\",\n TESTING: \"testing\",\n TESTED: \"tested\",\n ERROR: \"error\",\n}\n\nconst getLatencyToCloudflare = async () => {\n const TEST_URL = \"https://1.1.1.1/cdn-cgi/trace\"\n const NUM_TESTS = 5\n\n let started = 0\n async function load() {\n started++\n\n await fetch(TEST_URL, {\n mode: \"no-cors\",\n cache: \"no-store\",\n })\n\n if (started < NUM_TESTS) await load()\n }\n\n await load()\n let entries = performance.getEntriesByName(TEST_URL, \"resource\")\n let min = Infinity\n\n for (\n let i = Math.max(0, entries.length - NUM_TESTS);\n i < entries.length;\n i++\n ) {\n // iOS Safari doesn’t report duration\n const duration =\n entries[i].duration || entries[i].responseEnd - entries[i].fetchStart\n\n if (duration < min) min = duration\n }\n\n return min | 0\n}\n\nexport default () => {\n const [state, setState] = useState(states.INIT)\n const [latency, setLatency] = useState(null)\n\n const testLatency = async () => {\n try {\n setState(states.TESTING)\n const newLatency = await getLatencyToCloudflare()\n if (isNaN(newLatency) || newLatency === 0 || newLatency > 50)\n setLatency(null)\n\n setLatency(newLatency)\n setState(states.TESTED)\n } catch (err) {\n setState(states.ERROR)\n }\n }\n\n useEffect(() => {\n testLatency()\n }, [])\n\n return [states.INIT, states.ERROR].includes(state) ? null : (\n
\n Your actual latency:{\" \"}\n {latency && (\n \n {latency} ms\n \n )}{\" \"}\n \n \n \n
\n )\n}\n","import React from \"react\"\n\nimport LatencyTest from '../components/latency_test'\nimport Layout from \"../components/layout\"\nimport SEO from \"../components/seo\"\n\nimport \"@cloudflare/cloudflare-brand-assets/css/components/number.css\"\nimport \"@cloudflare/cloudflare-brand-assets/css/components/superscript.css\"\nimport \"@cloudflare/cloudflare-brand-assets/css/components/link.css\"\nimport \"@cloudflare/cloudflare-brand-assets/css/components/button.css\"\nimport \"@cloudflare/cloudflare-brand-assets/css/components/inline-code.css\"\nimport \"@cloudflare/cloudflare-brand-assets/css/components/code-block.css\"\nimport \"@cloudflare/cloudflare-brand-assets/css/components/markdown-lite.css\"\nimport \"@cloudflare/cloudflare-brand-assets/css/components/unordered-list-workers-themed.css\"\n\nimport \"./section-css/hero-section.css\"\nimport \"./section-css/quote-section.css\"\nimport \"./section-css/great-power-section.css\"\nimport \"./section-css/benefits-section.css\"\nimport \"./section-css/customer-logos-section.css\"\nimport \"./section-css/plans-section.css\"\n\nconst IndexPage = () => {\n return (\nDeploy serverless code instantly across the globe to give it exceptional performance, reliability, and scale.
\n# Install Wrangler, and log into your account
\n ~/ $ npm install -g @cloudflare/wrangler
\n ~/ $ wrangler login
\n
\n # Create and publish a “Hello World” Worker
\n ~/ $ wrangler generate hello
\n ~/ $ cd hello
\n ~/hello $ wrangler subdomain world
\n ~/hello $ wrangler publish
\n Published https://hello.world.workers.dev
\n \n\n“Cloudflare Workers has changed the way we build our apps. We don’t have to think about regions, we just deploy code and it runs seamlessly around the world.”
\n
Every deploy is made to a network of data centers running V8 isolates. Your code is powered by Cloudflare’s network which is milliseconds away from virtually every Internet user.
\nMost serverless platforms experience a cold start every time you deploy or your service increases in popularity. Workers can run your code instantly, without cold starts.
\nThe first 100,000 requests each day are free and paid plans start at just $5/10 million requests, making Workers as much as ten-times less expensive than other serverless platforms.
\nFor a 50ms Worker compute workload including API Gateway & other required services
\nStore your static assets at the edge with Workers KV, our global, low-latency key-value data store. Access your assets alongside your code and transform them via powerful APIs (e.g. HTMLrewriter) to modify your page before it reaches the user.
\n