OverviewFilesCommitsIssuesDocsReleasesPeers

mirall-cli / node_modules / which-runtime / index.js

37 lines · javascript ref:
const { runtime, platform, arch, version } =
  typeof Bare !== 'undefined'
    ? {
        runtime: 'bare',
        platform: global.Bare.platform,
        arch: global.Bare.arch,
        version: global.Bare.version
      }
    : typeof process !== 'undefined'
      ? {
          runtime: 'node',
          platform: global.process.platform,
          arch: global.process.arch,
          version: global.process.version
        }
      : typeof Window !== 'undefined'
        ? { runtime: 'browser', platform: 'unknown', arch: 'unknown', version: 'unknown' }
        : { runtime: 'unknown', platform: 'unknown', arch: 'unknown', version: 'unknown' }

exports.runtime = runtime
exports.version = version
exports.platform = platform
exports.arch = arch
exports.isBare = runtime === 'bare'
exports.isBareKit = exports.isBare && typeof BareKit !== 'undefined'
exports.isPear = typeof Pear !== 'undefined'
exports.isNode = runtime === 'node'
exports.isBrowser = runtime === 'browser'
exports.isWindows = platform === 'win32'
exports.isLinux = platform === 'linux'
exports.isMac = platform === 'darwin'
exports.isIOS = platform === 'ios' || platform === 'ios-simulator'
exports.isAndroid = platform === 'android'
exports.isElectron = typeof process !== 'undefined' && !!global.process.versions?.electron
exports.isElectronRenderer = exports.isElectron && global.process.type === 'renderer'
exports.isElectronWorker = exports.isElectron && global.process.type === 'worker'