LocalDatastoreController.default.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = void 0;
  6. var _LocalDatastoreUtils = require("./LocalDatastoreUtils");
  7. var _Storage = _interopRequireDefault(require("./Storage"));
  8. function _interopRequireDefault(e) {
  9. return e && e.__esModule ? e : {
  10. default: e
  11. };
  12. }
  13. const LocalDatastoreController = {
  14. async fromPinWithName(name) {
  15. const values = await _Storage.default.getItemAsync(name);
  16. if (!values) {
  17. return [];
  18. }
  19. const objects = JSON.parse(values);
  20. return objects;
  21. },
  22. pinWithName(name, value) {
  23. const values = JSON.stringify(value);
  24. return _Storage.default.setItemAsync(name, values);
  25. },
  26. unPinWithName(name) {
  27. return _Storage.default.removeItemAsync(name);
  28. },
  29. async getAllContents() {
  30. const keys = await _Storage.default.getAllKeysAsync();
  31. return keys.reduce(async (previousPromise, key) => {
  32. const LDS = await previousPromise;
  33. if ((0, _LocalDatastoreUtils.isLocalDatastoreKey)(key)) {
  34. const value = await _Storage.default.getItemAsync(key);
  35. try {
  36. LDS[key] = JSON.parse(value);
  37. } catch (error) {
  38. console.error('Error getAllContents: ', error);
  39. }
  40. }
  41. return LDS;
  42. }, Promise.resolve({}));
  43. },
  44. // Used for testing
  45. async getRawStorage() {
  46. const keys = await _Storage.default.getAllKeysAsync();
  47. return keys.reduce(async (previousPromise, key) => {
  48. const LDS = await previousPromise;
  49. const value = await _Storage.default.getItemAsync(key);
  50. LDS[key] = value;
  51. return LDS;
  52. }, Promise.resolve({}));
  53. },
  54. async clear() {
  55. const keys = await _Storage.default.getAllKeysAsync();
  56. const toRemove = [];
  57. for (const key of keys) {
  58. if ((0, _LocalDatastoreUtils.isLocalDatastoreKey)(key)) {
  59. toRemove.push(key);
  60. }
  61. }
  62. const promises = toRemove.map(this.unPinWithName);
  63. return Promise.all(promises);
  64. }
  65. };
  66. module.exports = LocalDatastoreController;
  67. var _default = exports.default = LocalDatastoreController;