use guard instead of nested if let

This commit is contained in:
JP Simard
2017-01-03 23:17:28 -08:00
parent 12a66d4fe1
commit 6e994776df
@@ -35,21 +35,18 @@ public struct RuleList {
var rules = [String: Rule]()
for (key, configuration) in dictionary {
if let identifier = identifier(for: key), let ruleType = list[identifier] {
guard rules[identifier] == nil else {
throw RuleListError.duplicatedConfigurations(rule: ruleType)
}
do {
let configuredRule = try ruleType.init(configuration: configuration)
rules[identifier] = configuredRule
} catch {
queuedPrintError(
"Invalid configuration for '\(identifier)'. Falling back to default."
)
rules[identifier] = ruleType.init()
}
guard let identifier = identifier(for: key), let ruleType = list[identifier] else {
continue
}
guard rules[identifier] == nil else {
throw RuleListError.duplicatedConfigurations(rule: ruleType)
}
do {
let configuredRule = try ruleType.init(configuration: configuration)
rules[identifier] = configuredRule
} catch {
queuedPrintError("Invalid configuration for '\(identifier)'. Falling back to default.")
rules[identifier] = ruleType.init()
}
}