LocalDatastoreController.weapp.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. "use strict";
  2. var _LocalDatastoreUtils = require("./LocalDatastoreUtils");
  3. /**
  4. * Copyright (c) 2015-present, Parse, LLC.
  5. * All rights reserved.
  6. *
  7. * This source code is licensed under the BSD-style license found in the
  8. * LICENSE file in the root directory of this source tree. An additional grant
  9. * of patent rights can be found in the PATENTS file in the same directory.
  10. *
  11. * @flow
  12. */
  13. var LocalDatastoreController = {
  14. fromPinWithName: function (name
  15. /*: string*/
  16. )
  17. /*: Array<Object>*/
  18. {
  19. var values = wx.getStorageSync(name);
  20. if (!values) {
  21. return [];
  22. }
  23. return values;
  24. },
  25. pinWithName: function (name
  26. /*: string*/
  27. , value
  28. /*: any*/
  29. ) {
  30. try {
  31. wx.setStorageSync(name, value);
  32. } catch (e) {// Quota exceeded
  33. }
  34. },
  35. unPinWithName: function (name
  36. /*: string*/
  37. ) {
  38. wx.removeStorageSync(name);
  39. },
  40. getAllContents: function ()
  41. /*: Object*/
  42. {
  43. var res = wx.getStorageInfoSync();
  44. var keys = res.keys;
  45. var LDS = {};
  46. var _iteratorNormalCompletion = true;
  47. var _didIteratorError = false;
  48. var _iteratorError = undefined;
  49. try {
  50. for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
  51. var key = _step.value;
  52. if ((0, _LocalDatastoreUtils.isLocalDatastoreKey)(key)) {
  53. LDS[key] = wx.getStorageSync(key);
  54. }
  55. }
  56. } catch (err) {
  57. _didIteratorError = true;
  58. _iteratorError = err;
  59. } finally {
  60. try {
  61. if (!_iteratorNormalCompletion && _iterator.return != null) {
  62. _iterator.return();
  63. }
  64. } finally {
  65. if (_didIteratorError) {
  66. throw _iteratorError;
  67. }
  68. }
  69. }
  70. return LDS;
  71. },
  72. getRawStorage: function ()
  73. /*: Object*/
  74. {
  75. var res = wx.getStorageInfoSync();
  76. var keys = res.keys;
  77. var storage = {};
  78. var _iteratorNormalCompletion2 = true;
  79. var _didIteratorError2 = false;
  80. var _iteratorError2 = undefined;
  81. try {
  82. for (var _iterator2 = keys[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
  83. var key = _step2.value;
  84. storage[key] = wx.getStorageSync(key);
  85. }
  86. } catch (err) {
  87. _didIteratorError2 = true;
  88. _iteratorError2 = err;
  89. } finally {
  90. try {
  91. if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
  92. _iterator2.return();
  93. }
  94. } finally {
  95. if (_didIteratorError2) {
  96. throw _iteratorError2;
  97. }
  98. }
  99. }
  100. return storage;
  101. },
  102. clear: function ()
  103. /*: Promise*/
  104. {
  105. var res = wx.getStorageInfoSync();
  106. var keys = res.keys;
  107. var toRemove = [];
  108. var _iteratorNormalCompletion3 = true;
  109. var _didIteratorError3 = false;
  110. var _iteratorError3 = undefined;
  111. try {
  112. for (var _iterator3 = keys[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
  113. var key = _step3.value;
  114. if ((0, _LocalDatastoreUtils.isLocalDatastoreKey)(key)) {
  115. toRemove.push(key);
  116. }
  117. }
  118. } catch (err) {
  119. _didIteratorError3 = true;
  120. _iteratorError3 = err;
  121. } finally {
  122. try {
  123. if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
  124. _iterator3.return();
  125. }
  126. } finally {
  127. if (_didIteratorError3) {
  128. throw _iteratorError3;
  129. }
  130. }
  131. }
  132. var promises = toRemove.map(this.unPinWithName);
  133. return Promise.all(promises);
  134. }
  135. };
  136. module.exports = LocalDatastoreController;