func arcParser()

in Cyborg/DrawingCommand.swift [433:460]


func arcParser(_ string: XMLString, _ index: Int32) -> ParseResult<(CGPoint, CGFloat, CGFloat, CGFloat, CGPoint)> {
    switch coordinatePair()(string, index) {
    case .ok(let radius, let index):
        switch number(from: string, at: index) {
        case .ok(let rotation, let index):
            switch number(from: string, at: index) {
            case .ok(let arcFlagNumber, let index):
                switch number(from: string, at: index) {
                case .ok(let sweepFlagNumber, let index):
                    switch coordinatePair()(string, index) {
                    case .ok(let endPoint, let index):
                        return .ok((radius, rotation, arcFlagNumber, sweepFlagNumber, endPoint), index)
                    case .error(let error):
                        return .error(error)
                    }
                case .error(let error):
                    return .error(error)
                }
            case .error(let error):
                return .error(error)
            }
        case .error(let error):
            return .error(error)
        }
    case .error(let error):
        return .error(error)
    }
}