Storage.js 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. "use strict";
  2. var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
  3. var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
  4. _Object$defineProperty(exports, "__esModule", {
  5. value: true
  6. });
  7. exports.default = void 0;
  8. var _promise = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/promise"));
  9. var _CoreManager = _interopRequireDefault(require("./CoreManager"));
  10. const Storage = {
  11. async() {
  12. const controller = _CoreManager.default.getStorageController();
  13. return !!controller.async;
  14. },
  15. getItem(path) {
  16. const controller = _CoreManager.default.getStorageController();
  17. if (controller.async === 1) {
  18. throw new Error('Synchronous storage is not supported by the current storage controller');
  19. }
  20. return controller.getItem(path);
  21. },
  22. getItemAsync(path) {
  23. const controller = _CoreManager.default.getStorageController();
  24. if (controller.async === 1) {
  25. return controller.getItemAsync(path);
  26. }
  27. return _promise.default.resolve(controller.getItem(path));
  28. },
  29. setItem(path, value) {
  30. const controller = _CoreManager.default.getStorageController();
  31. if (controller.async === 1) {
  32. throw new Error('Synchronous storage is not supported by the current storage controller');
  33. }
  34. return controller.setItem(path, value);
  35. },
  36. setItemAsync(path, value) {
  37. const controller = _CoreManager.default.getStorageController();
  38. if (controller.async === 1) {
  39. return controller.setItemAsync(path, value);
  40. }
  41. return _promise.default.resolve(controller.setItem(path, value));
  42. },
  43. removeItem(path) {
  44. const controller = _CoreManager.default.getStorageController();
  45. if (controller.async === 1) {
  46. throw new Error('Synchronous storage is not supported by the current storage controller');
  47. }
  48. return controller.removeItem(path);
  49. },
  50. removeItemAsync(path) {
  51. const controller = _CoreManager.default.getStorageController();
  52. if (controller.async === 1) {
  53. return controller.removeItemAsync(path);
  54. }
  55. return _promise.default.resolve(controller.removeItem(path));
  56. },
  57. getAllKeys() {
  58. const controller = _CoreManager.default.getStorageController();
  59. if (controller.async === 1) {
  60. throw new Error('Synchronous storage is not supported by the current storage controller');
  61. }
  62. return controller.getAllKeys();
  63. },
  64. getAllKeysAsync() {
  65. const controller = _CoreManager.default.getStorageController();
  66. if (controller.async === 1) {
  67. return controller.getAllKeysAsync();
  68. }
  69. return _promise.default.resolve(controller.getAllKeys());
  70. },
  71. generatePath(path) {
  72. if (!_CoreManager.default.get('APPLICATION_ID')) {
  73. throw new Error('You need to call Parse.initialize before using Parse.');
  74. }
  75. if (typeof path !== 'string') {
  76. throw new Error('Tried to get a Storage path that was not a String.');
  77. }
  78. if (path[0] === '/') {
  79. path = path.substr(1);
  80. }
  81. return 'Parse/' + _CoreManager.default.get('APPLICATION_ID') + '/' + path;
  82. },
  83. _clear() {
  84. const controller = _CoreManager.default.getStorageController();
  85. if (controller.hasOwnProperty('clear')) {
  86. controller.clear();
  87. }
  88. }
  89. };
  90. module.exports = Storage;
  91. var _default = exports.default = Storage;