Storage.js 3.0 KB

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