export interface BrowserTransportOptions { url: string; data: any; } export const makeXHRRequest = (options: BrowserTransportOptions): Promise => { return new Promise((resolve, reject) => { const xhr = new XMLHttpRequest(); xhr.open('POST', options.url, true); xhr.setRequestHeader('Content-Type', 'application/json'); xhr.onerror = reject; xhr.onreadystatechange = (): void => { if (xhr.readyState === 4) { resolve(xhr.response); } }; xhr.send(JSON.stringify(options.data)); }); };