Skip to content

Commit b88ac04

Browse files
committed
Simplify forStream implementation
1 parent ffd8db3 commit b88ac04

File tree

2 files changed

+10
-13
lines changed

2 files changed

+10
-13
lines changed

Sources/PowerSync/Kotlin/sync/KotlinSyncStatusData.swift

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -78,20 +78,17 @@ extension KotlinSyncStatusDataProtocol {
7878
}
7979

8080
func forStream(stream: SyncStreamDescription) -> SyncStreamStatus? {
81-
let name = stream.name
82-
// To match parameters, first check if we already have access to a Kotlin map for parameters.
83-
let parameters = if let kotlinStream = stream as? any HasKotlinStreamDescription {
84-
// Fast path: Reuse Kotlin map
85-
kotlinStream.kotlinParameters
81+
var rawStatus: Optional<PowerSyncKotlin.SyncStreamStatus>
82+
if let kotlinStream = stream as? any HasKotlinStreamDescription {
83+
// Fast path: Reuse Kotlin stream object for lookup.
84+
rawStatus = base.forStream(stream: kotlinStream.kotlinDescription)
8685
} else {
87-
// We don't? Ok, map to Kotlin.
88-
stream.parameters?.mapValues { $0.toValue() }
86+
// Custom stream description, we have to convert parameters to a Kotlin map.
87+
let parameters = stream.parameters?.mapValues { $0.toValue() }
88+
rawStatus = syncStatusForStream(status: base, name: stream.name, parameters: parameters)
8989
}
9090

91-
guard let kotlinStatus = syncStatusForStream(status: base, name: stream.name, parameters: parameters) else {
92-
return nil
93-
}
94-
return mapSyncStreamStatus(kotlinStatus)
91+
return rawStatus.map(mapSyncStreamStatus)
9592
}
9693

9794
private func mapPriorityStatus(_ status: PowerSyncKotlin.PriorityStatusEntry) -> PriorityStatusEntry {

Sources/PowerSync/Kotlin/sync/KotlinSyncStreams.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ protocol HasKotlinStreamDescription {
2222
}
2323

2424
extension HasKotlinStreamDescription {
25-
var kotlinParameters: [String: Any?]? {
26-
self.stream.kotlinParameters
25+
var kotlinDescription: any PowerSyncKotlin.SyncStreamDescription {
26+
self.stream.inner
2727
}
2828
}
2929

0 commit comments

Comments
 (0)