UNPKG

@tronlink/core

Version:

The library serves as a core module within TronLink Extension, which provides low-level wallet functionality for both Tron and Ethereum networks, primary features includes account generation and transaction signing

36 lines (31 loc) 979 B
function serialize(obj: any) { const str: string[] = []; for (const p in obj) { if (Object.prototype.hasOwnProperty.call(obj, p)) { str.push(encodeURIComponent(p) + '=' + encodeURIComponent(obj[p])); } } return str.join('&'); } function transformHeader(headers: any) { const keys: any[] = Array.from(headers.keys()); return keys.reduce((prev, key) => { prev[key] = headers.get(key); return prev; }, {}); } function promiseTimeout(ms: number, promise: any) { // Create a promise that rejects in <ms> milliseconds const timeout = new Promise((resolve, reject) => { const id = setTimeout(() => { clearTimeout(id); reject('Timeout'); }, ms); }); // Returns a race between our timeout and the passed in promise return Promise.race([promise, timeout]); } function isAbsoluteURL(url: string) { return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); } export { serialize, transformHeader, promiseTimeout, isAbsoluteURL };