//
// Copyright © 2025 Nevis Security AG. All rights reserved.
//

import NevisMobileAuthentication

actor PendingOutOfBandOperation: ResultOperation {
	typealias T = PendingOutOfBandOperationsResult

	// MARK: Properties

	let state: OperationState
	let onResult: ResultHandler

	// MARK: Initialization

	init(operationId: String, method: ReactMethod) {
		self.state = NoOperationState()
		self.onResult = {
			let message = PendingOobOperationsResultMessage(operationId: operationId, result: $0)
			OnResultImpl(operationId: operationId, method: method).onResult(message: message)
		}
	}
}
