| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- // src/helper/adapter/index.ts
- var env = (c, runtime) => {
- const global = globalThis;
- const globalEnv = global?.process?.env;
- runtime ??= getRuntimeKey();
- const runtimeEnvHandlers = {
- bun: () => globalEnv,
- node: () => globalEnv,
- "edge-light": () => globalEnv,
- deno: () => {
- return Deno.env.toObject();
- },
- workerd: () => c.env,
- // On Fastly Compute, you can use the ConfigStore to manage user-defined data.
- fastly: () => ({}),
- other: () => ({})
- };
- return runtimeEnvHandlers[runtime]();
- };
- var knownUserAgents = {
- deno: "Deno",
- bun: "Bun",
- workerd: "Cloudflare-Workers",
- node: "Node.js"
- };
- var getRuntimeKey = () => {
- const global = globalThis;
- const userAgentSupported = typeof navigator !== "undefined" && typeof navigator.userAgent === "string";
- if (userAgentSupported) {
- for (const [runtimeKey, userAgent] of Object.entries(knownUserAgents)) {
- if (checkUserAgentEquals(userAgent)) {
- return runtimeKey;
- }
- }
- }
- if (typeof global?.EdgeRuntime === "string") {
- return "edge-light";
- }
- if (global?.fastly !== void 0) {
- return "fastly";
- }
- if (global?.process?.release?.name === "node") {
- return "node";
- }
- return "other";
- };
- var checkUserAgentEquals = (platform) => {
- const userAgent = navigator.userAgent;
- return userAgent.startsWith(platform);
- };
- export {
- checkUserAgentEquals,
- env,
- getRuntimeKey,
- knownUserAgents
- };
|