Tento commit je obsažen v:
Михаил Капелько
2023-12-13 19:27:57 +03:00
rodič 30efa129a8
revize 848f658327
3 změnil soubory, kde provedl 56 přidání a 68 odebrání

54
src/MeetupId.swift Normální soubor
Zobrazit soubor

@@ -0,0 +1,54 @@
import Foundation
enum MeetupId {
enum Keys: String, RawRepresentable {
case meetupIdTextApp
case meetupIdTextUI
}
static func shouldFormat(_ s: String) -> String? {
s.components(separatedBy: NSCharacterSet.decimalDigits.inverted).reduce("") { $0 + $1 }
}
/*
final class MeetupIdFormatter {
var subscriptions = [AnyCancellable]()
deinit {
/**/dbg("ИГР MeetupIF.DEinit")
}
init() {
Bus.receive(
&subscriptions,
[Keys.meetupIdTextUI.rawValue],
{ [weak self] k, v in self?.handleFormatting(k, v) }
)
/**/dbg("ИГР MeetupIF.init")
}
func handleFormatting(_: String, _ value: String) {
let out = MeetupId.shouldFormat(value)
/**/dbg("ИГР MeetupIF.handleF out/dt: '\(out)'/'\(Date())'")
Bus.Service.singleton?.send(Keys.meetupIdTextApp.rawValue, out)
}
}
struct V: View {
/*@StateObject*/ var fmt = MeetupIdFormatter()
@StateObject var txt = Bus.BindingPipe("", Keys.meetupIdTextApp.rawValue, Keys.meetupIdTextUI.rawValue)
var body: some View {
VStack {
Text("Hi, the text is: '\(txt.value)'")
.fontWeight(.bold)
TextField("Placeholder", text: $txt.value)
.padding(8)
.border(Color.blue, width: 2)
}
.frame(width: 320)
.padding()
}
}
*/
}