LocalDatastoreController.react-native.js 3.5 KB

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