StorageController.react-native.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. "use strict";
  2. var _CoreManager = _interopRequireDefault(require("./CoreManager"));
  3. function _interopRequireDefault(obj) {
  4. return obj && obj.__esModule ? obj : {
  5. default: obj
  6. };
  7. }
  8. /**
  9. * @flow
  10. * @private
  11. */
  12. const StorageController = {
  13. async: 1,
  14. getItemAsync(path /*: string*/) /*: Promise*/{
  15. return new Promise((resolve, reject) => {
  16. _CoreManager.default.getAsyncStorage().getItem(path, (err, value) => {
  17. if (err) {
  18. reject(err);
  19. } else {
  20. resolve(value);
  21. }
  22. });
  23. });
  24. },
  25. setItemAsync(path /*: string*/, value /*: string*/) /*: Promise*/{
  26. return new Promise((resolve, reject) => {
  27. _CoreManager.default.getAsyncStorage().setItem(path, value, (err, value) => {
  28. if (err) {
  29. reject(err);
  30. } else {
  31. resolve(value);
  32. }
  33. });
  34. });
  35. },
  36. removeItemAsync(path /*: string*/) /*: Promise*/{
  37. return new Promise((resolve, reject) => {
  38. _CoreManager.default.getAsyncStorage().removeItem(path, err => {
  39. if (err) {
  40. reject(err);
  41. } else {
  42. resolve();
  43. }
  44. });
  45. });
  46. },
  47. getAllKeysAsync() /*: Promise*/{
  48. return new Promise((resolve, reject) => {
  49. _CoreManager.default.getAsyncStorage().getAllKeys((err, keys) => {
  50. if (err) {
  51. reject(err);
  52. } else {
  53. resolve(keys);
  54. }
  55. });
  56. });
  57. },
  58. multiGet(keys /*: Array<string>*/) /*: Promise<Array<Array<string>>>*/{
  59. return new Promise((resolve, reject) => {
  60. _CoreManager.default.getAsyncStorage().multiGet(keys, (err, result) => {
  61. if (err) {
  62. reject(err);
  63. } else {
  64. resolve(result);
  65. }
  66. });
  67. });
  68. },
  69. multiRemove(keys /*: Array<string>*/) /*: Promise*/{
  70. return new Promise((resolve, reject) => {
  71. _CoreManager.default.getAsyncStorage().multiRemove(keys, err => {
  72. if (err) {
  73. reject(err);
  74. } else {
  75. resolve(keys);
  76. }
  77. });
  78. });
  79. },
  80. clear() {
  81. return _CoreManager.default.getAsyncStorage().clear();
  82. }
  83. };
  84. module.exports = StorageController;