IndexedDBStorageController.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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
  13. /*: string*/
  14. ) {
  15. return (0, _idbKeyval.get)(path, ParseStore);
  16. },
  17. setItemAsync: function (path
  18. /*: string*/
  19. , value
  20. /*: string*/
  21. ) {
  22. return (0, _idbKeyval.set)(path, value, ParseStore);
  23. },
  24. removeItemAsync: function (path
  25. /*: string*/
  26. ) {
  27. return (0, _idbKeyval.del)(path, ParseStore);
  28. },
  29. getAllKeysAsync: function () {
  30. return (0, _keysInstanceProperty(_idbKeyval))(ParseStore);
  31. },
  32. clear: function () {
  33. return (0, _idbKeyval.clear)(ParseStore);
  34. }
  35. };
  36. module.exports = IndexedDBStorageController;
  37. } else {
  38. // IndexedDB not supported
  39. module.exports = undefined;
  40. }