mirror of
https://github.com/redphx/better-xcloud.git
synced 2025-06-13 02:57:19 +02:00
26 lines
914 B
TypeScript
Executable File
26 lines
914 B
TypeScript
Executable File
import { NATIVE_FETCH } from "./bx-flags"
|
|
|
|
export class XboxApi {
|
|
private static CACHED_TITLES: Record<string, string> = {};
|
|
|
|
static async getProductTitle(xboxTitleId: number | string): Promise<string | undefined> {
|
|
xboxTitleId = xboxTitleId.toString();
|
|
if (XboxApi.CACHED_TITLES[xboxTitleId]) {
|
|
return XboxApi.CACHED_TITLES[xboxTitleId];
|
|
}
|
|
|
|
try {
|
|
const url = `https://displaycatalog.mp.microsoft.com/v7.0/products/lookup?market=US&languages=en&value=${xboxTitleId}&alternateId=XboxTitleId&fieldsTemplate=browse`;
|
|
const resp = await NATIVE_FETCH(url);
|
|
const json = await resp.json();
|
|
|
|
const productTitle = json['Products'][0]['LocalizedProperties'][0]['ProductTitle'];
|
|
XboxApi.CACHED_TITLES[xboxTitleId] = productTitle;
|
|
|
|
return productTitle;
|
|
} catch (e) {}
|
|
|
|
return;
|
|
}
|
|
}
|