Проверка шаблона шины для iOS
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

47 lines
688B

  1. import Foundation
  2. public extension MeetupId {
  3. static func shouldEnableJoin(_ c: MeetupIdContext) -> Bool? {
  4. guard !c.isLoading.value else { return nil }
  5. if
  6. c.textUI.isRecent,
  7. let sid = formatId(c.textUI.value)
  8. {
  9. return sid.count > 2
  10. }
  11. if c.join {
  12. return false
  13. }
  14. if
  15. c.isLoading.isRecent,
  16. !c.isLoading.value
  17. {
  18. return true
  19. }
  20. return nil
  21. }
  22. static func shouldResetLoading(_ c: MeetupIdContext) -> Bool? {
  23. if
  24. c.join,
  25. !c.isLoading.value
  26. {
  27. return true
  28. }
  29. if
  30. c.finishLoading,
  31. c.isLoading.value
  32. {
  33. return false
  34. }
  35. return nil
  36. }
  37. }