Skip to content

Commit 77a8247

Browse files
mluisbrownmbrandonwstephencelis
authored
Sync upstream changes (#7)
* Location changes from upstream * Web socket case study (#171) * Web socket case study. * wip * wip * wip * wip * more tests * wip * clean up * clean up * wip * wip * wip * wip * wip * wip * wip * fix * fix * Update Examples/CaseStudies/SwiftUICaseStudies/02-Effects-WebSocket.swift Co-authored-by: Stephen Celis <[email protected]> * private Co-authored-by: Stephen Celis <[email protected]> * #177 changes from upstream * Covert WenSockets example to ReactiveSwift. Co-authored-by: Brandon Williams <[email protected]> Co-authored-by: Stephen Celis <[email protected]>
1 parent 7e1d3c5 commit 77a8247

File tree

15 files changed

+1000
-193
lines changed

15 files changed

+1000
-193
lines changed

Examples/CaseStudies/CaseStudies.xcodeproj/project.pbxproj

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
CA0C51FB245389CC00A04EAB /* 04-HigherOrderReducers-ResuableOfflineDownloadsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA0C51FA245389CC00A04EAB /* 04-HigherOrderReducers-ResuableOfflineDownloadsTests.swift */; };
1111
CA25E5D224463AD700DA666A /* 01-GettingStarted-Bindings-Basics.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA25E5D124463AD700DA666A /* 01-GettingStarted-Bindings-Basics.swift */; };
1212
CA27C0B7245780CE00CB1E59 /* 03-Effects-SystemEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA27C0B6245780CE00CB1E59 /* 03-Effects-SystemEnvironment.swift */; };
13+
CA410EE0247A15FE00E41798 /* 02-Effects-WebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA410EDF247A15FE00E41798 /* 02-Effects-WebSocket.swift */; };
14+
CA410EE2247C73B400E41798 /* 02-Effects-WebSocketTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA410EE1247C73B400E41798 /* 02-Effects-WebSocketTests.swift */; };
1315
CA6AC2642451135C00C71CB3 /* ReusableComponents-Download.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA6AC2602451135C00C71CB3 /* ReusableComponents-Download.swift */; };
1416
CA6AC2652451135C00C71CB3 /* CircularProgressView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA6AC2612451135C00C71CB3 /* CircularProgressView.swift */; };
1517
CA6AC2662451135C00C71CB3 /* DownloadComponent.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA6AC2622451135C00C71CB3 /* DownloadComponent.swift */; };
@@ -125,6 +127,8 @@
125127
CA0C51FA245389CC00A04EAB /* 04-HigherOrderReducers-ResuableOfflineDownloadsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "04-HigherOrderReducers-ResuableOfflineDownloadsTests.swift"; sourceTree = "<group>"; };
126128
CA25E5D124463AD700DA666A /* 01-GettingStarted-Bindings-Basics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "01-GettingStarted-Bindings-Basics.swift"; sourceTree = "<group>"; };
127129
CA27C0B6245780CE00CB1E59 /* 03-Effects-SystemEnvironment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "03-Effects-SystemEnvironment.swift"; sourceTree = "<group>"; };
130+
CA410EDF247A15FE00E41798 /* 02-Effects-WebSocket.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "02-Effects-WebSocket.swift"; sourceTree = "<group>"; };
131+
CA410EE1247C73B400E41798 /* 02-Effects-WebSocketTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "02-Effects-WebSocketTests.swift"; sourceTree = "<group>"; };
128132
CA6AC2602451135C00C71CB3 /* ReusableComponents-Download.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "ReusableComponents-Download.swift"; sourceTree = "<group>"; };
129133
CA6AC2612451135C00C71CB3 /* CircularProgressView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CircularProgressView.swift; sourceTree = "<group>"; };
130134
CA6AC2622451135C00C71CB3 /* DownloadComponent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DownloadComponent.swift; sourceTree = "<group>"; };
@@ -312,6 +316,7 @@
312316
CAA9ADC524465C810003A984 /* 02-Effects-Cancellation.swift */,
313317
CAA9ADC92446605B0003A984 /* 02-Effects-LongLiving.swift */,
314318
DC89C45424465C44006900B9 /* 02-Effects-Timers.swift */,
319+
CA410EDF247A15FE00E41798 /* 02-Effects-WebSocket.swift */,
315320
CA27C0B6245780CE00CB1E59 /* 03-Effects-SystemEnvironment.swift */,
316321
DC89C45024462DE7006900B9 /* 03-Navigation-Lists-LoadThenNavigate.swift */,
317322
DC89C45224465451006900B9 /* 03-Navigation-Lists-NavigateAndLoad.swift */,
@@ -338,6 +343,7 @@
338343
CAA9ADCB2446615B0003A984 /* 02-Effects-LongLivingTests.swift */,
339344
CAA9ADC324465AB00003A984 /* 02-Effects-BasicsTests.swift */,
340345
DC07231624465D1E003A8B65 /* 02-Effects-TimersTests.swift */,
346+
CA410EE1247C73B400E41798 /* 02-Effects-WebSocketTests.swift */,
341347
DC634B242448D15B00DAA016 /* 04-HigherOrderReducers-ReusableFavoritingTests.swift */,
342348
CA0C51FA245389CC00A04EAB /* 04-HigherOrderReducers-ResuableOfflineDownloadsTests.swift */,
343349
);
@@ -589,6 +595,7 @@
589595
CAA9ADCA2446605B0003A984 /* 02-Effects-LongLiving.swift in Sources */,
590596
DC89C45124462DE7006900B9 /* 03-Navigation-Lists-LoadThenNavigate.swift in Sources */,
591597
DC89C45524465C44006900B9 /* 02-Effects-Timers.swift in Sources */,
598+
CA410EE0247A15FE00E41798 /* 02-Effects-WebSocket.swift in Sources */,
592599
CA7BC8EE245CCFE4001FB69F /* 01-GettingStarted-SharedState.swift in Sources */,
593600
);
594601
runOnlyForDeploymentPostprocessing = 0;
@@ -600,6 +607,7 @@
600607
CA0C51FB245389CC00A04EAB /* 04-HigherOrderReducers-ResuableOfflineDownloadsTests.swift in Sources */,
601608
DC634B252448D15B00DAA016 /* 04-HigherOrderReducers-ReusableFavoritingTests.swift in Sources */,
602609
CAA9ADC824465D950003A984 /* 02-Effects-CancellationTests.swift in Sources */,
610+
CA410EE2247C73B400E41798 /* 02-Effects-WebSocketTests.swift in Sources */,
603611
DC07231724465D1E003A8B65 /* 02-Effects-TimersTests.swift in Sources */,
604612
CAA9ADC424465AB00003A984 /* 02-Effects-BasicsTests.swift in Sources */,
605613
CAA9ADCC2446615B0003A984 /* 02-Effects-LongLivingTests.swift in Sources */,

