40 lines
746 B
Swift
40 lines
746 B
Swift
//
|
|
// EventEmitter.swift
|
|
// RNPlayground
|
|
//
|
|
// Created by Artur Gurgul on 02/08/2025.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
protocol MessageEmitter {
|
|
func send(message: String)
|
|
}
|
|
|
|
class NullMessageEmitter: MessageEmitter {
|
|
func send(message: String) {
|
|
print("Warning: Emiter is not ready yet")
|
|
}
|
|
}
|
|
|
|
|
|
protocol EventEmitter {
|
|
func send(message: String)
|
|
func register(eventEmitter: Emitter)
|
|
}
|
|
|
|
class DefaultEventEmitter: EventEmitter {
|
|
private var eventEmitter: MessageEmitter = NullMessageEmitter()
|
|
|
|
func register(eventEmitter: Emitter) {
|
|
self.eventEmitter = eventEmitter
|
|
}
|
|
|
|
func send(message: String) {
|
|
eventEmitter.send(message: message)
|
|
}
|
|
|
|
var isReady: Bool {
|
|
return (eventEmitter is NullMessageEmitter) == false
|
|
}
|
|
}
|