Guest User

Untitled

a guest
Jun 19th, 2018
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. import { AsyncStorage } from 'react-native'
  2. import { setGenericPassword, getGenericPassword, resetGenericPassword } from 'react-native-keychain'
  3.  
  4. export default {
  5. async getAllKeys (callback) {
  6. try {
  7. const keys = await AsyncStorage.getAllKeys()
  8. if (callback) {
  9. callback(null, keys)
  10. }
  11. return keys
  12. } catch (error) {
  13. callback(error)
  14. throw error
  15. }
  16. },
  17. async getItem (key, callback) {
  18. try {
  19. const { password } = await getGenericPassword(key) || null
  20. if (callback) {
  21. callback(null, password)
  22. }
  23. return password
  24. } catch (error) {
  25. if (callback) {
  26. callback(error)
  27. }
  28. throw error
  29. }
  30. },
  31. async setItem (key, value, callback) {
  32. try {
  33. await Promise.all([
  34. AsyncStorage.setItem(key, key),
  35. setGenericPassword('user', value, key)
  36. ])
  37. await setGenericPassword('user', value, key)
  38. if (callback) {
  39. callback(null)
  40. }
  41. } catch (error) {
  42. if (callback) {
  43. callback(error)
  44. }
  45. throw error
  46. }
  47. },
  48. async removeItem (key, callback) {
  49. try {
  50. await Promise.all([
  51. AsyncStorage.removeItem(key),
  52. resetGenericPassword(key)
  53. ])
  54. if (callback) {
  55. callback(null)
  56. }
  57. } catch (error) {
  58. if (callback) {
  59. callback(error)
  60. }
  61. throw error
  62. }
  63. }
  64. }
Add Comment
Please, Sign In to add comment