@walletconnect/utils
Advanced tools
Comparing version 1.0.0-beta.59 to 1.0.0-beta.60
/// <reference types="node" /> | ||
import { BrowserInfo, BotInfo, NodeInfo } from 'detect-browser'; | ||
import { ITxData, IClientMeta, IParseURIResult, IJsonRpcSubscription, IJsonRpcRequest, IJsonRpcResponseSuccess, IJsonRpcResponseError, IJsonRpcErrorMessage, IInternalEvent, IWalletConnectSession } from '@walletconnect/types'; | ||
@@ -25,2 +26,7 @@ export declare function convertArrayBufferToBuffer(arrayBuffer: ArrayBuffer): Buffer; | ||
export declare function convertHexToNumber(hex: string): number; | ||
export declare function isMobile(): boolean; | ||
export declare function getQueryString(url: string): string; | ||
export declare function appendToQueryString(queryString: string, newQueryParams: any): string; | ||
export declare function formatQueryString(queryParams: any): string; | ||
export declare function detectEnv(userAgent?: string): BrowserInfo | BotInfo | NodeInfo | null; | ||
export declare function sanitizeHex(hex: string): string; | ||
@@ -58,2 +64,5 @@ export declare function addHexPrefix(hex: string): string; | ||
export declare function logDeprecationWarning(): void; | ||
export declare function isIOS(): boolean; | ||
export declare function isAndroid(): boolean; | ||
export declare function isNode(): boolean; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -5,2 +5,3 @@ "use strict"; | ||
const bignumber_js_1 = tslib_1.__importDefault(require("bignumber.js")); | ||
const detect_browser_1 = require("detect-browser"); | ||
const bytes_1 = require("@ethersproject/bytes"); | ||
@@ -146,2 +147,61 @@ const address_1 = require("@ethersproject/address"); | ||
// -- Misc ------------------------------------------------- // | ||
function isMobile() { | ||
let mobile = false; | ||
function hasTouchEvent() { | ||
try { | ||
document.createEvent('TouchEvent'); | ||
return true; | ||
} | ||
catch (e) { | ||
return false; | ||
} | ||
} | ||
function hasMobileUserAgent() { | ||
if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent) || | ||
/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(navigator.userAgent.substr(0, 4))) { | ||
return true; | ||
} | ||
else if (hasTouchEvent()) { | ||
return true; | ||
} | ||
return false; | ||
} | ||
mobile = hasMobileUserAgent(); | ||
return mobile; | ||
} | ||
exports.isMobile = isMobile; | ||
function getQueryString(url) { | ||
const pathEnd = url.indexOf('?') !== -1 ? url.indexOf('?') : undefined; | ||
const queryString = typeof pathEnd !== 'undefined' ? url.substr(pathEnd) : ''; | ||
return queryString; | ||
} | ||
exports.getQueryString = getQueryString; | ||
function appendToQueryString(queryString, newQueryParams) { | ||
let queryParams = parseQueryString(queryString); | ||
queryParams = Object.assign(Object.assign({}, queryParams), newQueryParams); | ||
queryString = formatQueryString(queryParams); | ||
return queryString; | ||
} | ||
exports.appendToQueryString = appendToQueryString; | ||
function formatQueryString(queryParams) { | ||
let result = ''; | ||
const keys = Object.keys(queryParams); | ||
if (keys) { | ||
keys.forEach((key, idx) => { | ||
const value = queryParams[key]; | ||
if (idx === 0) { | ||
result = `?${key}=${value}`; | ||
} | ||
else { | ||
result = result + `&${key}=${value}`; | ||
} | ||
}); | ||
} | ||
return result; | ||
} | ||
exports.formatQueryString = formatQueryString; | ||
function detectEnv(userAgent) { | ||
return detect_browser_1.detect(userAgent); | ||
} | ||
exports.detectEnv = detectEnv; | ||
function sanitizeHex(hex) { | ||
@@ -526,2 +586,20 @@ hex = removeHexPrefix(hex); | ||
exports.logDeprecationWarning = logDeprecationWarning; | ||
function isIOS() { | ||
const env = detectEnv(); | ||
const result = env && env.os ? env.os.toLowerCase() === 'ios' : false; | ||
return result; | ||
} | ||
exports.isIOS = isIOS; | ||
function isAndroid() { | ||
const env = detectEnv(); | ||
const result = env && env.os ? env.os.toLowerCase() === 'android' : false; | ||
return result; | ||
} | ||
exports.isAndroid = isAndroid; | ||
function isNode() { | ||
const env = detectEnv(); | ||
const result = env && env.name ? env.name.toLowerCase() === 'node' : false; | ||
return result; | ||
} | ||
exports.isNode = isNode; | ||
//# sourceMappingURL=index.js.map |
{ | ||
"name": "@walletconnect/utils", | ||
"version": "1.0.0-beta.59", | ||
"version": "1.0.0-beta.60", | ||
"description": "Utility Library for WalletConnect", | ||
@@ -65,6 +65,7 @@ "scripts": { | ||
"@ethersproject/strings": "5.0.0-beta.136", | ||
"@walletconnect/types": "^1.0.0-beta.59", | ||
"bignumber.js": "9.0.0" | ||
"@walletconnect/types": "^1.0.0-beta.60", | ||
"bignumber.js": "9.0.0", | ||
"detect-browser": "4.8.0" | ||
}, | ||
"gitHead": "165f7993c2acc907c653c02847fb02721052c6e7" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
369409
1075
6
+ Addeddetect-browser@4.8.0
+ Addeddetect-browser@4.8.0(transitive)