diff options
Diffstat (limited to 'desktop/node_modules/axios/lib/platform/browser/index.js')
-rw-r--r-- | desktop/node_modules/axios/lib/platform/browser/index.js | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/desktop/node_modules/axios/lib/platform/browser/index.js b/desktop/node_modules/axios/lib/platform/browser/index.js new file mode 100644 index 0000000..4d2203f --- /dev/null +++ b/desktop/node_modules/axios/lib/platform/browser/index.js @@ -0,0 +1,64 @@ +import URLSearchParams from './classes/URLSearchParams.js' +import FormData from './classes/FormData.js' +import Blob from './classes/Blob.js' + +/** + * 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 isStandardBrowserEnv = (() => { + let product; + if (typeof navigator !== 'undefined' && ( + (product = navigator.product) === 'ReactNative' || + product === 'NativeScript' || + product === 'NS') + ) { + return false; + } + + return typeof window !== 'undefined' && typeof document !== 'undefined'; +})(); + +/** + * 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 isStandardBrowserWebWorkerEnv = (() => { + return ( + typeof WorkerGlobalScope !== 'undefined' && + // eslint-disable-next-line no-undef + self instanceof WorkerGlobalScope && + typeof self.importScripts === 'function' + ); +})(); + + +export default { + isBrowser: true, + classes: { + URLSearchParams, + FormData, + Blob + }, + isStandardBrowserEnv, + isStandardBrowserWebWorkerEnv, + protocols: ['http', 'https', 'file', 'blob', 'url', 'data'] +}; |