import Foundation /// The transcribing service used for development, which simulates the transcription work. /// /// The service is internal on purpose: it only backs the feature's previews and the default values of its model, and is not part of the /// package's public interface. struct DummyTranscribing: Transcribing { // MARK: Methods /// Simulates the transcription of the given recorded audio with a two-second delay. /// /// - Parameters: /// - audio: The recorded audio to transcribe. /// - locale: The locale of the spoken language to transcribe. /// - Returns: A dummy transcription. func callAsFunction( _ audio: Data, locale: Locale ) async throws -> Transcription { try await Task.sleep(for: Constant.Delay.transcribing) return .init(text: Constant.Text.transcription) } } // MARK: - Constants /// The constant values used across the transcribing services. private enum Constant { /// The delay constants. enum Delay { /// The duration of the simulated transcription work. static let transcribing: Duration = .seconds(2) } /// The text constants. enum Text { /// The dummy transcription of a recorded audio. static let transcription = "This is a dummy transcription of the recorded audio." } }