StorageController.react-native.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  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. getAsyncStorage()
  22. /*: any*/
  23. {
  24. return _CoreManager.default.getAsyncStorage();
  25. },
  26. getItemAsync(path
  27. /*: string*/
  28. )
  29. /*: Promise*/
  30. {
  31. return new Promise((resolve, reject) => {
  32. this.getAsyncStorage().getItem(path, (err, value) => {
  33. if (err) {
  34. reject(err);
  35. } else {
  36. resolve(value);
  37. }
  38. });
  39. });
  40. },
  41. setItemAsync(path
  42. /*: string*/
  43. , value
  44. /*: string*/
  45. )
  46. /*: Promise*/
  47. {
  48. return new Promise((resolve, reject) => {
  49. this.getAsyncStorage().setItem(path, value, (err, value) => {
  50. if (err) {
  51. reject(err);
  52. } else {
  53. resolve(value);
  54. }
  55. });
  56. });
  57. },
  58. removeItemAsync(path
  59. /*: string*/
  60. )
  61. /*: Promise*/
  62. {
  63. return new Promise((resolve, reject) => {
  64. this.getAsyncStorage().removeItem(path, err => {
  65. if (err) {
  66. reject(err);
  67. } else {
  68. resolve();
  69. }
  70. });
  71. });
  72. },
  73. getAllKeysAsync()
  74. /*: Promise*/
  75. {
  76. return new Promise((resolve, reject) => {
  77. this.getAsyncStorage().getAllKeys((err, keys) => {
  78. if (err) {
  79. reject(err);
  80. } else {
  81. resolve(keys);
  82. }
  83. });
  84. });
  85. },
  86. multiGet(keys
  87. /*: Array<string>*/
  88. )
  89. /*: Promise<Array<Array<string>>>*/
  90. {
  91. return new Promise((resolve, reject) => {
  92. this.getAsyncStorage().multiGet(keys, (err, result) => {
  93. if (err) {
  94. reject(err);
  95. } else {
  96. resolve(result);
  97. }
  98. });
  99. });
  100. },
  101. multiRemove(keys
  102. /*: Array<string>*/
  103. )
  104. /*: Promise*/
  105. {
  106. return new Promise((resolve, reject) => {
  107. this.getAsyncStorage().multiRemove(keys, err => {
  108. if (err) {
  109. reject(err);
  110. } else {
  111. resolve(keys);
  112. }
  113. });
  114. });
  115. },
  116. clear() {
  117. return this.getAsyncStorage().clear();
  118. }
  119. };
  120. module.exports = StorageController;