StorageController.react-native.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  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. * Copyright (c) 2015-present, Parse, LLC.
  10. * All rights reserved.
  11. *
  12. * This source code is licensed under the BSD-style license found in the
  13. * LICENSE file in the root directory of this source tree. An additional grant
  14. * of patent rights can be found in the PATENTS file in the same directory.
  15. *
  16. * @flow
  17. * @private
  18. */
  19. const StorageController = {
  20. async: 1,
  21. getItemAsync(path
  22. /*: string*/
  23. )
  24. /*: Promise*/
  25. {
  26. return new Promise((resolve, reject) => {
  27. _CoreManager.default.getAsyncStorage().getItem(path, (err, value) => {
  28. if (err) {
  29. reject(err);
  30. } else {
  31. resolve(value);
  32. }
  33. });
  34. });
  35. },
  36. setItemAsync(path
  37. /*: string*/
  38. , value
  39. /*: string*/
  40. )
  41. /*: Promise*/
  42. {
  43. return new Promise((resolve, reject) => {
  44. _CoreManager.default.getAsyncStorage().setItem(path, value, (err, value) => {
  45. if (err) {
  46. reject(err);
  47. } else {
  48. resolve(value);
  49. }
  50. });
  51. });
  52. },
  53. removeItemAsync(path
  54. /*: string*/
  55. )
  56. /*: Promise*/
  57. {
  58. return new Promise((resolve, reject) => {
  59. _CoreManager.default.getAsyncStorage().removeItem(path, err => {
  60. if (err) {
  61. reject(err);
  62. } else {
  63. resolve();
  64. }
  65. });
  66. });
  67. },
  68. getAllKeysAsync()
  69. /*: Promise*/
  70. {
  71. return new Promise((resolve, reject) => {
  72. _CoreManager.default.getAsyncStorage().getAllKeys((err, keys) => {
  73. if (err) {
  74. reject(err);
  75. } else {
  76. resolve(keys);
  77. }
  78. });
  79. });
  80. },
  81. multiGet(keys
  82. /*: Array<string>*/
  83. )
  84. /*: Promise<Array<Array<string>>>*/
  85. {
  86. return new Promise((resolve, reject) => {
  87. _CoreManager.default.getAsyncStorage().multiGet(keys, (err, result) => {
  88. if (err) {
  89. reject(err);
  90. } else {
  91. resolve(result);
  92. }
  93. });
  94. });
  95. },
  96. multiRemove(keys
  97. /*: Array<string>*/
  98. )
  99. /*: Promise*/
  100. {
  101. return new Promise((resolve, reject) => {
  102. _CoreManager.default.getAsyncStorage().multiRemove(keys, err => {
  103. if (err) {
  104. reject(err);
  105. } else {
  106. resolve(keys);
  107. }
  108. });
  109. });
  110. },
  111. clear() {
  112. return _CoreManager.default.getAsyncStorage().clear();
  113. }
  114. };
  115. module.exports = StorageController;