OverviewFilesCommitsIssuesDocsReleasesPeers

keet-deobfuscated / @holepunchto / keet-store / store / debug / debug.reducer.js

97 lines · javascript ref:
import { createSlice as e, createAction as t } from "@reduxjs/toolkit"
import { DEBUG_OFFLINE_FLAGS as o } from "./debug.constants"
export const DEBUG_STATE_KEY = "debug"
export const INITIAL_STATE = {
  unlocked: !1,
  offline: !1,
  suspended: !1,
  suspendDisabled: !1,
  localDbCompact: { errorMsg: "", success: !1, running: !1 },
  audit: { report: [], running: !1, issues: 0, dropped: 0, corrupt: 0, errorMsg: "" },
  flags: [],
}
export const debugSlice = e({
  name: "debug",
  initialState: INITIAL_STATE,
  reducers: {
    lockDebug: (e) => {
      e.unlocked = !1
    },
    unlockDebug: (e) => {
      e.unlocked = !0
    },
    setStartAudit: (e) => {
      ;((e.audit.issues = 0),
        (e.audit.dropped = 0),
        (e.audit.corrupt = 0),
        (e.audit.report = []),
        (e.audit.running = !0),
        (e.audit.errorMsg = ""))
    },
    setAuditReport: (e, { payload: t }) => {
      ;((e.audit.report = t.report),
        (e.audit.issues = t.issues),
        (e.audit.dropped = t.dropped),
        (e.audit.corrupt = t.corrupt),
        (e.audit.running = !1))
    },
    setAuditError: (e, { payload: t }) => {
      ;((e.audit.errorMsg = t), (e.audit.running = !1))
    },
    setDebugFlags: (e, t) => {
      e.flags = t.payload
      const s = e.flags.filter((e) => o.includes(e.key))
      s.length === o.length ? (e.offline = s.every((e) => !0 === e.value)) : (e.offline = !1)
    },
    setSuspended: (e, { payload: t }) => {
      e.suspended = t
    },
    setSuspendDisabled: (e, { payload: t }) => {
      e.suspendDisabled = t
    },
    setLocalDbCompacting: (e) => {
      ;((e.localDbCompact.errorMsg = ""),
        (e.localDbCompact.running = !0),
        (e.localDbCompact.success = !1))
    },
    setLocalDbCompactError: (e, { payload: t }) => {
      ;((e.localDbCompact.errorMsg = t), (e.localDbCompact.running = !1))
    },
    setLocalDbCompactSuccess: (e) => {
      ;((e.localDbCompact.success = !0), (e.localDbCompact.running = !1))
    },
  },
})
const s = (e) => e.debug
export const getIsDebugUnlocked = (e) => s(e).unlocked
export const getIsSuspended = (e) => s(e).suspended
export const getIsSuspendDisabled = (e) => s(e).suspendDisabled
export const getIsOffline = (e) => s(e).offline
export const getDebugFlags = (e) => s(e).flags
export const getAuditResult = (e) => s(e).audit
export const getLocalDbCompact = (e) => s(e).localDbCompact
export const getIsLocalDbCompacting = (e) => getLocalDbCompact(e).running
export const getLocalDbCompactSuccess = (e) => getLocalDbCompact(e).success
export const getLocalDbCompactErrorMsg = (e) => getLocalDbCompact(e).errorMsg
export const {
  lockDebug: lockDebug,
  unlockDebug: unlockDebug,
  setDebugFlags: setDebugFlags,
  setSuspended: setSuspended,
  setSuspendDisabled: setSuspendDisabled,
  setStartAudit: setStartAudit,
  setAuditReport: setAuditReport,
  setAuditError: setAuditError,
  setLocalDbCompacting: setLocalDbCompacting,
  setLocalDbCompactError: setLocalDbCompactError,
  setLocalDbCompactSuccess: setLocalDbCompactSuccess,
} = debugSlice.actions
export const toggleDebug = t("debug/toggle-debug-lock")
export const fetchDebugFlags = t("debug/fetch-debug-flags")
export const updateDebugFlag = t("debug/update-debug-flag")
export const toggleSuspendCmd = t("debug/toggle-suspend-cmd")
export const toggleOffline = t("debug/toggle-offline")
export const startAudit = t("debug/start-audit")
export const startLocalDbCompact = t("debug/start-local-db-compact")
export const upgradePrivateProfile = t("debug/upgrade-private-profile")