1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- import Logger from 'jitsi-meet-logger';
-
- const logger = Logger.getLogger(__filename);
-
- /**
- * Dummy implementation of Storage interface with empty methods.
- */
- class DummyLocalStorage {
- /* eslint-disable no-empty-function */
- /**
- * Empty function
- */
- getItem() { }
-
- /**
- * Empty function
- */
- setItem() { }
-
- /**
- * Empty function
- */
- removeItem() { }
- /* eslint-enable no-empty-function */
- }
-
- /**
- * Wrapper class for browser's local storage object.
- */
- class JitsiLocalStorage extends DummyLocalStorage {
- /**
- * @constructor
- * @param {Storage} storage browser's local storage object.
- */
- constructor() {
- super();
- let storage;
-
- try {
- storage = window.localStorage;
- } catch (error) {
- logger.error(error);
- }
- this.storage = storage || new DummyLocalStorage();
- }
-
- /**
- * Returns that passed key's value.
- * @param {string} keyName the name of the key you want to retrieve
- * the value of.
- * @returns {String|null} the value of the key. If the key does not exist,
- * null is returned.
- */
- getItem(keyName) {
- return this.storage.getItem(keyName);
- }
-
- /**
- * Adds a key to the storage, or update key's value if it already exists.
- * @param {string} keyName the name of the key you want to create/update.
- * @param {string} keyValue the value you want to give the key you are
- * creating/updating.
- */
- setItem(keyName, keyValue) {
- return this.storage.setItem(keyName, keyValue);
- }
-
- /**
- * Remove a key from the storage.
- * @param {string} keyName the name of the key you want to remove.
- */
- removeItem(keyName) {
- return this.storage.removeItem(keyName);
- }
- }
-
- export default new JitsiLocalStorage();
|