UNPKG

browser-or-node

Version:

Check in which environment the code is running - browser/node.js/webworker/jsdom/deno

55 lines (53 loc) 2.17 kB
var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/index.ts var src_exports = {}; __export(src_exports, { isBrowser: () => isBrowser, isBun: () => isBun, isDeno: () => isDeno, isJsDom: () => isJsDom, isNode: () => isNode, isWebWorker: () => isWebWorker }); module.exports = __toCommonJS(src_exports); var isBrowser = typeof window !== "undefined" && typeof window.document !== "undefined"; var isNode = ( // @ts-expect-error typeof process !== "undefined" && // @ts-expect-error process.versions != null && // @ts-expect-error process.versions.node != null ); var isWebWorker = typeof self === "object" && self.constructor && self.constructor.name === "DedicatedWorkerGlobalScope"; var isJsDom = typeof window !== "undefined" && window.name === "nodejs" || typeof navigator !== "undefined" && "userAgent" in navigator && typeof navigator.userAgent === "string" && (navigator.userAgent.includes("Node.js") || navigator.userAgent.includes("jsdom")); var isDeno = ( // @ts-expect-error typeof Deno !== "undefined" && // @ts-expect-error typeof Deno.version !== "undefined" && // @ts-expect-error typeof Deno.version.deno !== "undefined" ); var isBun = typeof process !== "undefined" && process.versions != null && process.versions.bun != null; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { isBrowser, isBun, isDeno, isJsDom, isNode, isWebWorker });