OverviewFilesCommitsIssuesDocsReleasesPeers

keet-deobfuscated / @holepunchto / keet-store / store / lib / service.js

24 lines · javascript ref:
import { createAction as e, nanoid as t } from "@reduxjs/toolkit"
export const SERVICE_CMD_SUFFIX = "/service-cmd"
export const SERVICE_SUCCESS_SUFFIX = "/service-success"
export const SERVICE_FAIL_SUFFIX = "/service-fail"
export const createServiceCmdActions = (r) => [
  e(`${r}/service-cmd`, (e) => ({ payload: e, meta: { originType: r, cmdId: t() } })),
  e(`${r}/service-success`, ({ origin: e, payload: t }) => ({ payload: t, meta: { ...e.meta } })),
  e(`${r}/service-fail`, ({ origin: e, error: t }) => ({
    error: t,
    payload: null,
    meta: { ...e.meta },
  })),
]
export const serviceCmdMatch = (e) => (t) =>
  !!(
    t?.meta?.cmdId &&
    t?.meta?.originType &&
    e?.meta?.cmdId &&
    e?.meta?.originType &&
    t.type !== e.type &&
    t.meta.originType === e.meta.originType &&
    t.meta.cmdId === e.meta.cmdId
  )