Skip to content

Commit a1eddf5

Browse files
stephencelisp4checo
authored andcommitted
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 (cherry picked from commit b690a617d1366bd36f047e5da5d3185f20daac71)
1 parent fb17714 commit a1eddf5

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
@@ -334,7 +334,7 @@ public final class Store<State, Action> {
334334
self.scope(state: toChildState, action: { $0 })
335335
}
336336

337-
@_spi(Internals) public func filter(
337+
func filter(
338338
_ isSent: @escaping (State, Action) -> Bool
339339
) -> Store<State, Action> {
340340
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
@@ -588,22 +588,5 @@ final class StoreTests: XCTestCase {
588588

589589
XCTAssertEqual(viewStore.state, UUID(uuidString: "deadbeef-dead-beef-dead-beefdeadbeef")!)
590590
}
591-
592-
func testFilter() {
593-
let store = Store<Int?, Void>(initialState: nil, reducer: EmptyReducer())
594-
.filter { state, _ in state != nil }
595-
596-
let viewStore = ViewStore(store)
597-
var count = 0
598-
viewStore.publisher
599-
.sink { _ in count += 1 }
600-
.store(in: &self.cancellables)
601-
602-
XCTAssertEqual(count, 1)
603-
viewStore.send(())
604-
XCTAssertEqual(count, 1)
605-
viewStore.send(())
606-
XCTAssertEqual(count, 1)
607-
}
608591
}
609592
#endif

0 commit comments

Comments
 (0)