LocalDatastoreController.default.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = void 0;
  6. var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
  7. var _LocalDatastoreUtils = require("./LocalDatastoreUtils");
  8. var _Storage = _interopRequireDefault(require("./Storage"));
  9. var LocalDatastoreController = {
  10. fromPinWithName: function () {
  11. var _fromPinWithName = (0, _asyncToGenerator2.default)(function* (name) {
  12. var values = yield _Storage.default.getItemAsync(name);
  13. if (!values) {
  14. return [];
  15. }
  16. var objects = JSON.parse(values);
  17. return objects;
  18. });
  19. function fromPinWithName() {
  20. return _fromPinWithName.apply(this, arguments);
  21. }
  22. return fromPinWithName;
  23. }(),
  24. pinWithName: function (name, value) {
  25. var values = JSON.stringify(value);
  26. return _Storage.default.setItemAsync(name, values);
  27. },
  28. unPinWithName: function (name) {
  29. return _Storage.default.removeItemAsync(name);
  30. },
  31. getAllContents: function () {
  32. var _getAllContents = (0, _asyncToGenerator2.default)(function* () {
  33. var keys = yield _Storage.default.getAllKeysAsync();
  34. return keys.reduce(function () {
  35. var _ref = (0, _asyncToGenerator2.default)(function* (previousPromise, key) {
  36. var LDS = yield previousPromise;
  37. if ((0, _LocalDatastoreUtils.isLocalDatastoreKey)(key)) {
  38. var value = yield _Storage.default.getItemAsync(key);
  39. try {
  40. LDS[key] = JSON.parse(value);
  41. } catch (error) {
  42. console.error('Error getAllContents: ', error);
  43. }
  44. }
  45. return LDS;
  46. });
  47. return function () {
  48. return _ref.apply(this, arguments);
  49. };
  50. }(), Promise.resolve({}));
  51. });
  52. function getAllContents() {
  53. return _getAllContents.apply(this, arguments);
  54. }
  55. return getAllContents;
  56. }(),
  57. getRawStorage: function () {
  58. var _getRawStorage = (0, _asyncToGenerator2.default)(function* () {
  59. var keys = yield _Storage.default.getAllKeysAsync();
  60. return keys.reduce(function () {
  61. var _ref2 = (0, _asyncToGenerator2.default)(function* (previousPromise, key) {
  62. var LDS = yield previousPromise;
  63. var value = yield _Storage.default.getItemAsync(key);
  64. LDS[key] = value;
  65. return LDS;
  66. });
  67. return function () {
  68. return _ref2.apply(this, arguments);
  69. };
  70. }(), Promise.resolve({}));
  71. });
  72. function getRawStorage() {
  73. return _getRawStorage.apply(this, arguments);
  74. }
  75. return getRawStorage;
  76. }(),
  77. clear: function () {
  78. var _clear = (0, _asyncToGenerator2.default)(function* () {
  79. var keys = yield _Storage.default.getAllKeysAsync();
  80. var toRemove = [];
  81. for (var key of keys) {
  82. if ((0, _LocalDatastoreUtils.isLocalDatastoreKey)(key)) {
  83. toRemove.push(key);
  84. }
  85. }
  86. var promises = toRemove.map(this.unPinWithName);
  87. return Promise.all(promises);
  88. });
  89. function clear() {
  90. return _clear.apply(this, arguments);
  91. }
  92. return clear;
  93. }()
  94. };
  95. module.exports = LocalDatastoreController;
  96. var _default = exports.default = LocalDatastoreController;