react-native/ios/Native/Application/Shared/Emitter/EventEmitter.swift

41 lines
746 B
Swift
Raw Normal View History

//
// EventEmitter.swift
// RNPlayground
//
// Created by Artur Gurgul on 02/08/2025.
//
import Foundation
2025-08-03 13:39:29 +02:00
protocol MessageEmitter {
func send(message: String)
}
2025-08-03 13:39:29 +02:00
class NullMessageEmitter: MessageEmitter {
func send(message: String) {
print("Warning: Emiter is not ready yet")
}
}
protocol EventEmitter {
func send(message: String)
func register(eventEmitter: Emitter)
}
2025-08-03 13:39:29 +02:00
class DefaultEventEmitter: EventEmitter {
private var eventEmitter: MessageEmitter = NullMessageEmitter()
func register(eventEmitter: Emitter) {
self.eventEmitter = eventEmitter
}
func send(message: String) {
2025-08-03 13:39:29 +02:00
eventEmitter.send(message: message)
}
var isReady: Bool {
2025-08-03 13:39:29 +02:00
return (eventEmitter is NullMessageEmitter) == false
}
}