Skip to content

Commit b690a61

Browse files
authored
Make Store.filter internal (#1882)
* Make Store.filter internal We're seeing that `@_spi` can still come up in autocomplete. Now Xcode surfaces internal stuff too occasionally, but maybe this will suppress it a bit. * wip * fix
1 parent 00738db commit b690a61

File tree

3 files changed

+29
-18
lines changed

3 files changed

+29
-18
lines changed

Sources/ComposableArchitecture/Store.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ public final class Store<State, Action> {
326326
self.scope(state: toChildState, action: { $0 })
327327
}
328328

329-
@_spi(Internals) public func filter(
329+
func filter(
330330
_ isSent: @escaping (State, Action) -> Bool
331331
) -> Store<State, Action> {
332332
self.threadCheck(status: .scope)
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#if DEBUG
2+
import Combine
3+
import XCTest
4+
5+
@testable import ComposableArchitecture
6+
7+
@MainActor
8+
final class StoreFilterTests: XCTestCase {
9+
var cancellables: Set<AnyCancellable> = []
10+
11+
func testFilter() {
12+
let store = Store<Int?, Void>(initialState: nil, reducer: EmptyReducer())
13+
.filter { state, _ in state != nil }
14+
15+
let viewStore = ViewStore(store)
16+
var count = 0
17+
viewStore.publisher
18+
.sink { _ in count += 1 }
19+
.store(in: &self.cancellables)
20+
21+
XCTAssertEqual(count, 1)
22+
viewStore.send(())
23+
XCTAssertEqual(count, 1)
24+
viewStore.send(())
25+
XCTAssertEqual(count, 1)
26+
}
27+
}
28+
#endif

Tests/ComposableArchitectureTests/StoreTests.swift

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -559,21 +559,4 @@ final class StoreTests: XCTestCase {
559559

560560
XCTAssertEqual(viewStore.state, UUID(uuidString: "deadbeef-dead-beef-dead-beefdeadbeef")!)
561561
}
562-
563-
func testFilter() {
564-
let store = Store<Int?, Void>(initialState: nil, reducer: EmptyReducer())
565-
.filter { state, _ in state != nil }
566-
567-
let viewStore = ViewStore(store)
568-
var count = 0
569-
viewStore.publisher
570-
.sink { _ in count += 1 }
571-
.store(in: &self.cancellables)
572-
573-
XCTAssertEqual(count, 1)
574-
viewStore.send(())
575-
XCTAssertEqual(count, 1)
576-
viewStore.send(())
577-
XCTAssertEqual(count, 1)
578-
}
579562
}

0 commit comments

Comments
 (0)