feature/single_value_storages #6
No reviewers
Labels
No Label
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: TouchInstinct/LeadKit#6
Loading…
Reference in New Issue
No description provided.
Delete Branch "feature/single_value_storages"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
SingleValueStorage- протокол для доступа к значению которое может храниться в Keychain, UserDefaults или ещё где-то.Позволяет:
StringValueKeychainStorageКласс для работы со строковым значением нахоящимся в keychain (самый частый кейс)
AppInstallLifetimeSingleValueStorage<SingleValueStorage>Класс позволяющий добавить дополнительную функциональность очистки значения по конкретному ключу в keychain
после переустановки приложения
@ -0,0 +44,4 @@}open func getValue() -> Result<Storage.ValueType, Storage.ErrorType> {if appReinstallChecker.isAppFirstRun {Минор, но, может, переписать на
guard? Немного от вложенности избавимся@ -35,0 +37,4 @@prependRequestRetriers: [RequestRetrier] = [],appendRequestRetriers: [RequestRetrier] = [],completion: @escaping ParameterClosure<EndpointResponse<S>>) -> Cancellable{Тоже минор, тут скобка съехала
@ -65,1 +110,4 @@self.process(request: request) {completion($0.mapError { .init(failures: [$0]) })}.add(to: cancellableBag)И, если не ошибаюсь, то между
caseоставляем пустую строку, там в нескольких местах есть такое