You've already forked tf2wikipricing
fix: stronger error handling in fetchPrice
This commit is contained in:
@@ -51,7 +51,7 @@ export async function fetchPrice(token: string, sku: string, update: Date = new
|
||||
|
||||
if (!data || data.sku != sku || 'update' in data && 'ttl' in data && Date.now() > (new Date(data.update).getTime() + data.ttl)) {
|
||||
logDebug(`Fetching price data for ${sku}`)
|
||||
if(!token) {
|
||||
if(!token || token === '') {
|
||||
throw new Error('No token provided')
|
||||
}
|
||||
data = new ItemPriceData()
|
||||
@@ -64,14 +64,15 @@ export async function fetchPrice(token: string, sku: string, update: Date = new
|
||||
if(__ENV_USERSCRIPT) {
|
||||
response = await priceUsingPricesTF(token, sku)
|
||||
} else {
|
||||
response = JSON.parse(await chrome.runtime.sendMessage({contentScriptQuery: "priceSKU", service: "prices.tf", sku: sku, token: token}));
|
||||
response = await chrome.runtime.sendMessage({contentScriptQuery: "priceSKU", service: "prices.tf", sku: sku, token: token});
|
||||
}
|
||||
if (!response || response instanceof Error) {
|
||||
throw new Error(`Bad response: ${response}`)
|
||||
}
|
||||
if (response) {
|
||||
data.keys = response.keys
|
||||
data.metal = response.metal
|
||||
}
|
||||
} catch (error) {
|
||||
throw new Error(`Received ${error} error while pricing ${sku} using prices.tf`)
|
||||
throw new Error(`Received "${error}" error while pricing ${sku} using prices.tf`)
|
||||
}
|
||||
|
||||
if ('metal' in data && 'keys' in data) {
|
||||
|
||||
Reference in New Issue
Block a user