Skip to content

Commit 547d19c

Browse files
Add Sharing dependency (#3517)
* wip * wip * remove old case study for shared notifications * wip * wip * wip * wip * wip * 1.17 migration guide * basics migration guide * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip --------- Co-authored-by: Brandon Williams <[email protected]>
1 parent fb82284 commit 547d19c

File tree

134 files changed

+452
-5874
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

134 files changed

+452
-5874
lines changed

.github/package.xcworkspace/xcshareddata/swiftpm/Package.resolved

Lines changed: 17 additions & 26 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ComposableArchitecture.xcworkspace/xcshareddata/swiftpm/Package.resolved

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

Examples/CaseStudies/CaseStudies.xcodeproj/project.pbxproj

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
CAA9ADCC2446615B0003A984 /* 03-Effects-LongLivingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CAA9ADCB2446615B0003A984 /* 03-Effects-LongLivingTests.swift */; };
3232
CABC4F3926AEE00C00D5FA2C /* 03-Effects-Refreshable.swift in Sources */ = {isa = PBXBuildFile; fileRef = CABC4F3826AEE00C00D5FA2C /* 03-Effects-Refreshable.swift */; };
3333
CABC4F3B26AEE20200D5FA2C /* 03-Effects-RefreshableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CABC4F3A26AEE20200D5FA2C /* 03-Effects-RefreshableTests.swift */; };
34-
CACA7FBC2BC707F2002DF110 /* 02-SharedState-Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = CACA7FBB2BC707F2002DF110 /* 02-SharedState-Notifications.swift */; };
3534
CADECDB62B5CA228009DC881 /* 02-SharedState-InMemory.swift in Sources */ = {isa = PBXBuildFile; fileRef = CADECDB52B5CA228009DC881 /* 02-SharedState-InMemory.swift */; };
3635
CADECDB82B5CA425009DC881 /* 02-SharedState-FileStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = CADECDB72B5CA425009DC881 /* 02-SharedState-FileStorage.swift */; };
3736
CADECDBA2B5CA613009DC881 /* 02-GettingStarted-SharedStateUserDefaultsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CADECDB92B5CA613009DC881 /* 02-GettingStarted-SharedStateUserDefaultsTests.swift */; };
@@ -176,7 +175,6 @@
176175
CAA9ADCB2446615B0003A984 /* 03-Effects-LongLivingTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "03-Effects-LongLivingTests.swift"; sourceTree = "<group>"; };
177176
CABC4F3826AEE00C00D5FA2C /* 03-Effects-Refreshable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "03-Effects-Refreshable.swift"; sourceTree = "<group>"; };
178177
CABC4F3A26AEE20200D5FA2C /* 03-Effects-RefreshableTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "03-Effects-RefreshableTests.swift"; sourceTree = "<group>"; };
179-
CACA7FBB2BC707F2002DF110 /* 02-SharedState-Notifications.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "02-SharedState-Notifications.swift"; sourceTree = "<group>"; };
180178
CADECDB52B5CA228009DC881 /* 02-SharedState-InMemory.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "02-SharedState-InMemory.swift"; sourceTree = "<group>"; };
181179
CADECDB72B5CA425009DC881 /* 02-SharedState-FileStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "02-SharedState-FileStorage.swift"; sourceTree = "<group>"; };
182180
CADECDB92B5CA613009DC881 /* 02-GettingStarted-SharedStateUserDefaultsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "02-GettingStarted-SharedStateUserDefaultsTests.swift"; sourceTree = "<group>"; };
@@ -405,7 +403,6 @@
405403
DCC68EDC2447A5B00037F998 /* 01-GettingStarted-OptionalState.swift */,
406404
CADECDB72B5CA425009DC881 /* 02-SharedState-FileStorage.swift */,
407405
CADECDB52B5CA228009DC881 /* 02-SharedState-InMemory.swift */,
408-
CACA7FBB2BC707F2002DF110 /* 02-SharedState-Notifications.swift */,
409406
CADECDBF2B5DE7C1009DC881 /* 02-SharedState-Onboarding.swift */,
410407
CA7BC8ED245CCFE4001FB69F /* 02-SharedState-UserDefaults.swift */,
411408
CAA9ADC12446587C0003A984 /* 03-Effects-Basics.swift */,
@@ -748,7 +745,6 @@
748745
DCC68EE12447C4630037F998 /* 01-GettingStarted-Composition-TwoCounters.swift in Sources */,
749746
DC072322244663B1003A8B65 /* 04-Navigation-Sheet-LoadThenPresent.swift in Sources */,
750747
DC89C45324465452006900B9 /* 04-Navigation-Lists-NavigateAndLoad.swift in Sources */,
751-
CACA7FBC2BC707F2002DF110 /* 02-SharedState-Notifications.swift in Sources */,
752748
DCC68EE32447C8540037F998 /* 05-HigherOrderReducers-ReusableFavoriting.swift in Sources */,
753749
CA3E421F26B8337500581ABC /* 01-GettingStarted-FocusState.swift in Sources */,
754750
DCC68EDF2447BC810037F998 /* TemplateText.swift in Sources */,

