LocalDatastoreController.js 3.1 KB

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