Fix. Linting & rules
This commit is contained in:
parent
9c04cbdc32
commit
638399eb2d
|
|
@ -1,137 +0,0 @@
|
|||
disabled_rules:
|
||||
- identifier_name
|
||||
excluded:
|
||||
- Carthage
|
||||
- Pods
|
||||
|
||||
line_length: 128
|
||||
type_body_length:
|
||||
- 500 # warning
|
||||
- 700 # error
|
||||
file_length:
|
||||
warning: 500
|
||||
error: 1200
|
||||
warning_threshold: 1
|
||||
|
||||
custom_rules:
|
||||
uiwebview_disabled:
|
||||
included: ".*.swift"
|
||||
name: "UIWebView Usage Disabled"
|
||||
regex: 'UIWebView'
|
||||
message: "Do not use UIWebView. Use WKWebView Instead. https://developer.apple.com/reference/uikit/uiwebview"
|
||||
severity: error
|
||||
|
||||
native_print:
|
||||
name: "print -> DDLog"
|
||||
regex: '(print|NSLog)\('
|
||||
message: "Please use CocoaLumberjack instead `print` and `NSlog`"
|
||||
severity: error
|
||||
|
||||
zero:
|
||||
name: "Short .zero"
|
||||
regex: '\(top: 0, left: 0, bottom: 0, right: 0\)'
|
||||
message: "Please use short init `.zero`."
|
||||
severity: error
|
||||
|
||||
private_variable:
|
||||
name: "Private variable"
|
||||
regex: '(?<!private\s)let\s\w*(:|(\s=))\sVariable'
|
||||
message: "Please use (file)private with variable."
|
||||
severity: error
|
||||
|
||||
let_variable:
|
||||
name: "Let Variable"
|
||||
regex: 'var\s\w*(:|(\s=))\sVariable'
|
||||
message: "Please make variable using `let`."
|
||||
severity: error
|
||||
|
||||
marks_style:
|
||||
name: "Marks"
|
||||
regex: '// MARK: -?[a-zA-Z0-9]'
|
||||
message: "Marks should follow the following structure: // MARK: - Comment."
|
||||
severity: warning
|
||||
|
||||
no_header_comments:
|
||||
name: "Header Comments"
|
||||
regex: '//\s*Created by.*\s*//\s*Copyright'
|
||||
match_kinds:
|
||||
- comment
|
||||
message: "Template header comments should be removed."
|
||||
|
||||
private_outlet:
|
||||
name: "Outlet"
|
||||
regex: '@IBOutlet(\sweak)?(\s(file)?private(\(set\))?)?\svar'
|
||||
message: "Please use some of `private` modifiers and make property it weak. Use pattern: `IBOutlet private weak var`."
|
||||
severity: error
|
||||
|
||||
delegate:
|
||||
name: "Delegate"
|
||||
regex: '(?<!weak\s)var\s\w*(D|d)elegate\w*:'
|
||||
message: "Please use `weak` for `delegate`. "
|
||||
severity: error
|
||||
|
||||
unnecessary_type:
|
||||
name: "Unnecessary Type"
|
||||
regex: '[ @a-zA-Z]*(?:let|var)\s\w*: ([a-zA-Z0-9]*)\?? = \1'
|
||||
message: "Type definition not needed"
|
||||
severity: error
|
||||
|
||||
unowned:
|
||||
name: "Unowned"
|
||||
regex: 'unowned'
|
||||
message: "Please use `weak` instead. "
|
||||
severity: error
|
||||
|
||||
empty_count_zero:
|
||||
name: "Empty Count Violation"
|
||||
regex: '\.count\s*(==|!=|<|<=|>|>=)\s*0'
|
||||
message: "Prefer checking `isEmpty` over comparing `count` to zero."
|
||||
severity: warning
|
||||
|
||||
# Should be { braces_body } instead of {braces_body}
|
||||
spaces_around_braces:
|
||||
included: ".*.swift"
|
||||
name: "Spaces around the braces"
|
||||
regex: '(([A-Za-z0-9])[\{\}])|([\{\}]([A-Za-z0-9]))'
|
||||
message: "No spaces around the braces"
|
||||
severity: error
|
||||
match_kinds:
|
||||
- attribute.builtin
|
||||
- attribute.id
|
||||
- buildconfig.id
|
||||
- buildconfig.keyword
|
||||
- identifier
|
||||
- keyword
|
||||
- objectliteral
|
||||
- parameter
|
||||
- placeholder
|
||||
- typeidentifier
|
||||
|
||||
inout_keyword:
|
||||
name: "Inout"
|
||||
regex: 'inout'
|
||||
message: "Don't use inout arguments"
|
||||
severity: error
|
||||
match_kinds: keyword
|
||||
|
||||
continue_keyword:
|
||||
name: "Continue"
|
||||
regex: 'continue'
|
||||
message: "Don't use continue instruction"
|
||||
severity: error
|
||||
match_kinds: keyword
|
||||
|
||||
cyrillic_strings:
|
||||
name: "Cyrillic strings"
|
||||
regex: '[а-яА-Я]+'
|
||||
message: "Localize or translate"
|
||||
severity: error
|
||||
match_kinds:
|
||||
- identifier
|
||||
- string
|
||||
|
||||
simple_ban:
|
||||
name: "Simple type name"
|
||||
regex: '(class|struct)(.)+[sS]imple(.)+\{'
|
||||
message: "Don't use 'simple' in type name, use 'default' or 'base' instead"
|
||||
severity: warning
|
||||
|
|
@ -0,0 +1 @@
|
|||
../code-quality/.swiftlint.yml
|
||||
|
|
@ -212,11 +212,11 @@ extension BasePassCodeViewController: ConfigurableController {
|
|||
|
||||
open func bindViews() {
|
||||
fakeTextField.rx.text.asDriver()
|
||||
.do(onNext: { [weak self] text in
|
||||
.drive(onNext: { [weak self] text in
|
||||
self?.setStates(for: text ?? "")
|
||||
self?.hideError()
|
||||
self?.viewModel.setPassCodeText(text)
|
||||
})
|
||||
.drive(viewModel.passCodeText)
|
||||
.addDisposableTo(disposeBag)
|
||||
|
||||
viewModel.validationResult
|
||||
|
|
|
|||
|
|
@ -52,9 +52,7 @@ open class BasePassCodeViewModel: BaseViewModel {
|
|||
return passCodeControllerStateHolder.asDriver()
|
||||
}
|
||||
|
||||
// swiftlint:disable private_variable
|
||||
public let passCodeText = Variable<String?>(nil)
|
||||
// swiftlint:enable private_variable
|
||||
private let passCodeText = Variable<String?>(nil)
|
||||
|
||||
fileprivate var attemptsNumber = 0
|
||||
|
||||
|
|
@ -110,6 +108,16 @@ open class BasePassCodeViewModel: BaseViewModel {
|
|||
.addDisposableTo(disposeBag)
|
||||
}
|
||||
|
||||
// MARK: - Public
|
||||
|
||||
public var passCodeTextValue: String? {
|
||||
return passCodeText.value
|
||||
}
|
||||
|
||||
public func setPassCodeText(_ value: String?) {
|
||||
passCodeText.value = value
|
||||
}
|
||||
|
||||
public func reset() {
|
||||
passCodeText.value = nil
|
||||
validationResultHolder.value = nil
|
||||
|
|
|
|||
|
|
@ -6,9 +6,7 @@ class MaskFieldTextProxy: NSObject {
|
|||
|
||||
private var disposeBag = DisposeBag()
|
||||
|
||||
// swiftlint:disable private_variable
|
||||
let text = Variable("")
|
||||
// swiftlint:enable private_variable
|
||||
fileprivate let text = Variable("")
|
||||
|
||||
fileprivate let isCompleteHolder = Variable(false)
|
||||
var isComplete: Bool {
|
||||
|
|
|
|||
|
|
@ -43,9 +43,7 @@ class ValidationItem {
|
|||
return validationStateHolder.asObservable()
|
||||
}
|
||||
|
||||
// swiftlint:disable private_variable
|
||||
let text = Variable<String?>(nil)
|
||||
// swiftlint:enable private_variable
|
||||
private let text = Variable<String?>(nil)
|
||||
|
||||
private(set) var rules: [Rule] = []
|
||||
|
||||
|
|
|
|||
|
|
@ -24,14 +24,16 @@ class CellTextField: UITextField {
|
|||
inputAccessoryView = viewModel.toolBar
|
||||
returnKeyType = viewModel.returnButtonType
|
||||
|
||||
text = viewModel.text.value
|
||||
text = viewModel.textValue
|
||||
placeholder = viewModel.placeholder
|
||||
viewModel.textFieldSettingsBlock?(self)
|
||||
|
||||
viewModel.bind(for: self, to: disposeBag)
|
||||
|
||||
rx.text.asDriver()
|
||||
.drive(viewModel.text)
|
||||
.drive(onNext: {
|
||||
viewModel.setTextValue($0)
|
||||
})
|
||||
.addDisposableTo(disposeBag)
|
||||
|
||||
rx.controlEvent(.editingDidEndOnExit).asObservable()
|
||||
|
|
|
|||
|
|
@ -3,9 +3,7 @@ import RxSwift
|
|||
|
||||
class CellTextFieldViewModel: CellFieldJumpingProtocol {
|
||||
|
||||
// swiftlint:disable private_variable
|
||||
let text: Variable<String?>
|
||||
// swiftlint:enable private_variable
|
||||
private let text: Variable<String?>
|
||||
|
||||
let placeholder: String
|
||||
|
||||
|
|
@ -30,4 +28,14 @@ class CellTextFieldViewModel: CellFieldJumpingProtocol {
|
|||
self.textFieldSettingsBlock = textFieldSettingsBlock
|
||||
}
|
||||
|
||||
// MARK: - Internal
|
||||
|
||||
var textValue: String? {
|
||||
return text.value
|
||||
}
|
||||
|
||||
func setTextValue(_ value: String?) {
|
||||
text.value = value
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue