mirror of
https://github.com/realm/SwiftLint.git
synced 2026-06-06 20:18:40 +00:00
6eedf5d73c
* Add private_only to prefixed_toplevel_constant This allows users to opt in to only validate top level constants have the given prefix if the constant is private or fileprivate.
33 lines
1.1 KiB
Swift
33 lines
1.1 KiB
Swift
import Foundation
|
|
|
|
public struct PrefixedConstantRuleConfiguration: RuleConfiguration, Equatable {
|
|
var severityConfiguration = SeverityConfiguration(.warning)
|
|
var onlyPrivateMembers = false
|
|
|
|
public var consoleDescription: String {
|
|
return severityConfiguration.consoleDescription + ", only_private: \(onlyPrivateMembers)"
|
|
}
|
|
|
|
public init(onlyPrivateMembers: Bool) {
|
|
self.onlyPrivateMembers = onlyPrivateMembers
|
|
}
|
|
|
|
public mutating func apply(configuration: Any) throws {
|
|
guard let configuration = configuration as? [String: Any] else {
|
|
throw ConfigurationError.unknownConfiguration
|
|
}
|
|
|
|
onlyPrivateMembers = (configuration["only_private"] as? Bool == true)
|
|
|
|
if let severityString = configuration["severity"] as? String {
|
|
try severityConfiguration.apply(configuration: severityString)
|
|
}
|
|
}
|
|
}
|
|
|
|
public func == (lhs: PrefixedConstantRuleConfiguration,
|
|
rhs: PrefixedConstantRuleConfiguration) -> Bool {
|
|
return lhs.onlyPrivateMembers == rhs.onlyPrivateMembers &&
|
|
lhs.severityConfiguration == rhs.severityConfiguration
|
|
}
|