Defines the interface for an interactor that emits progress.
This interface should be used when you want to emit progress events during the execution of the interactor.
The Input type is the type of the input that the interactor will receive.
The Output type is the type of the output that the interactor will return.
The Progress type is the type of the progress event that will be emitted.
Extension that adds the intercept method to the ParameterizedResultInteractor class.
This method allows you to intercept exceptions thrown by the interactor's getOrThrow method.
The callback will be called with the exception that was thrown.
The exception will be rethrown after the callback has been executed.
Extension that adds the logEvents and log methods to the ParameterizedResultInteractor class.
These methods allow you to log the start, success, and error events of the interactor.
You can specify custom log messages for each event.
The logEvents method allows you to specify a different log message for each event.
Extension that adds the receiveProgress method to the ParameterizedResultProgressInteractor class.
This method allows you to receive progress events emitted by the interactor.
The callback will be called with the progress event that was emitted.
Adds the recover method to the ParameterizedResultInteractor class.
This method allows you to recover from an exception thrown by the interactor's getOrThrow method.
The callback will be called with the exception that was thrown.
The result of the callback will be returned instead of the exception.
Extension that adds the timeout method to the ParameterizedResultInteractor class.
This method allows you to specify a timeout for the interactor's getOrThrow method.
If the interactor takes longer than the specified duration, a TimeoutException will be thrown.
You can also specify a custom error message for the TimeoutException.