storage.js 793 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import { AsyncStorage } from 'react-native'
  2. function clear() {
  3. return AsyncStorage.clear()
  4. }
  5. function get(key, defaultValue = null) {
  6. return AsyncStorage.getItem(key).then(
  7. value => (value !== null ? JSON.parse(value) : defaultValue)
  8. )
  9. }
  10. function set(key, value) {
  11. return AsyncStorage.setItem(key, JSON.stringify(value))
  12. }
  13. function remove(key) {
  14. return AsyncStorage.removeItem(key)
  15. }
  16. function multiGet(...keys) {
  17. return AsyncStorage.multiGet([...keys]).then(stores => {
  18. const data = {}
  19. stores.forEach((result, i, store) => {
  20. data[store[i][0]] = JSON.parse(store[i][1])
  21. })
  22. return data
  23. })
  24. }
  25. function multiRemove(...keys) {
  26. return AsyncStorage.multiRemove([...keys])
  27. }
  28. export default {
  29. clear,
  30. get,
  31. set,
  32. remove,
  33. multiGet,
  34. multiRemove,
  35. }