import PRESTOplay

public struct NativeError: Codable {
    public let severity: Int
    public let category: Int
    public let type: Int
    public let message: String
    public let data: [String: String]
    // public let parentError: (any Error)?  // can't be Codable unless wrapped
    public let description: String

    public init(_ error: PRESTOerror) {
        self.severity = error.severity.rawValue as Int
        self.category = error.category.rawValue as Int
        self.type = error.type.rawValue as Int
        self.message = error.message
        self.data = error.data
        self.description = error.description
    }
}
