Skip to content

Commit 343d473

Browse files
Merge pull request #685 from splitio/FME-4224-events-defaultClient
[FME-4224] Events - Clients Update
2 parents d030345 + a767914 commit 343d473

File tree

5 files changed

+34
-7
lines changed

5 files changed

+34
-7
lines changed

Split/Api/FailHelpers.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@ class FailedClient: SplitClient {
6464
func on(event: SplitEvent,
6565
queue: DispatchQueue, execute action: @escaping SplitAction) {
6666
}
67+
68+
func on(event: SplitEvent, executeWithMetadata: @escaping SplitActionWithMetadata) {}
6769

6870
func track(trafficType: String, eventType: String) -> Bool {
6971
return false

Split/Api/LocalhostSplitClient.swift

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -121,25 +121,43 @@ public final class LocalhostSplitClient: NSObject, SplitClient {
121121
return results
122122
}
123123

124-
public func on(event: SplitEvent, runInBackground: Bool,
125-
execute action: @escaping SplitAction) {
124+
public func on(event: SplitEvent, execute action: @escaping SplitAction) {
125+
on(event: event, runInBackground: false, queue: nil, execute: action)
126+
}
127+
128+
public func on(event: SplitEvent, executeWithMetadata: @escaping SplitActionWithMetadata) {
129+
on(eventWithMetadata: SplitEventWithMetadata(type: event, metadata: nil), runInBackground: false, queue: nil, execute: executeWithMetadata)
130+
}
131+
132+
public func on(event: SplitEvent, runInBackground: Bool, execute action: @escaping SplitAction) {
126133
on(event: event, runInBackground: runInBackground, queue: nil, execute: action)
127134
}
135+
136+
private func on(event: SplitEvent, runInBackground: Bool, queue: DispatchQueue?, execute action: @escaping SplitAction) {
137+
on(eventWithMetadata: SplitEventWithMetadata(type: event, metadata: nil), runInBackground: runInBackground, queue: queue, execute: action)
138+
}
128139

129140
public func on(event: SplitEvent, queue: DispatchQueue, execute action: @escaping SplitAction) {
130141
on(event: event, runInBackground: true, queue: queue, execute: action)
131142
}
132143

133-
public func on(event: SplitEvent, execute action: @escaping SplitAction) {
134-
on(event: event, runInBackground: false, queue: nil, execute: action)
144+
private func on(eventWithMetadata event: SplitEventWithMetadata, runInBackground: Bool, queue: DispatchQueue?, execute action: @escaping SplitAction) {
145+
146+
guard let factory = clientManger?.splitFactory else { return }
147+
if let eventsManager = self.eventsManager {
148+
let task = SplitEventActionTask(action: action, event: event.type,
149+
runInBackground: runInBackground,
150+
factory: factory,
151+
queue: queue)
152+
eventsManager.register(event: event, task: task)
153+
}
135154
}
136155

137-
private func on(event: SplitEvent, runInBackground: Bool,
138-
queue: DispatchQueue?, execute action: @escaping SplitAction) {
156+
private func on(eventWithMetadata event: SplitEventWithMetadata, runInBackground: Bool, queue: DispatchQueue?, execute action: @escaping SplitActionWithMetadata) {
139157

140158
guard let factory = clientManger?.splitFactory else { return }
141159
if let eventsManager = self.eventsManager {
142-
let task = SplitEventActionTask(action: action, event: event,
160+
let task = SplitEventActionTask(action: action, event: event.type,
143161
runInBackground: runInBackground,
144162
factory: factory,
145163
queue: queue)

Split/Api/SplitClient.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import Foundation
3232
func getTreatmentsWithConfig(splits: [String], attributes: [String: Any]?, evaluationOptions: EvaluationOptions?) -> [String: SplitResult]
3333

3434
func on(event: SplitEvent, execute action: @escaping SplitAction)
35+
func on(event: SplitEvent, executeWithMetadata: @escaping SplitActionWithMetadata) -> Void
3536
func on(event: SplitEvent, runInBackground: Bool, execute action: @escaping SplitAction)
3637
func on(event: SplitEvent, queue: DispatchQueue, execute action: @escaping SplitAction)
3738

SplitTests/Fake/InternalSplitClientStub.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,9 @@ class InternalSplitClientStub: InternalSplitClient {
103103

104104
func on(event: SplitEvent, execute action: @escaping SplitAction) {
105105
}
106+
107+
func on(event: SplitEvent, executeWithMetadata: @escaping SplitActionWithMetadata) {
108+
}
106109

107110
func track(trafficType: String, eventType: String) -> Bool {
108111
return true

SplitTests/Fake/SplitClientStub.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,9 @@ class SplitClientStub: SplitClient {
9595
func on(event: SplitEvent, runInBackground: Bool, queue: DispatchQueue?, execute action: @escaping SplitAction) {
9696
}
9797

98+
func on(event: SplitEvent, executeWithMetadata: @escaping SplitActionWithMetadata) {
99+
}
100+
98101
func track(trafficType: String, eventType: String) -> Bool {
99102
return true
100103
}

0 commit comments

Comments
 (0)