mirror of
https://github.com/realm/SwiftLint.git
synced 2026-06-06 20:18:40 +00:00
42 lines
1.2 KiB
Swift
42 lines
1.2 KiB
Swift
//
|
|
// SeverityLevelsConfig.swift
|
|
// SwiftLint
|
|
//
|
|
// Created by Scott Hoyt on 1/19/16.
|
|
// Copyright © 2016 Realm. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
public struct SeverityLevelsConfig: RuleConfig, Equatable {
|
|
var warning: Int
|
|
var error: Int
|
|
|
|
var params: [RuleParameter<Int>] {
|
|
return [RuleParameter(severity: .Error, value: error),
|
|
RuleParameter(severity: .Warning, value: warning)]
|
|
}
|
|
|
|
mutating public func setConfig(config: AnyObject) throws {
|
|
if let config = [Int].arrayOf(config) where !config.isEmpty {
|
|
warning = config[0]
|
|
if config.count > 1 {
|
|
error = config[1]
|
|
}
|
|
} else if let config = config as? [String: AnyObject] {
|
|
if let warningNumber = config["warning"] as? Int {
|
|
warning = warningNumber
|
|
}
|
|
if let errorNumber = config["error"] as? Int {
|
|
error = errorNumber
|
|
}
|
|
} else {
|
|
throw ConfigurationError.UnknownConfiguration
|
|
}
|
|
}
|
|
}
|
|
|
|
public func == (lhs: SeverityLevelsConfig, rhs: SeverityLevelsConfig) -> Bool {
|
|
return lhs.warning == rhs.warning && lhs.error == rhs.error
|
|
}
|