OverviewFilesCommitsIssuesDocsReleasesPeers

keet-deobfuscated / @holepunchto / keet-store / store / identity / saga / migrate-recovery-phrase.saga.js

40 lines · javascript ref:
import { put as e, select as r, takeLeading as o, take as i } from "redux-saga/effects"
import { taskErrorSaga as t } from "../../error"
import {
  getIdentityShouldMigrateRecoveryPhrase as a,
  migrateRecoveryPhraseCmd as d,
  setMigrateRecoveryPhrase as m,
  migrateRecoveryPhraseDeclineCmd as n,
  migrateRecoveryPhraseResetFormCmd as c,
} from "../identity.reducer"
import { PREFERENCES as l, preferenceUpdateTask as y } from "../../preferences"
import { normalizeRecoveryPhrase as s } from "../identity.model"
import { getCoreBackend as f } from "../../../backend"
import { apiCall as R } from "../../../api/core"
const p = 3
export function* migrateRecoveryPhraseDeclineCmdHandler() {
  yield y(l.MIGRATE_RECOVERY_PHRASE_DECLINED, !0)
}
export function* migrateRecoveryPhraseResetFormCmdHandler() {
  yield e(m({ loading: !1, error: !1 }))
}
export function* migrateRecoveryPhraseSaga() {
  if (!(yield r(a))) return
  ;(yield o(n, migrateRecoveryPhraseDeclineCmdHandler),
    yield o(c, migrateRecoveryPhraseResetFormCmdHandler))
  let l = 0
  for (;;) {
    const r = yield i(d),
      o = s(r.payload)
    l += 1
    try {
      yield e(m({ error: !1, loading: !0 }))
      const r = f()
      ;(yield R(r.storeRecoveryPhrase, o), yield e(m({ loading: !1, error: !1, success: !0 })))
    } catch (r) {
      ;(yield e(m({ loading: !1, error: !0, manyRetries: l > 3 })),
        t("migrateRecoveryPhraseCmdHandler", r))
    }
  }
}