Spaces:
Runtime error
Runtime error
| const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined'; | |
| /** | |
| * Determine if we're running in a standard browser environment | |
| * | |
| * This allows axios to run in a web worker, and react-native. | |
| * Both environments support XMLHttpRequest, but not fully standard globals. | |
| * | |
| * web workers: | |
| * typeof window -> undefined | |
| * typeof document -> undefined | |
| * | |
| * react-native: | |
| * navigator.product -> 'ReactNative' | |
| * nativescript | |
| * navigator.product -> 'NativeScript' or 'NS' | |
| * | |
| * @returns {boolean} | |
| */ | |
| const hasStandardBrowserEnv = ( | |
| (product) => { | |
| return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0 | |
| })(typeof navigator !== 'undefined' && navigator.product); | |
| /** | |
| * Determine if we're running in a standard browser webWorker environment | |
| * | |
| * Although the `isStandardBrowserEnv` method indicates that | |
| * `allows axios to run in a web worker`, the WebWorker will still be | |
| * filtered out due to its judgment standard | |
| * `typeof window !== 'undefined' && typeof document !== 'undefined'`. | |
| * This leads to a problem when axios post `FormData` in webWorker | |
| */ | |
| const hasStandardBrowserWebWorkerEnv = (() => { | |
| return ( | |
| typeof WorkerGlobalScope !== 'undefined' && | |
| // eslint-disable-next-line no-undef | |
| self instanceof WorkerGlobalScope && | |
| typeof self.importScripts === 'function' | |
| ); | |
| })(); | |
| export { | |
| hasBrowserEnv, | |
| hasStandardBrowserWebWorkerEnv, | |
| hasStandardBrowserEnv | |
| } | |