Skip to content

Commit cc1b3af

Browse files
authored
refactor: add private access control to lock isolated values (#328)
* refactor: add private access control to lock isolated values * chore: allow refactor prexi on commit * chore: add readonly access to CallbackManager properties
1 parent 8063610 commit cc1b3af

File tree

6 files changed

+18
-9
lines changed

6 files changed

+18
-9
lines changed

.github/workflows/conventional-commits-lint.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ const ALLOWED_CONVENTIONAL_COMMIT_PREFIXES = [
1616
"chore",
1717
"style",
1818
"test",
19+
"refactor",
1920
];
2021

2122
const object = process.argv[2];
@@ -102,4 +103,4 @@ if (failed) {
102103
process.exit(1);
103104
}
104105

105-
process.exit(0);
106+
process.exit(0);

Sources/PostgREST/PostgrestClient.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public final class PostgrestClient: Sendable {
5353
}
5454
}
5555

56-
let _configuration: LockIsolated<Configuration>
56+
private let _configuration: LockIsolated<Configuration>
5757
public var configuration: Configuration { _configuration.value }
5858

5959
/// Creates a PostgREST client with the specified configuration.

Sources/Realtime/V2/CallbackManager.swift

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,15 @@ final class CallbackManager: @unchecked Sendable {
1616
var callbacks: [RealtimeCallback] = []
1717
}
1818

19-
let mutableState = LockIsolated(MutableState())
19+
private let mutableState = LockIsolated(MutableState())
20+
21+
var serverChanges: [PostgresJoinConfig] {
22+
mutableState.serverChanges
23+
}
24+
25+
var callbacks: [RealtimeCallback] {
26+
mutableState.callbacks
27+
}
2028

2129
@discardableResult
2230
func addBroadcastCallback(

Sources/Realtime/V2/WebSocketClient.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ final class WebSocket: NSObject, URLSessionWebSocketDelegate, WebSocketClient, @
4242
var stream: SocketStream?
4343
}
4444

45-
let mutableState = LockIsolated(MutableState())
45+
private let mutableState = LockIsolated(MutableState())
4646

4747
init(config: RealtimeClientV2.Configuration) {
4848
realtimeURL = config.realtimeWebSocketURL

Sources/_Helpers/EventEmitter.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public final class ObservationToken: Sendable {
3030
package final class EventEmitter<Event: Sendable>: Sendable {
3131
public typealias Listener = @Sendable (Event) -> Void
3232

33-
let listeners = LockIsolated<[ObjectIdentifier: Listener]>([:])
33+
private let listeners = LockIsolated<[ObjectIdentifier: Listener]>([:])
3434
public let lastEvent: LockIsolated<Event>
3535

3636
let emitsLastEventWhenAttaching: Bool

Tests/RealtimeTests/CallbackManagerTests.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,14 @@ final class CallbackManagerTests: XCTestCase {
3636

3737
XCTAssertEqual(callbackManager.addPresenceCallback { _ in }, 3)
3838

39-
XCTAssertEqual(callbackManager.mutableState.value.callbacks.count, 3)
39+
XCTAssertEqual(callbackManager.callbacks.count, 3)
4040

4141
callbackManager.removeCallback(id: 2)
4242
callbackManager.removeCallback(id: 3)
4343

44-
XCTAssertEqual(callbackManager.mutableState.value.callbacks.count, 1)
44+
XCTAssertEqual(callbackManager.callbacks.count, 1)
4545
XCTAssertFalse(
46-
callbackManager.mutableState.value.callbacks
46+
callbackManager.callbacks
4747
.contains(where: { $0.id == 2 || $0.id == 3 })
4848
)
4949
}
@@ -62,7 +62,7 @@ final class CallbackManagerTests: XCTestCase {
6262

6363
callbackManager.setServerChanges(changes: changes)
6464

65-
XCTAssertEqual(callbackManager.mutableState.value.serverChanges, changes)
65+
XCTAssertEqual(callbackManager.serverChanges, changes)
6666
}
6767

6868
func testTriggerPostgresChanges() {

0 commit comments

Comments
 (0)