download
raw
1.45 kB
// 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
};

Xet Storage Details

Size:
1.45 kB
·
Xet hash:
719b4fd495d7d569beb23baec1d904b75c9a0edbd9edb6d6982aa5e6e7417914

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.