export async function getJSON()

in lib/request.ts [16:44]


export async function getJSON<T>(api: string): Promise<T> {
	return new Promise((resolve, reject) => {
		https.get(api, urlToOptions(api), res => {
			if (res.statusCode !== 200) {
				reject('Failed to get JSON');
			}

			let data = '';

			res.on('data', chunk => {
				data += chunk;
			});

			res.on('end', () => {
				try {
					const jsonData = JSON.parse(data);
					resolve(jsonData);
				} catch (err) {
					console.error(`Failed to parse response from ${api} as JSON`);
					reject(err);
				}
			});

			res.on('error', err => {
				reject(err);
			});
		});
	});
}