MutationOptions
interfaz Since 1.2.0
Opciones de useRpcMutation y useApiMutation. Desde 1.2 los parámetros de tipo tipan los
avisos onSuccess y onError; las firmas de los composables los rellenan.
import type { MutationOptions } from "@meekojs/meeko/framework";Source code src/app/runtime/mutations.ts:112
Declaración #
interface MutationOptions<Input = unknown, Output = unknown> {
readonly retrySafe?: RetrySafeOptions
readonly onSuccess?: (output: Output, attempt: MutationAttempt<Input>) => unknown
readonly onError?: (error: Error, attempt: MutationFailure<Input>) => unknown
}Type parameters #
-
Input= unknown Entrada de la mutación.
-
Output= unknown Salida de la mutación.
Example #
import type { MutationOptions } from "@meekojs/meeko/framework";
const options: MutationOptions<{ itemId: string }, { step: number }> = {
retrySafe: { key: "kitchen:step", storage: "session" },
onSuccess: (output, attempt) => console.log(`Paso ${output.step}`, attempt.trigger),
};
const step = useRpcMutation("kitchen.step", options);Propiedades #
retrySafe
#
readonly retrySafe?: RetrySafeOptionsHace la mutación segura ante reintentos: cada intención lleva una clave de idempotencia
(cabecera Idempotency-Key), se guarda antes de enviarse y, si no hay respuesta, se reintenta
con la misma clave. Véase RetrySafeMutation.
onSuccess
#
readonly onSuccess?: (output: Output, attempt: MutationAttempt<Input>) => unknownSe llama una vez por cada intento que termina bien, también los reintentos automáticos de
retrySafe, después de actualizar data, error, pending y uncertain.
onError
#
readonly onError?: (error: Error, attempt: MutationFailure<Input>) => unknownSe llama una vez por cada intento que falla, después de actualizar el estado.