@goldsb/wc-utils
Version:
Utility Library for WalletConnect
33 lines • 1.28 kB
JavaScript
import { parseQueryString } from "./url";
export function isWalletConnectSession(object) {
return typeof object.bridge !== "undefined";
}
export function parseWalletConnectUri(str) {
const pathStart = str.indexOf(":");
const pathEnd = str.indexOf("?") !== -1 ? str.indexOf("?") : undefined;
const protocol = str.substring(0, pathStart);
const path = str.substring(pathStart + 1, pathEnd);
function parseRequiredParams(path) {
const separator = "@";
const values = path.split(separator);
const requiredParams = {
handshakeTopic: values[0],
version: parseInt(values[1], 10),
};
return requiredParams;
}
const requiredParams = parseRequiredParams(path);
const queryString = typeof pathEnd !== "undefined" ? str.substr(pathEnd) : "";
function parseQueryParams(queryString) {
const result = parseQueryString(queryString);
const parameters = {
key: result.key || "",
bridge: result.bridge || "",
};
return parameters;
}
const queryParams = parseQueryParams(queryString);
const result = Object.assign(Object.assign({ protocol }, requiredParams), queryParams);
return result;
}
//# sourceMappingURL=session.js.map