Skip to content

Commit 6cf9c87

Browse files
Rename eventing protocols
Signed-off-by: Fabrizio Demaria <[email protected]>
1 parent 3aed68e commit 6cf9c87

File tree

8 files changed

+15
-17
lines changed

8 files changed

+15
-17
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ let client = OpenFeatureAPI.shared.getClient()
9191
let flagValue = client.getBooleanValue(key: "boolFlag", defaultValue: false)
9292
```
9393

94-
Setting a new provider or setting a new evaluation context might trigger asynchronous operations (e.g. fetching flag evaluations from the backend and store them in a local cache). It's advised to not interact with the OpenFeature client until the `ProviderReady` event has been emitted (see [Eventing](#eventing) below).
94+
Setting a new provider or setting a new evaluation context might trigger asynchronous operations (e.g. fetching flag evaluations from the backend and store them in a local cache). It's advised to not interact with the OpenFeature client until the `ProviderReady` event has been sent (see [Eventing](#eventing) below).
9595

9696
## 🌟 Features
9797

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import Foundation
22
import Combine
33

4-
public class EventHandler: EventEmitter, EventPublisher {
4+
public class EventHandler: EventSender, EventObserver {
55
private let subject: CurrentValueSubject<ProviderEvent, Never>
66

77
public init(_ state: ProviderEvent) {
@@ -12,17 +12,17 @@ public class EventHandler: EventEmitter, EventPublisher {
1212
return subject
1313
}
1414

15-
public func emit(
15+
public func send(
1616
_ event: ProviderEvent
1717
) {
1818
subject.send(event)
1919
}
2020
}
2121

22-
public protocol EventPublisher {
22+
public protocol EventObserver {
2323
func observe() -> CurrentValueSubject<ProviderEvent, Never>
2424
}
2525

26-
public protocol EventEmitter {
27-
func emit(_ event: ProviderEvent)
26+
public protocol EventSender {
27+
func send(_ event: ProviderEvent)
2828
}

Sources/OpenFeature/OpenFeatureAPI.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import Combine
33

44
/// A global singleton which holds base configuration for the OpenFeature library.
55
/// Configuration here will be shared across all ``Client``s.
6-
public class OpenFeatureAPI: EventPublisher {
6+
public class OpenFeatureAPI: EventObserver {
77
private var _provider: FeatureProvider?
88
private var _context: EvaluationContext?
99
private(set) var hooks: [any Hook] = []

Sources/OpenFeature/Provider/FeatureProvider.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import Foundation
22

33
/// The interface implemented by upstream flag providers to resolve flags for their service.
4-
public protocol FeatureProvider: EventPublisher {
4+
public protocol FeatureProvider: EventObserver {
55
var hooks: [any Hook] { get }
66
var metadata: ProviderMetadata { get }
77

Sources/OpenFeature/Provider/NoOpProvider.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@ class NoOpProvider: FeatureProvider {
1515
var hooks: [any Hook] = []
1616

1717
func onContextSet(oldContext: EvaluationContext?, newContext: EvaluationContext) {
18-
eventHandler.emit(.configurationChanged)
18+
eventHandler.send(.configurationChanged)
1919
}
2020

2121
func initialize(initialContext: EvaluationContext?) {
22-
eventHandler.emit(.ready)
22+
eventHandler.send(.ready)
2323
}
2424

2525
func getBooleanEvaluation(key: String, defaultValue: Bool, context: EvaluationContext?) throws

Tests/OpenFeatureTests/Helpers/AlwaysBrokenProvider.swift

+2-4
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,11 @@ class AlwaysBrokenProvider: FeatureProvider {
99
private let eventHandler = EventHandler(.stale)
1010

1111
func onContextSet(oldContext: OpenFeature.EvaluationContext?, newContext: OpenFeature.EvaluationContext) {
12-
let error = OpenFeatureError.generalError(message: "Always Fails")
13-
eventHandler.emit(.error)
12+
eventHandler.send(.error)
1413
}
1514

1615
func initialize(initialContext: OpenFeature.EvaluationContext?) {
17-
let error = OpenFeatureError.generalError(message: "Always Fails")
18-
eventHandler.emit(.error)
16+
eventHandler.send(.error)
1917
}
2018

2119
func getBooleanEvaluation(key: String, defaultValue: Bool, context: EvaluationContext?) throws

Tests/OpenFeatureTests/Helpers/DoSomethingProvider.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ class DoSomethingProvider: FeatureProvider {
88
private var holdit: AnyCancellable?
99

1010
func onContextSet(oldContext: OpenFeature.EvaluationContext?, newContext: OpenFeature.EvaluationContext) {
11-
eventHandler.emit(.configurationChanged)
11+
eventHandler.send(.configurationChanged)
1212
}
1313

1414
func initialize(initialContext: OpenFeature.EvaluationContext?) {
15-
eventHandler.emit(.ready)
15+
eventHandler.send(.ready)
1616
}
1717

1818
var hooks: [any OpenFeature.Hook] = []

Tests/OpenFeatureTests/ProviderEventsTests.swift

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ final class ProviderEventsTests: XCTestCase {
66
let provider = DoSomethingProvider()
77
let readyExpectation = XCTestExpectation(description: "Ready")
88

9-
func testReadyEventEmitted() {
9+
func testReadyEventSent() {
1010
let sink = provider
1111
.observe()
1212
.filter { event in

0 commit comments

Comments
 (0)