* Save the value under the key on the RAM. * * Note: To store the data on the hard disk, one of * deferSaveOnDisk(), saveOnDisk(), or saveOnExit() * must be called. * @param {String} key * @param {Object} value
(key, value)
| 151 | * @param {Object} value |
| 152 | */ |
| 153 | function setData(key, value) { |
| 154 | switch (key) { |
| 155 | case "ClearURLsData": |
| 156 | case "log": |
| 157 | storage[key] = JSON.parse(value); |
| 158 | break; |
| 159 | case "hashURL": |
| 160 | case "ruleURL": |
| 161 | storage[key] = replaceOldURLs(value); |
| 162 | break; |
| 163 | case "types": |
| 164 | storage[key] = value.split(','); |
| 165 | break; |
| 166 | case "logLimit": |
| 167 | storage[key] = Math.max(0, Number(value)); |
| 168 | break; |
| 169 | case "globalurlcounter": |
| 170 | // migrate from old key |
| 171 | storage["totalCounter"] = value; |
| 172 | delete storage[key]; |
| 173 | deleteFromDisk(key); |
| 174 | saveOnExit(); |
| 175 | break; |
| 176 | case "globalCounter": |
| 177 | // migrate from old key |
| 178 | storage["cleanedCounter"] = value; |
| 179 | delete storage[key]; |
| 180 | deleteFromDisk(key); |
| 181 | saveOnExit(); |
| 182 | break; |
| 183 | default: |
| 184 | storage[key] = value; |
| 185 | } |
| 186 | } |
| 187 | |
| 188 | /** |
| 189 | * Set default values, if the storage is empty. |
no test coverage detected