UNPKG

@ayonli/jsext

Version:

A JavaScript extension package for building strong and modern applications.

42 lines (39 loc) 1.98 kB
'use strict'; var _a, _b; const id = Symbol.for("id"); const isBrowserWindow = typeof window === "object" && typeof window.document === "object" && typeof window.matchMedia === "function"; const isServiceWorker = typeof ServiceWorkerGlobalScope === "function" && globalThis instanceof ServiceWorkerGlobalScope; const isSharedWorker = typeof SharedWorkerGlobalScope === "function" && globalThis instanceof SharedWorkerGlobalScope; const isDedicatedWorker = typeof DedicatedWorkerGlobalScope === "function" && globalThis instanceof DedicatedWorkerGlobalScope; const isWorker = isServiceWorker || isSharedWorker || isDedicatedWorker; const isDeno = typeof Deno === "object" && !!((_a = Deno.version) === null || _a === void 0 ? void 0 : _a.deno); const isBun = typeof Bun === "object" && !!Bun.version; const isNodeLike = typeof process === "object" && !!((_b = process.versions) === null || _b === void 0 ? void 0 : _b.node) && !isDeno; const isNode = isNodeLike && !isDeno && !isBun; const isNodeBelow14 = isNode && parseInt(process.version.slice(1)) < 14; const isNodeBelow16 = isNode && parseInt(process.version.slice(1)) < 16; const isNodeBelow20 = isNode && parseInt(process.version.slice(1)) < 20; const isNodeWorkerThread = isNode && (process.abort.disabled === true || process.argv.includes("--worker-thread")); const isMainThread = !isNodeWorkerThread && (isBun ? Bun.isMainThread : typeof WorkerGlobalScope === "undefined"); exports.id = id; exports.isBrowserWindow = isBrowserWindow; exports.isBun = isBun; exports.isDedicatedWorker = isDedicatedWorker; exports.isDeno = isDeno; exports.isMainThread = isMainThread; exports.isNode = isNode; exports.isNodeBelow14 = isNodeBelow14; exports.isNodeBelow16 = isNodeBelow16; exports.isNodeBelow20 = isNodeBelow20; exports.isNodeLike = isNodeLike; exports.isServiceWorker = isServiceWorker; exports.isSharedWorker = isSharedWorker; exports.isWorker = isWorker; //# sourceMappingURL=env.js.map