LocalDatastoreController.react-native.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = void 0;
  6. var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
  7. var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
  8. var _LocalDatastoreUtils = require("./LocalDatastoreUtils");
  9. var _StorageController = _interopRequireDefault(require("./StorageController.react-native"));
  10. var LocalDatastoreController = {
  11. fromPinWithName: function () {
  12. var _fromPinWithName = (0, _asyncToGenerator2.default)(function* (name) {
  13. var values = yield _StorageController.default.getItemAsync(name);
  14. if (!values) {
  15. return [];
  16. }
  17. var objects = JSON.parse(values);
  18. return objects;
  19. });
  20. function fromPinWithName() {
  21. return _fromPinWithName.apply(this, arguments);
  22. }
  23. return fromPinWithName;
  24. }(),
  25. pinWithName: function () {
  26. var _pinWithName = (0, _asyncToGenerator2.default)(function* (name, value) {
  27. try {
  28. var values = JSON.stringify(value);
  29. yield _StorageController.default.setItemAsync(name, values);
  30. } catch (e) {
  31. console.error(e.message);
  32. }
  33. });
  34. function pinWithName() {
  35. return _pinWithName.apply(this, arguments);
  36. }
  37. return pinWithName;
  38. }(),
  39. unPinWithName: function (name) {
  40. return _StorageController.default.removeItemAsync(name);
  41. },
  42. getAllContents: function () {
  43. var _getAllContents = (0, _asyncToGenerator2.default)(function* () {
  44. var keys = yield _StorageController.default.getAllKeysAsync();
  45. var batch = [];
  46. for (var i = 0; i < keys.length; i += 1) {
  47. var key = keys[i];
  48. if ((0, _LocalDatastoreUtils.isLocalDatastoreKey)(key)) {
  49. batch.push(key);
  50. }
  51. }
  52. var LDS = {};
  53. var results = [];
  54. try {
  55. results = yield _StorageController.default.multiGet(batch);
  56. } catch (error) {
  57. console.error('Error getAllContents: ', error);
  58. return {};
  59. }
  60. results.forEach(function (pair) {
  61. var _pair = (0, _slicedToArray2.default)(pair, 2),
  62. key = _pair[0],
  63. value = _pair[1];
  64. try {
  65. LDS[key] = JSON.parse(value);
  66. } catch (error) {
  67. LDS[key] = null;
  68. }
  69. });
  70. return LDS;
  71. });
  72. function getAllContents() {
  73. return _getAllContents.apply(this, arguments);
  74. }
  75. return getAllContents;
  76. }(),
  77. getRawStorage: function () {
  78. var _getRawStorage = (0, _asyncToGenerator2.default)(function* () {
  79. var keys = yield _StorageController.default.getAllKeysAsync();
  80. var storage = {};
  81. var results = yield _StorageController.default.multiGet(keys);
  82. results.map(function (pair) {
  83. var _pair2 = (0, _slicedToArray2.default)(pair, 2),
  84. key = _pair2[0],
  85. value = _pair2[1];
  86. storage[key] = value;
  87. });
  88. return storage;
  89. });
  90. function getRawStorage() {
  91. return _getRawStorage.apply(this, arguments);
  92. }
  93. return getRawStorage;
  94. }(),
  95. clear: function () {
  96. var _clear = (0, _asyncToGenerator2.default)(function* () {
  97. var keys = yield _StorageController.default.getAllKeysAsync();
  98. var batch = [];
  99. for (var i = 0; i < keys.length; i += 1) {
  100. var key = keys[i];
  101. if ((0, _LocalDatastoreUtils.isLocalDatastoreKey)(key)) {
  102. batch.push(key);
  103. }
  104. }
  105. yield _StorageController.default.multiRemove(batch).catch(function (error) {
  106. return console.error('Error clearing local datastore: ', error);
  107. });
  108. });
  109. function clear() {
  110. return _clear.apply(this, arguments);
  111. }
  112. return clear;
  113. }()
  114. };
  115. module.exports = LocalDatastoreController;
  116. var _default = exports.default = LocalDatastoreController;