UNPKG

@kraken-crypto/ccxt

Version:

A cryptocurrency trading API with more than 100 exchanges in JavaScript / TypeScript / Python / C# / PHP / Go

31 lines (27 loc) 1.45 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); // @ts-nocheck // ---------------------------------------------------------------------------- // There's been a lot of messing with this code... // The problem is to satisfy the following requirements: // - properly detect isNode == true on server side and isNode == false in the browser (on client side) // - make sure create-react-app, react-starter-kit and other react frameworks work // - make sure it does not break the browserified version (when linked into a html from a cdn) // - make sure it does not break the webpacking and babel-transpiled scripts // - make sure it works in Electron // - make sure it works with Angular.js // - make sure it does not break other possible usage scenarios const isBrowser = typeof window !== 'undefined'; const isElectron = typeof process !== 'undefined' && typeof process.versions !== 'undefined' && typeof process.versions.electron !== 'undefined'; const isWebWorker = typeof WorkerGlobalScope !== 'undefined' && (self instanceof WorkerGlobalScope); const isWindows = typeof process !== 'undefined' && process.platform === "win32"; const isDeno = typeof Deno !== 'undefined'; const isNode = !(isBrowser || isWebWorker || isDeno); exports.isBrowser = isBrowser; exports.isDeno = isDeno; exports.isElectron = isElectron; exports.isNode = isNode; exports.isWebWorker = isWebWorker; exports.isWindows = isWindows;