@@ -7,21 +7,23 @@ enum MeetupId { | |||||
case meetupIdTextUI | case meetupIdTextUI | ||||
} | } | ||||
static func shouldFormat(_ s: String) -> String? { | |||||
let digits = s.components(separatedBy: NSCharacterSet.decimalDigits.inverted).reduce("") { $0 + $1 } | |||||
var r = "" | |||||
var i = 0 | |||||
for v in digits { | |||||
r += String(v) | |||||
i = i + 1 | |||||
if i % 3 == 0 { | |||||
r += "-" | |||||
} | |||||
static func onlyFormat(_ s: String) -> String? { | |||||
let digits = s.components(separatedBy: NSCharacterSet.decimalDigits.inverted).reduce("") { $0 + $1 } | |||||
var r = "" | |||||
var i = 0 | |||||
// Делим каждые три цифры дефисом. | |||||
for v in digits { | |||||
r += String(v) | |||||
i = i + 1 | |||||
if i % 3 == 0 { | |||||
r += "-" | |||||
} | } | ||||
if r.hasSuffix("-") { | |||||
r = String(r.dropLast(1)) | |||||
} | |||||
return r | |||||
} | |||||
// Исключаем дефис в конце. | |||||
if r.hasSuffix("-") { | |||||
r = String(r.dropLast(1)) | |||||
} | |||||
return r | |||||
} | } | ||||
} | } | ||||
@@ -6,7 +6,7 @@ final class VM: ObservableObject { | |||||
let format = Bus.Processor( | let format = Bus.Processor( | ||||
MeetupId.K.meetupIdTextUI.rawValue, | MeetupId.K.meetupIdTextUI.rawValue, | ||||
MeetupId.K.meetupIdTextApp.rawValue, | MeetupId.K.meetupIdTextApp.rawValue, | ||||
MeetupId.shouldFormat | |||||
MeetupId.onlyFormat | |||||
) | ) | ||||
var subscriptions = [AnyCancellable]() | var subscriptions = [AnyCancellable]() | ||||