-
Notifications
You must be signed in to change notification settings - Fork 0
/
storage.js
85 lines (78 loc) · 3.46 KB
/
storage.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
81
82
83
84
85
// storage helper functions
// dependency: constants.js
/**
* Load exception list from storage, then return via callback.
* @param {function} callback Callback function in function(exceptionsString) { ... }. Return null if there's error or target key cannot be found.
*/
function loadExceptionsFromStorage(callback) {
chrome.storage.sync.get(constants.storageKeys.kExceptionTwitterHandlesKey, function(items) {
callback(chrome.runtime.lastError ? null : items[constants.storageKeys.kExceptionTwitterHandlesKey]);
})
}
/** Load user's cached oauth token from storage, then return via callback.
* @param {function} callback Callback function in function(token) { ... }. Return null if there's error or target key cannot be found.
*/
function loadCachedUserOAuthTokenFromStorage(callback) {
chrome.storage.sync.get(constants.storageKeys.kUserOAuthToken, function(items) {
callback(chrome.runtime.lastError ? null : items[constants.storageKeys.kUserOAuthToken]);
});
}
/**
* Load user's cached license object from storage, then return via callback.
* @param {function} callback Callback function in function(licenseObject) { ... }. Return null if there's error or target key cannot be found.
*/
function loadUserLicenseObject(callback) {
chrome.storage.sync.get(constants.storageKeys.kUserLicense, function(items) {
callback(chrome.runtime.lastError ? null : items[constants.storageKeys.kUserLicense]);
});
}
/**
* Load user's verified license, then return via callback.
* @param {function} callback Callback function in function(verified) { ... }. Return null if there's error or target key cannot be found.
*/
function loadUserVerifiedLicense(callback) {
chrome.storage.sync.get(constants.storageKeys.kUserVerifiedLicense, function(items) {
callback(chrome.runtime.lastError ? null : items[constants.storageKeys.kUserVerifiedLicense]);
});
}
/**
* Load user's purchased lifetime iAP status, then return via callback.
* @param {function} callback Callback function in function(purchased) { ... }. Return null if there's error or target key cannot be found.
*/
function loadUserPurchasedLifetimeIAP(callback) {
chrome.storage.sync.get(constants.storageKeys.kUserPurchasedLifetimeIAP, function(items) {
callback(chrome.runtime.lastError ? null : items[constants.storageKeys.kUserPurchasedLifetimeIAP]);
});
}
/**
* Load user's refresh-page-when-save status, then return via callback.
* @param {function} callback Callback function in function(refresh) { ... }. Return null if there's error or target key cannot be found.
*/
function loadUserRefreshPageWhenSave(callback) {
chrome.storage.sync.get(constants.storageKeys.kUserRefreshPageWhenSave, function(items) {
callback(chrome.runtime.lastError ? null : items[constants.storageKeys.kUserRefreshPageWhenSave]);
});
}
/**
* Save data to storage.
* @param {string} key Key of data
* @param {any} Value Data to be saved to storage.
* @param {function} failureCallback (optional) Callback when saving is failed. It's in function() {...}.
* @param {function} completeCallback (optional) Callback when saving is successful. It's in function() {...}.
*/
function saveValueToStorage(key, value, failureCallback=null, completeCallback=null) {
var items = {};
items[key] = value;
chrome.storage.sync.set(items, function() {
if (chrome.runtime.lastError != null) {
if (failureCallback) {
failureCallback();
}
}
else {
if (completeCallback) {
completeCallback();
}
}
});
}