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

OfflineDomain

@mineflow/client-react


@mineflow/client-react / OfflineDomain

Interface: OfflineDomain<TOps>

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

Поверхность 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:76

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


ops

readonly ops: TOps;

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

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


scope

readonly scope: string;

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

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

Methods

registerDefaults()

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

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

Регистрирует 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:85

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

Returns

OutboxStatus


useRetryFailed()

useRetryFailed(): () => void;

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

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

Returns

() => void