Skip to content

Commit 9645768

Browse files
authored
refactor: use swift-concurrency-extras (#158)
1 parent ed638d5 commit 9645768

File tree

17 files changed

+66
-150
lines changed

17 files changed

+66
-150
lines changed

Package.swift

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,23 @@ let package = Package(
2828
.package(url: "https://github.com/kishikawakatsumi/KeychainAccess", from: "4.2.2"),
2929
.package(url: "https://github.com/pointfreeco/swift-snapshot-testing", from: "1.8.1"),
3030
.package(url: "https://github.com/pointfreeco/xctest-dynamic-overlay", from: "1.0.0"),
31+
.package(url: "https://github.com/pointfreeco/swift-concurrency-extras", from: "1.0.0"),
3132
],
3233
targets: [
3334
.target(name: "_Helpers"),
3435
.target(name: "Functions", dependencies: ["_Helpers"]),
35-
.testTarget(name: "FunctionsTests", dependencies: ["Functions"]),
36+
.testTarget(
37+
name: "FunctionsTests",
38+
dependencies: [
39+
"Functions",
40+
.product(name: "ConcurrencyExtras", package: "swift-concurrency-extras"),
41+
]
42+
),
3643
.target(
3744
name: "GoTrue",
3845
dependencies: [
3946
"_Helpers",
47+
.product(name: "ConcurrencyExtras", package: "swift-concurrency-extras"),
4048
.product(name: "KeychainAccess", package: "KeychainAccess"),
4149
]
4250
),
@@ -49,7 +57,13 @@ let package = Package(
4957
],
5058
resources: [.process("Resources")]
5159
),
52-
.target(name: "PostgREST", dependencies: ["_Helpers"]),
60+
.target(
61+
name: "PostgREST",
62+
dependencies: [
63+
.product(name: "ConcurrencyExtras", package: "swift-concurrency-extras"),
64+
"_Helpers",
65+
]
66+
),
5367
.testTarget(
5468
name: "PostgRESTTests",
5569
dependencies: [
@@ -60,13 +74,20 @@ let package = Package(
6074
exclude: ["__Snapshots__"]
6175
),
6276
.testTarget(name: "PostgRESTIntegrationTests", dependencies: ["PostgREST"]),
63-
.target(name: "Realtime", dependencies: ["_Helpers"]),
77+
.target(
78+
name: "Realtime",
79+
dependencies: [
80+
.product(name: "ConcurrencyExtras", package: "swift-concurrency-extras"),
81+
"_Helpers",
82+
]
83+
),
6484
.testTarget(name: "RealtimeTests", dependencies: ["Realtime"]),
6585
.target(name: "Storage", dependencies: ["_Helpers"]),
6686
.testTarget(name: "StorageTests", dependencies: ["Storage"]),
6787
.target(
6888
name: "Supabase",
6989
dependencies: [
90+
.product(name: "ConcurrencyExtras", package: "swift-concurrency-extras"),
7091
"GoTrue",
7192
"Storage",
7293
"Realtime",

Sources/GoTrue/Internal/Dependencies.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
import ConcurrencyExtras
12
import Foundation
2-
@_spi(Internal) import _Helpers
33

44
struct Dependencies: Sendable {
55
static let current = LockIsolated(Dependencies?.none)

Sources/GoTrue/Internal/EventEmitter.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
import ConcurrencyExtras
12
import Foundation
2-
@_spi(Internal) import _Helpers
33

44
struct EventEmitter: Sendable {
55
var attachListener: @Sendable () -> (

Sources/PostgREST/PostgrestBuilder.swift

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import ConcurrencyExtras
12
import Foundation
23
@_spi(Internal) import _Helpers
34

@@ -18,7 +19,7 @@ public class PostgrestBuilder: @unchecked Sendable {
1819
var fetchOptions: FetchOptions
1920
}
2021

21-
let mutableState: ActorIsolated<MutableState>
22+
let mutableState: LockIsolated<MutableState>
2223

2324
init(
2425
configuration: PostgrestClient.Configuration,
@@ -27,7 +28,7 @@ public class PostgrestBuilder: @unchecked Sendable {
2728
self.configuration = configuration
2829
http = HTTPClient(fetchHandler: configuration.fetch)
2930

30-
mutableState = ActorIsolated(
31+
mutableState = LockIsolated(
3132
MutableState(
3233
request: request,
3334
fetchOptions: FetchOptions()

Sources/Realtime/RealtimeChannel.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import Foundation
2222
import Swift
2323
@_spi(Internal) import _Helpers
24+
import ConcurrencyExtras
2425

2526
/// Container class of bindings to the channel
2627
struct Binding {
@@ -439,7 +440,7 @@ public class RealtimeChannel {
439440
}
440441
}
441442

442-
self.bindings.withValue {
443+
self.bindings.withValue { [newPostgresBindings] in
443444
$0["postgres_changes"] = newPostgresBindings
444445
}
445446
callback?(.subscribed, nil)

Sources/Realtime/RealtimeClient.swift

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import Foundation
2222
@_spi(Internal) import _Helpers
23+
import ConcurrencyExtras
2324

2425
public enum SocketError: Error {
2526
case abnormalClosureError
@@ -396,7 +397,7 @@ public class RealtimeClient: PhoenixTransportDelegate {
396397
var delegated = Delegated<URLResponse?, Void>()
397398
delegated.manuallyDelegate(with: callback)
398399

399-
return stateChangeCallbacks.open.withValue {
400+
return stateChangeCallbacks.open.withValue { [delegated] in
400401
self.append(callback: delegated, to: &$0)
401402
}
402403
}
@@ -439,7 +440,7 @@ public class RealtimeClient: PhoenixTransportDelegate {
439440
var delegated = Delegated<URLResponse?, Void>()
440441
delegated.delegate(to: owner, with: callback)
441442

442-
return stateChangeCallbacks.open.withValue {
443+
return stateChangeCallbacks.open.withValue { [delegated] in
443444
self.append(callback: delegated, to: &$0)
444445
}
445446
}
@@ -474,7 +475,7 @@ public class RealtimeClient: PhoenixTransportDelegate {
474475
var delegated = Delegated<(Int, String?), Void>()
475476
delegated.manuallyDelegate(with: callback)
476477

477-
return stateChangeCallbacks.close.withValue {
478+
return stateChangeCallbacks.close.withValue { [delegated] in
478479
self.append(callback: delegated, to: &$0)
479480
}
480481
}
@@ -517,7 +518,7 @@ public class RealtimeClient: PhoenixTransportDelegate {
517518
var delegated = Delegated<(Int, String?), Void>()
518519
delegated.delegate(to: owner, with: callback)
519520

520-
return stateChangeCallbacks.close.withValue {
521+
return stateChangeCallbacks.close.withValue { [delegated] in
521522
self.append(callback: delegated, to: &$0)
522523
}
523524
}
@@ -537,7 +538,7 @@ public class RealtimeClient: PhoenixTransportDelegate {
537538
var delegated = Delegated<(Error, URLResponse?), Void>()
538539
delegated.manuallyDelegate(with: callback)
539540

540-
return stateChangeCallbacks.error.withValue {
541+
return stateChangeCallbacks.error.withValue { [delegated] in
541542
self.append(callback: delegated, to: &$0)
542543
}
543544
}
@@ -561,7 +562,7 @@ public class RealtimeClient: PhoenixTransportDelegate {
561562
var delegated = Delegated<(Error, URLResponse?), Void>()
562563
delegated.delegate(to: owner, with: callback)
563564

564-
return stateChangeCallbacks.error.withValue {
565+
return stateChangeCallbacks.error.withValue { [delegated] in
565566
self.append(callback: delegated, to: &$0)
566567
}
567568
}
@@ -582,7 +583,7 @@ public class RealtimeClient: PhoenixTransportDelegate {
582583
var delegated = Delegated<Message, Void>()
583584
delegated.manuallyDelegate(with: callback)
584585

585-
return stateChangeCallbacks.message.withValue {
586+
return stateChangeCallbacks.message.withValue { [delegated] in
586587
append(callback: delegated, to: &$0)
587588
}
588589
}
@@ -606,7 +607,7 @@ public class RealtimeClient: PhoenixTransportDelegate {
606607
var delegated = Delegated<Message, Void>()
607608
delegated.delegate(to: owner, with: callback)
608609

609-
return stateChangeCallbacks.message.withValue {
610+
return stateChangeCallbacks.message.withValue { [delegated] in
610611
self.append(callback: delegated, to: &$0)
611612
}
612613
}

Sources/Supabase/SupabaseClient.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import ConcurrencyExtras
12
import Foundation
23
@_spi(Internal) import _Helpers
34
@_exported import Functions

Sources/_Helpers/ActorIsolated.swift

Lines changed: 0 additions & 28 deletions
This file was deleted.

Sources/_Helpers/AsyncStream.swift

Lines changed: 0 additions & 21 deletions
This file was deleted.

Sources/_Helpers/LockIsolated.swift

Lines changed: 0 additions & 57 deletions
This file was deleted.

0 commit comments

Comments
 (0)