@walletconnect/utils
Advanced tools
Comparing version 1.0.0-beta.86 to 1.0.0-beta.87
import { BrowserInfo, BotInfo, NodeInfo } from "detect-browser"; | ||
import { IClientMeta } from "@walletconnect/types"; | ||
export declare function unsafeGetFromWindow<T>(name: string): T | undefined; | ||
export declare function safeGetFromWindow<T>(name: string): T; | ||
export declare function isMobile(): boolean; | ||
@@ -4,0 +6,0 @@ export declare function getMeta(): IClientMeta | null; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const detect_browser_1 = require("detect-browser"); | ||
function unsafeGetFromWindow(name) { | ||
let res = undefined; | ||
if (typeof window !== "undefined" && typeof window[name] !== "undefined") { | ||
res = window[name]; | ||
} | ||
return res; | ||
} | ||
exports.unsafeGetFromWindow = unsafeGetFromWindow; | ||
function safeGetFromWindow(name) { | ||
const res = unsafeGetFromWindow(name); | ||
if (!res) { | ||
throw new Error(`${name} is not defined in Window`); | ||
} | ||
return res; | ||
} | ||
exports.safeGetFromWindow = safeGetFromWindow; | ||
function isMobile() { | ||
@@ -8,3 +24,3 @@ let mobile = false; | ||
try { | ||
document.createEvent("TouchEvent"); | ||
safeGetFromWindow("document").createEvent("TouchEvent"); | ||
return true; | ||
@@ -17,4 +33,4 @@ } | ||
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))) { | ||
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(safeGetFromWindow("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(safeGetFromWindow("navigator").userAgent.substr(0, 4))) { | ||
return true; | ||
@@ -32,10 +48,13 @@ } | ||
function getMeta() { | ||
var _a, _b; | ||
if (typeof window === "undefined" || | ||
typeof ((_a = window) === null || _a === void 0 ? void 0 : _a.document) === "undefined" || | ||
typeof ((_b = window) === null || _b === void 0 ? void 0 : _b.location) === "undefined") { | ||
let doc; | ||
let loc; | ||
try { | ||
doc = safeGetFromWindow("document"); | ||
loc = safeGetFromWindow("location"); | ||
} | ||
catch (e) { | ||
return null; | ||
} | ||
function getIcons() { | ||
const links = document.getElementsByTagName("link"); | ||
const links = doc.getElementsByTagName("link"); | ||
const icons = []; | ||
@@ -52,3 +71,3 @@ for (let i = 0; i < links.length; i++) { | ||
href.indexOf("//") !== 0) { | ||
let absoluteHref = window.location.protocol + "//" + window.location.host; | ||
let absoluteHref = loc.protocol + "//" + loc.host; | ||
if (href.indexOf("/") === 0) { | ||
@@ -58,3 +77,3 @@ absoluteHref += href; | ||
else { | ||
const path = window.location.pathname.split("/"); | ||
const path = loc.pathname.split("/"); | ||
path.pop(); | ||
@@ -67,3 +86,3 @@ const finalPath = path.join("/"); | ||
else if (href.indexOf("//") === 0) { | ||
const absoluteUrl = window.location.protocol + href; | ||
const absoluteUrl = loc.protocol + href; | ||
icons.push(absoluteUrl); | ||
@@ -81,3 +100,3 @@ } | ||
function getMetaOfAny(...args) { | ||
const metaTags = document.getElementsByTagName("meta"); | ||
const metaTags = doc.getElementsByTagName("meta"); | ||
for (let i = 0; i < metaTags.length; i++) { | ||
@@ -104,3 +123,3 @@ const tag = metaTags[i]; | ||
if (!name) { | ||
name = document.title; | ||
name = doc.title; | ||
} | ||
@@ -115,3 +134,3 @@ return name; | ||
const description = getDescription(); | ||
const url = window.location.origin; | ||
const url = loc.origin; | ||
const icons = getIcons(); | ||
@@ -193,3 +212,3 @@ const meta = { | ||
function isBrowser() { | ||
const result = !isNode() && typeof window !== "undefined" && typeof window.navigator !== "undefined"; | ||
const result = !isNode() && !!unsafeGetFromWindow("navigator"); | ||
return result; | ||
@@ -196,0 +215,0 @@ } |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const misc_1 = require("./misc"); | ||
function getLocalStorage() { | ||
let local; | ||
try { | ||
if (typeof window !== "undefined" && typeof window.localStorage !== "undefined") { | ||
local = window.localStorage; | ||
} | ||
} | ||
catch (e) { | ||
} | ||
return local; | ||
} | ||
const browser_1 = require("./browser"); | ||
function setLocal(key, data) { | ||
const raw = misc_1.safeJsonStringify(data); | ||
const local = getLocalStorage(); | ||
const local = browser_1.unsafeGetFromWindow("localStorage"); | ||
if (local) { | ||
@@ -26,3 +16,3 @@ local.setItem(key, raw); | ||
let raw = null; | ||
const local = getLocalStorage(); | ||
const local = browser_1.unsafeGetFromWindow("localStorage"); | ||
if (local) { | ||
@@ -36,3 +26,3 @@ raw = local.getItem(key); | ||
function removeLocal(key) { | ||
const local = getLocalStorage(); | ||
const local = browser_1.unsafeGetFromWindow("localStorage"); | ||
if (local) { | ||
@@ -39,0 +29,0 @@ local.removeItem(key); |
{ | ||
"name": "@walletconnect/utils", | ||
"version": "1.0.0-beta.86", | ||
"version": "1.0.0-beta.87", | ||
"description": "Utility Library for WalletConnect", | ||
@@ -61,3 +61,3 @@ "scripts": { | ||
"@ethersproject/strings": "5.0.0-beta.136", | ||
"@walletconnect/types": "^1.0.0-beta.86", | ||
"@walletconnect/types": "^1.0.0-beta.87", | ||
"bn.js": "4.11.8", | ||
@@ -64,0 +64,0 @@ "detect-browser": "4.8.0" |
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 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
364340
1140