IndexedDBStorageController.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. "use strict";
  2. var _keysInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/keys");
  3. var _idbKeyval = require("idb-keyval");
  4. /**
  5. * @flow
  6. */
  7. /* global window */
  8. if (typeof window !== 'undefined' && window.indexedDB) {
  9. var ParseStore = (0, _idbKeyval.createStore)('parseDB', 'parseStore');
  10. var IndexedDBStorageController = {
  11. async: 1,
  12. getItemAsync: function (path /*: string*/) {
  13. return (0, _idbKeyval.get)(path, ParseStore);
  14. },
  15. setItemAsync: function (path /*: string*/, value /*: string*/) {
  16. return (0, _idbKeyval.set)(path, value, ParseStore);
  17. },
  18. removeItemAsync: function (path /*: string*/) {
  19. return (0, _idbKeyval.del)(path, ParseStore);
  20. },
  21. getAllKeysAsync: function () {
  22. return (0, _keysInstanceProperty(_idbKeyval))(ParseStore);
  23. },
  24. clear: function () {
  25. return (0, _idbKeyval.clear)(ParseStore);
  26. }
  27. };
  28. module.exports = IndexedDBStorageController;
  29. } else {
  30. // IndexedDB not supported
  31. module.exports = undefined;
  32. }