Examples/CaseStudies/SwiftUICaseStudies/00-RootView.swift

Lines changed: 38 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -138,16 +138,30 @@ struct RootView: View {
138138
)
139139
)
140140
)
141+
142+
NavigationLink(
143+
"Web socket",
144+
destination: WebSocketView(
145+
store: Store(
146+
initialState: .init(),
147+
reducer: webSocketReducer,
148+
environment: WebSocketEnvironment(
149+
mainQueue: QueueScheduler.main,
150+
webSocket: .live
151+
)
152+
)
153+
)
154+
)
141155
}
142156

143157
Section(header: Text("Navigation")) {
144158
NavigationLink(
145159
"Navigate and load data",
146-
destination: EagerNavigationView(
160+
destination: NavigateAndLoadView(
147161
store: Store(
148-
initialState: EagerNavigationState(),
149-
reducer: eagerNavigationReducer,
150-
environment: EagerNavigationEnvironment(
162+
initialState: NavigateAndLoadState(),
163+
reducer: navigateAndLoadReducer,
164+
environment: NavigateAndLoadEnvironment(
151165
mainQueue: QueueScheduler.main
152166
)
153167
)
@@ -156,11 +170,11 @@ struct RootView: View {
156170

157171
NavigationLink(
158172
"Load data then navigate",
159-
destination: LazyNavigationView(
173+
destination: LoadThenNavigateView(
160174
store: Store(
161-
initialState: LazyNavigationState(),
162-
reducer: lazyNavigationReducer,
163-
environment: LazyNavigationEnvironment(
175+
initialState: LoadThenNavigateState(),
176+
reducer: loadThenNavigateReducer,
177+
environment: LoadThenNavigateEnvironment(
164178
mainQueue: QueueScheduler.main
165179
)
166180
)
@@ -169,17 +183,17 @@ struct RootView: View {
169183

170184
NavigationLink(
171185
"Lists: Navigate and load data",
172-
destination: EagerListNavigationView(
186+
destination: NavigateAndLoadListView(
173187
store: Store(
174-
initialState: EagerListNavigationState(
188+
initialState: NavigateAndLoadListState(
175189
rows: [
176190
.init(count: 1, id: UUID()),
177191
.init(count: 42, id: UUID()),
178192
.init(count: 100, id: UUID()),
179193
]
180194
),
181-
reducer: eagerListNavigationReducer,
182-
environment: EagerListNavigationEnvironment(
195+
reducer: navigateAndLoadListReducer,
196+
environment: NavigateAndLoadListEnvironment(
183197
mainQueue: QueueScheduler.main
184198
)
185199
)
@@ -188,17 +202,17 @@ struct RootView: View {
188202

189203
NavigationLink(
190204
"Lists: Load data then navigate",
191-
destination: LazyListNavigationView(
205+
destination: LoadThenNavigateListView(
192206
store: Store(
193-
initialState: LazyListNavigationState(
207+
initialState: LoadThenNavigateListState(
194208
rows: [
195209
.init(count: 1, id: UUID()),
196210
.init(count: 42, id: UUID()),
197211
.init(count: 100, id: UUID()),
198212
]
199213
),
200-
reducer: lazyListNavigationReducer,
201-
environment: LazyListNavigationEnvironment(
214+
reducer: loadThenNavigateListReducer,
215+
environment: LoadThenNavigateListEnvironment(
202216
mainQueue: QueueScheduler.main
203217
)
204218
)
@@ -207,11 +221,11 @@ struct RootView: View {
207221

208222
NavigationLink(
209223
"Sheets: Present and load data",
210-
destination: EagerSheetView(
224+
destination: PresentAndLoadView(
211225
store: Store(
212-
initialState: EagerSheetState(),
213-
reducer: eagerSheetReducer,
214-
environment: EagerSheetEnvironment(
226+
initialState: PresentAndLoadState(),
227+
reducer: presentAndLoadReducer,
228+
environment: PresentAndLoadEnvironment(
215229
mainQueue: QueueScheduler.main
216230
)
217231
)
@@ -220,11 +234,11 @@ struct RootView: View {
220234

221235
NavigationLink(
222236
"Sheets: Load data then present",
223-
destination: LazySheetView(
237+
destination: LoadThenPresentView(
224238
store: Store(
225-
initialState: LazySheetState(),
226-
reducer: lazySheetReducer,
227-
environment: LazySheetEnvironment(
239+
initialState: LoadThenPresentState(),
240+
reducer: loadThenPresentReducer,
241+
environment: LoadThenPresentEnvironment(
228242
mainQueue: QueueScheduler.main
229243
)
230244
)

0 commit comments

Comments
 (0)