| 1234567891011121314151617181920212223242526272829303132333435 | "use strict";/** * @flow * @private */// When there is no native storage interface, we default to an in-memory mapconst memMap = {};const StorageController = {  async: 0,  getItem(path /*: string*/) /*: ?string*/{    if (memMap.hasOwnProperty(path)) {      return memMap[path];    }    return null;  },  setItem(path /*: string*/, value /*: string*/) {    memMap[path] = String(value);  },  removeItem(path /*: string*/) {    delete memMap[path];  },  getAllKeys() {    return Object.keys(memMap);  },  clear() {    for (const key in memMap) {      if (memMap.hasOwnProperty(key)) {        delete memMap[key];      }    }  }};module.exports = StorageController;
 |