public class Rejecter {

    public init(_ callback: @escaping RCTPromiseRejectBlock) {
        self.callback = callback
    }

    public func reject(_ error: PrestoPlayError) {
        let json: String?

        do {
            json = String(
                data: try JSONEncoder().encode(error),
                encoding: String.Encoding.utf8
            )
        } catch {
            fatalError("Failure while encodnig an error to JSON")
        }

        callback("PrestoPlayError", json, nil)
    }

    // MARK: Private

    private let callback: RCTPromiseRejectBlock
}
