StorageController.react-native.js 2.7 KB

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