aozhiwei 0a973d12e3 1
2022-01-27 17:32:21 +08:00

32 lines
908 B
JavaScript

var isNode = Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]';
var isRN = typeof navigator !== 'undefined' && navigator.product === 'ReactNative';
var _btoa = null;
var helpers = null;
if (isNode || isRN) {
_btoa = function (str) {
return Buffer.from(str).toString('base64');
};
var url = require('url');
if (url.URL) {
// Use the new Node 6+ API for parsing URLs that supports username/password
var newURL = url.URL;
helpers = function (url) {
return new newURL(url);
};
}
else {
// Web3 supports Node.js 5, so fall back to the legacy URL API if necessary
helpers = require('url').parse;
}
}
else {
_btoa = btoa.bind(window);
helpers = function (url) {
return new URL(url);
};
}
module.exports = {
parseURL: helpers,
btoa: _btoa
};