export type THTTPCallback = (err: string | null, data: T | null) => void; /** * Simple implementation of XMLHTTPRequest. * It uses callback to prevent adding the promise polyfill. */ export default function HTTP(url: string, callback: THTTPCallback): void { const request = new XMLHttpRequest(); request.open('GET', url); request.onload = function onLoad() { if (request.readyState === 4 && request.status === 200) { callback(null, JSON.parse(request.response)); } }; request.onerror = function onError() { callback(request.statusText, null); }; request.send(); }