Переменная: все пути через эту функцию будут вызывать себя - PullRequest
0 голосов
/ 09 марта 2020

В var authType: AuthType у меня есть предупреждение:

Все пути через эту функцию будут вызывать себя

Я не могу понять, что мне делать, чтобы исправить это):

public enum AuthType: String {
   case frontOffice
   case backOffice
}

public enum Environment: String {
    case live
    case i09
    case i133
    case s07

    var identity: Environment {
        switch self {
        case .i09:
            return .s07

        default:
            return self
        }
    }
}

public extension Environment {

    var endpoints: Endpoints { Endpoints(for: self) }
        var authType: AuthType {        <------------------ here
        switch self.authType {
            case .frontOffice:
                return .frontOffice
            case .backOffice:
                return .backOffice
        }
    }
}

Код конечной точки:

public struct Endpoints {
    public var identityURL: URL
}

public extension Endpoints {

    init(for env: Environment) {

        switch env {
        case .live:
            switch env.authType {
                case .frontOffice:
                    self.identityURL = URL("https://auth.net")
                case .backOffice:
                    self.identityURL = URL("https://authbo.net")
            }

        case .ite09,
             .ite133,
             .sbx07:
             switch env.authType {
                case .frontOffice:
                    self.identityURL = URL("https://\(env.identity.rawValue)-auth.info")
                case .backOffice:
                    self.identityURL = URL("https://\(env.identity.rawValue)-authbo.info")
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...