Examples/CaseStudies/SwiftUICaseStudies/00-RootView.swift

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -83,15 +83,6 @@ struct RootView: View {
8383
SharedStateFileStorageView(store: store)
8484
}
8585
}
86-
NavigationLink("Notifications") {
87-
Demo(
88-
store: Store(initialState: SharedStateNotifications.State()) {
89-
SharedStateNotifications()
90-
}
91-
) { store in
92-
SharedStateNotificationsView(store: store)
93-
}
94-
}
9586
Button("Sign up flow") {
9687
isSignUpCaseStudyPresented = true
9788
}

Examples/CaseStudies/SwiftUICaseStudies/02-SharedState-FileStorage.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,11 @@ extension SharedStateFileStorage {
9999
return .none
100100

101101
case .decrementButtonTapped:
102-
state.stats.decrement()
102+
state.$stats.withLock { $0.decrement() }
103103
return .none
104104

105105
case .incrementButtonTapped:
106-
state.stats.increment()
106+
state.$stats.withLock { $0.increment() }
107107
return .none
108108

109109
case .isPrimeButtonTapped:
@@ -136,7 +136,7 @@ extension SharedStateFileStorage {
136136
Reduce { state, action in
137137
switch action {
138138
case .resetStatsButtonTapped:
139-
state.stats = Stats()
139+
state.$stats.withLock { $0 = Stats() }
140140
return .none
141141
}
142142
}
@@ -223,7 +223,7 @@ struct Stats: Codable, Equatable {
223223
}
224224
}
225225

226-
extension PersistenceReaderKey where Self == FileStorageKey<Stats> {
226+
extension SharedKey where Self == FileStorageKey<Stats> {
227227
fileprivate static var stats: Self {
228228
fileStorage(.documentsDirectory.appending(component: "stats.json"))
229229
}

Examples/CaseStudies/SwiftUICaseStudies/02-SharedState-InMemory.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -98,11 +98,11 @@ extension SharedStateInMemory {
9898
return .none
9999

100100
case .decrementButtonTapped:
101-
state.stats.decrement()
101+
state.$stats.withLock { $0.decrement() }
102102
return .none
103103

104104
case .incrementButtonTapped:
105-
state.stats.increment()
105+
state.$stats.withLock { $0.increment() }
106106
return .none
107107

108108
case .isPrimeButtonTapped:
@@ -135,7 +135,7 @@ extension SharedStateInMemory {
135135
Reduce { state, action in
136136
switch action {
137137
case .resetStatsButtonTapped:
138-
state.stats = Stats()
138+
state.$stats.withLock { $0 = Stats() }
139139
return .none
140140
}
141141
}
@@ -211,7 +211,7 @@ private struct ProfileTabView: View {
211211
)
212212
}
213213

214-
extension PersistenceReaderKey where Self == InMemoryKey<Stats> {
214+
extension SharedKey where Self == InMemoryKey<Stats> {
215215
fileprivate static var stats: Self {
216216
inMemory("stats")
217217
}

0 commit comments

Comments
 (0)