UNPKG

wsemi

Version:

A support package for web developer.

46 lines (34 loc) 1.12 kB
import isWindow from './isWindow.mjs' /** * 取得運行環境 * * Unit Test: {@link https://github.com/yuda-lyu/wsemi/blob/master/test/getEnv.test.mjs Github} * @memberOf wsemi * @returns {Object} 回傳運行環境物件 * @example * * console.log(getEnv()) * // => { isWindow: false, isWebWorker: false, isNode: true } * */ function getEnv() { //isBrowser let isBrowser = isWindow() //isWebWorker //let isWebWorker = typeof self === 'object' && self.constructor && self.constructor.name === 'DedicatedWorkerGlobalScope' //於ie11的webworker內失效 let isWebWorker = typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope //isNode let isNode = typeof process !== 'undefined' && process.versions != null && process.versions.node != null //若在WebWorker也代表在瀏覽器 isBrowser = isBrowser || isWebWorker //此處沒偵測nodejs的Worker Threads let r = { isBrowser, isWebWorker, isNode } return r } export default getEnv