Перейти к основному содержимому

OfflineDomain

@mineflow/client-react


@mineflow/client-react / offline-domain / OfflineDomain

Interface: OfflineDomain<TOps>

Defined in: client-react/src/offline-domain.ts:72

Поверхность offline-домена, возвращаемая createOfflineDomain: данные для live-хуков (scope/ops/mutationKeys) + механика устойчивости (registerDefaults/useOutbox/useRetryFailed).

Type Parameters​

Type Parameter
TOps extends Record<string, OfflineOp>

Properties​

mutationKeys​

readonly mutationKeys: { [K in string | number | symbol]: readonly string[] };

Defined in: client-react/src/offline-domain.ts:78

Стабильные mutationKey'и (ключи совпадают с ops).


ops​

readonly ops: TOps;

Defined in: client-react/src/offline-domain.ts:76

Операции-эндпоинты домена (используются и в live-хуках, и в replay).


scope​

readonly scope: string;

Defined in: client-react/src/offline-domain.ts:74

Общий scope.id домена (для строго-FIFO replay в live-хуках).

Methods​

registerDefaults()​

registerDefaults(queryClient: QueryClient, client: MineflowClient): void;

Defined in: client-react/src/offline-domain.ts:85

Регистрирует mutation defaults, чтобы мутации, восстановленные из персиста ПОСЛЕ рестарта (у них нет mutationFn — только key + variables), знали, как себя проиграть. Вызывать ВНУТРИ MineflowProvider (нужен client), до resumePausedMutations.

Parameters​

ParameterType
queryClientQueryClient
clientMineflowClient

Returns​

void


useOutbox()​

useOutbox(): OutboxStatus;

Defined in: client-react/src/offline-domain.ts:87

Сводка outbox'а: сколько write-мутаций домена в очереди/в полёте/упало.

Returns​

OutboxStatus


useRetryFailed()​

useRetryFailed(): () => void;

Defined in: client-react/src/offline-domain.ts:94

Повторяет упавшие (error) write-мутации домена. Re-execute переиспользует state.variables (тот же стабильный Idempotency-Key) → повтор идемпотентен на бэке. Errored-мутации НЕ резюмятся resumePausedMutations (только paused), поэтому нужен явный re-execute.

Returns​

() => void