Проверка шаблона шины для iOS
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

61 lignes
1.0KB

  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 shouldFinishLoading(_ c: MeetupIdContext) -> Bool? {
  23. guard
  24. c.isLoading.isRecent,
  25. c.isLoading.value
  26. else {
  27. return nil
  28. }
  29. return true
  30. }
  31. static func shouldResetLoading(_ c: MeetupIdContext) -> Bool? {
  32. if
  33. c.join,
  34. !c.isLoading.value
  35. {
  36. return true
  37. }
  38. if
  39. c.finishLoading,
  40. c.isLoading.value
  41. {
  42. return false
  43. }
  44. return nil
  45. }
  46. static func shouldResetText(_ c: MeetupIdContext) -> String? {
  47. guard c.textUI.isRecent else { return nil }
  48. return formatId(c.textUI.value)
  49. }
  50. }