Merge "Avoid INSERT..SELECT in doArticleDeleteReal()"
[lhc/web/wiklou.git] / resources / src / mediawiki / mediawiki.storage.js
1 ( function ( mw ) {
2 'use strict';
3
4 /**
5 * Library for storing device specific information. It should be used for storing simple
6 * strings and is not suitable for storing large chunks of data.
7 *
8 * @class mw.storage
9 * @singleton
10 */
11 mw.storage = {
12
13 localStorage: window.localStorage,
14
15 /**
16 * Retrieve value from device storage.
17 *
18 * @param {string} key Key of item to retrieve
19 * @return {string|boolean} False when localStorage not available, otherwise string
20 */
21 get: function ( key ) {
22 try {
23 return mw.storage.localStorage.getItem( key );
24 } catch ( e ) {}
25 return false;
26 },
27
28 /**
29 * Set a value in device storage.
30 *
31 * @param {string} key Key name to store under
32 * @param {string} value Value to be stored
33 * @return {boolean} Whether the save succeeded or not
34 */
35 set: function ( key, value ) {
36 try {
37 mw.storage.localStorage.setItem( key, value );
38 return true;
39 } catch ( e ) {}
40 return false;
41 },
42
43 /**
44 * Remove a value from device storage.
45 *
46 * @param {string} key Key of item to remove
47 * @return {boolean} Whether the save succeeded or not
48 */
49 remove: function ( key ) {
50 try {
51 mw.storage.localStorage.removeItem( key );
52 return true;
53 } catch ( e ) {}
54 return false;
55 }
56 };
57
58 }( mediaWiki ) );