MutationOptions

MutationOptions providing settings related to the internal behavior of an Mutation.

Inheritors

Types

Link copied to clipboard

Properties

Link copied to clipboard
abstract val errorEquals: (Throwable, Throwable) -> Boolean?

Determines whether two errors are equal.

Link copied to clipboard
abstract val isOneShot: Boolean

Only allows mutate to execute once while active (until reset).

Link copied to clipboard
abstract val isStrictMode: Boolean

Requires revision match as a precondition for executing mutate.

Link copied to clipboard
abstract val keepAliveTime: Duration

Duration to remain state as an active.

Link copied to clipboard
abstract val logger: LoggerFn?

Specifies the logger function.

Link copied to clipboard
abstract val onError: (ErrorRecord, MutationModel<*>) -> Unit?

This callback function will be called if some mutation encounters an error.

Link copied to clipboard
abstract val retryCount: Int

The number of times to retry the operation.

Link copied to clipboard

The initial interval for retrying the operation.

Link copied to clipboard

The maximum interval for retrying the operation.

Link copied to clipboard
abstract val retryMultiplier: Double

The multiplier for the next interval.

Link copied to clipboard

The randomization factor for the next interval.

Link copied to clipboard
abstract val retryRandomizer: Random

The random number generator for the next interval.

Link copied to clipboard

Whether the query side effect should be synchronous. If true, side effect will be executed synchronously.

Link copied to clipboard
abstract val shouldRetry: (Throwable) -> Boolean

Specifies whether to retry the operation.

Link copied to clipboard

Determines whether to suppress error information when relaying it using soil.query.core.ErrorRelay.

Functions

Link copied to clipboard
fun MutationOptions.copy(isOneShot: Boolean = this.isOneShot, isStrictMode: Boolean = this.isStrictMode, errorEquals: (Throwable, Throwable) -> Boolean? = this.errorEquals, onError: (ErrorRecord, MutationModel<*>) -> Unit? = this.onError, shouldSuppressErrorRelay: (ErrorRecord, MutationModel<*>) -> Boolean? = this.shouldSuppressErrorRelay, shouldExecuteEffectSynchronously: Boolean = this.shouldExecuteEffectSynchronously, keepAliveTime: Duration = this.keepAliveTime, logger: LoggerFn? = this.logger, shouldRetry: (Throwable) -> Boolean = this.shouldRetry, retryCount: Int = this.retryCount, retryInitialInterval: Duration = this.retryInitialInterval, retryMaxInterval: Duration = this.retryMaxInterval, retryMultiplier: Double = this.retryMultiplier, retryRandomizationFactor: Double = this.retryRandomizationFactor, retryRandomizer: Random = this.retryRandomizer): MutationOptions

Copies the current MutationOptions with the specified settings.

Link copied to clipboard

Generates an RetryFn for Exponential Backoff Strategy.