LoginViewModel.swift 507 B

123456789101112131415161718
  1. import AuthenticationServices
  2. import SwiftUI
  3. extension Login {
  4. class ViewModel<Provider>: BaseViewModel<Provider>, ObservableObject where Provider: LoginProvider {
  5. @Published var credentials: ASAuthorizationAppleIDCredential?
  6. override func subscribe() {
  7. credentials = provider.credentials
  8. $credentials
  9. .compactMap { $0 }
  10. .sink { self.provider.authorize(credentials: $0) }
  11. .store(in: &lifetime)
  12. }
  13. }
  14. }