This repository has been archived by the owner on Jul 27, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathutil.js
80 lines (66 loc) · 2.05 KB
/
util.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
var util = {};
(function() {
'use strict';
var CACHE_TTL_MS = 30 * 60 * 1000;
var setItemPrice = function(itemName, price) {
var object = {};
object[itemName] = {
price: price,
timestamp: (new Date()).getTime()
};
chrome.storage.local.set(object);
};
var getItemPriceFromStorage = function(itemName, callback) {
chrome.storage.local.get(itemName, function(result) {
if (!result[itemName]) {
callback(null);
} else if ((new Date()).getTime() - result[itemName].timestamp > CACHE_TTL_MS) {
chrome.storage.local.remove(itemName);
callback(null);
} else {
callback(result[itemName].price);
}
});
};
var getItemPriceFromMarket = function(itemName, callback) {
if (itemName == '') {
callback(null);
} else {
var url = 'http://steamcommunity.com/market/priceoverview/?currency=1&appid=570&market_hash_name=' + encodeURIComponent(itemName);
$.ajax({
url: url,
context: this,
success: function(data) {
callback(data.lowest_price);
},
err: function(data) {
callback(null);
}
});
}
};
var getItemPrice = function(itemName, callback) {
getItemPriceFromStorage(itemName, function(price) {
if (price == null) {
getItemPriceFromMarket(itemName, function(price) {
if (price != null) {
setItemPrice(itemName, price);
}
callback(price);
});
} else {
callback(price);
}
});
};
var getItemName = function(item) {
// Don't use the .smallimg's alt attr since it doesn't have quality prefix.
// However the name in <b> might have double Genunine/Exalted prefix which we need to fix.
var name = $($($($(item).parent()).children('.name')[0]).children('b')[0]).text().trim();
name = name.replace(/^Genuine Genuine/, 'Genuine')
.replace(/^Exalted Exalted/, 'Exalted');
return name.trim();
};
util.getItemPrice = getItemPrice;
util.getItemName = getItemName;
})();