author | ymh <ymh.work@gmail.com> |
Tue, 27 Sep 2016 23:43:29 +0200 | |
changeset 304 | 20071981ba2a |
parent 182 | 1bcc373adabb |
permissions | -rw-r--r-- |
127
5cd8c3065c38
extract common functionalities to common module. First application to lexvo name resolving
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1 |
import store from 'store'; |
5cd8c3065c38
extract common functionalities to common module. First application to lexvo name resolving
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2 |
import * as constants from 'corpus-common-addon/utils/constants'; |
5cd8c3065c38
extract common functionalities to common module. First application to lexvo name resolving
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3 |
|
5cd8c3065c38
extract common functionalities to common module. First application to lexvo name resolving
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4 |
export default { |
5cd8c3065c38
extract common functionalities to common module. First application to lexvo name resolving
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5 |
set: function(key, val, exp) { |
5cd8c3065c38
extract common functionalities to common module. First application to lexvo name resolving
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6 |
var expiration = exp; |
5cd8c3065c38
extract common functionalities to common module. First application to lexvo name resolving
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7 |
if(typeof exp === 'undefined') { |
182
1bcc373adabb
Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents:
127
diff
changeset
|
8 |
expiration = constants.DEFAULT_STORE_EXP; |
127
5cd8c3065c38
extract common functionalities to common module. First application to lexvo name resolving
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
9 |
} |
5cd8c3065c38
extract common functionalities to common module. First application to lexvo name resolving
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
10 |
store.set(key, { val:val, exp:expiration, time:new Date().getTime() }); |
5cd8c3065c38
extract common functionalities to common module. First application to lexvo name resolving
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
11 |
return val; |
5cd8c3065c38
extract common functionalities to common module. First application to lexvo name resolving
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
12 |
}, |
5cd8c3065c38
extract common functionalities to common module. First application to lexvo name resolving
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
13 |
get: function(key) { |
182
1bcc373adabb
Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents:
127
diff
changeset
|
14 |
var info = store.get(key); |
1bcc373adabb
Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents:
127
diff
changeset
|
15 |
if (!info) { return null; } |
1bcc373adabb
Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents:
127
diff
changeset
|
16 |
if (new Date().getTime() - info.time > info.exp) { return null; } |
1bcc373adabb
Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents:
127
diff
changeset
|
17 |
return info.val; |
127
5cd8c3065c38
extract common functionalities to common module. First application to lexvo name resolving
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
18 |
} |
182
1bcc373adabb
Optimize resolver service to minimize number of requests
ymh <ymh.work@gmail.com>
parents:
127
diff
changeset
|
19 |
}; |