Skip to content

Commit 78e4515

Browse files
committed
samples: implement SearchApis
1 parent 99993aa commit 78e4515

File tree

17 files changed

+485
-46
lines changed

17 files changed

+485
-46
lines changed

.github/workflows/ci.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636

3737
strategy:
3838
matrix:
39-
project: [TaskTracker]
39+
project: [TaskTracker, SearchApis]
4040
steps:
4141
- name: Checkout branch
4242
uses: actions/checkout@v3

Samples/SearchApis/SearchApis.xcodeproj/project.pbxproj

+150-5
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88

99
/* Begin PBXBuildFile section */
1010
1A7BD82528B277530070786F /* SearchApisApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A7BD82428B277530070786F /* SearchApisApp.swift */; };
11-
1A7BD82728B277530070786F /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A7BD82628B277530070786F /* ContentView.swift */; };
1211
1A7BD82928B277530070786F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1A7BD82828B277530070786F /* Assets.xcassets */; };
1312
1A7BD82C28B277530070786F /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1A7BD82B28B277530070786F /* Preview Assets.xcassets */; };
1413
1A7BD83828B277CD0070786F /* LogToOSLog.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A7BD83728B277CD0070786F /* LogToOSLog.swift */; };
@@ -18,12 +17,27 @@
1817
1A7BD84328B279AE0070786F /* Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A7BD84228B279AE0070786F /* Event.swift */; };
1918
1A7BD84528B279E50070786F /* StateMachine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A7BD84428B279E50070786F /* StateMachine.swift */; };
2019
1A7BD84728B279F90070786F /* Output.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A7BD84628B279F90070786F /* Output.swift */; };
20+
1A7BD84928B2A1770070786F /* Search.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A7BD84828B2A1770070786F /* Search.swift */; };
21+
1A7BD84B28B2A1E80070786F /* RootView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A7BD84A28B2A1E80070786F /* RootView.swift */; };
22+
1A7BD84D28B2A3570070786F /* State+ViewState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A7BD84C28B2A3570070786F /* State+ViewState.swift */; };
23+
1A7BD84F28B2A6120070786F /* SearchFromRestApi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A7BD84E28B2A6120070786F /* SearchFromRestApi.swift */; };
24+
1A7BD85228B2A63F0070786F /* Response.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A7BD85128B2A63F0070786F /* Response.swift */; };
25+
1A7BD85A28B2B0CD0070786F /* SearchApisTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1A7BD85928B2B0CD0070786F /* SearchApisTests.swift */; };
2126
/* End PBXBuildFile section */
2227

28+
/* Begin PBXContainerItemProxy section */
29+
1A7BD85B28B2B0CD0070786F /* PBXContainerItemProxy */ = {
30+
isa = PBXContainerItemProxy;
31+
containerPortal = 1A7BD81928B277520070786F /* Project object */;
32+
proxyType = 1;
33+
remoteGlobalIDString = 1A7BD82028B277530070786F;
34+
remoteInfo = SearchApis;
35+
};
36+
/* End PBXContainerItemProxy section */
37+
2338
/* Begin PBXFileReference section */
2439
1A7BD82128B277530070786F /* SearchApis.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SearchApis.app; sourceTree = BUILT_PRODUCTS_DIR; };
2540
1A7BD82428B277530070786F /* SearchApisApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchApisApp.swift; sourceTree = "<group>"; };
26-
1A7BD82628B277530070786F /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
2741
1A7BD82828B277530070786F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
2842
1A7BD82B28B277530070786F /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
2943
1A7BD83728B277CD0070786F /* LogToOSLog.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogToOSLog.swift; sourceTree = "<group>"; };
@@ -33,6 +47,13 @@
3347
1A7BD84228B279AE0070786F /* Event.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Event.swift; sourceTree = "<group>"; };
3448
1A7BD84428B279E50070786F /* StateMachine.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StateMachine.swift; sourceTree = "<group>"; };
3549
1A7BD84628B279F90070786F /* Output.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Output.swift; sourceTree = "<group>"; };
50+
1A7BD84828B2A1770070786F /* Search.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Search.swift; sourceTree = "<group>"; };
51+
1A7BD84A28B2A1E80070786F /* RootView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RootView.swift; sourceTree = "<group>"; };
52+
1A7BD84C28B2A3570070786F /* State+ViewState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "State+ViewState.swift"; sourceTree = "<group>"; };
53+
1A7BD84E28B2A6120070786F /* SearchFromRestApi.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchFromRestApi.swift; sourceTree = "<group>"; };
54+
1A7BD85128B2A63F0070786F /* Response.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Response.swift; sourceTree = "<group>"; };
55+
1A7BD85728B2B0CD0070786F /* SearchApisTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SearchApisTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
56+
1A7BD85928B2B0CD0070786F /* SearchApisTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchApisTests.swift; sourceTree = "<group>"; };
3657
/* End PBXFileReference section */
3758

3859
/* Begin PBXFrameworksBuildPhase section */
@@ -44,6 +65,13 @@
4465
);
4566
runOnlyForDeploymentPostprocessing = 0;
4667
};
68+
1A7BD85428B2B0CD0070786F /* Frameworks */ = {
69+
isa = PBXFrameworksBuildPhase;
70+
buildActionMask = 2147483647;
71+
files = (
72+
);
73+
runOnlyForDeploymentPostprocessing = 0;
74+
};
4775
/* End PBXFrameworksBuildPhase section */
4876

4977
/* Begin PBXGroup section */
@@ -52,6 +80,7 @@
5280
children = (
5381
1A7BD83B28B277EF0070786F /* AsyncStateMachine */,
5482
1A7BD82328B277530070786F /* SearchApis */,
83+
1A7BD85828B2B0CD0070786F /* SearchApisTests */,
5584
1A7BD82228B277530070786F /* Products */,
5685
1A7BD83C28B277FD0070786F /* Frameworks */,
5786
);
@@ -61,6 +90,7 @@
6190
isa = PBXGroup;
6291
children = (
6392
1A7BD82128B277530070786F /* SearchApis.app */,
93+
1A7BD85728B2B0CD0070786F /* SearchApisTests.xctest */,
6494
);
6595
name = Products;
6696
sourceTree = "<group>";
@@ -71,7 +101,6 @@
71101
1A7BD83628B277A40070786F /* Implementation */,
72102
1A7BD83228B277680070786F /* Feature */,
73103
1A7BD82428B277530070786F /* SearchApisApp.swift */,
74-
1A7BD82628B277530070786F /* ContentView.swift */,
75104
1A7BD82828B277530070786F /* Assets.xcassets */,
76105
1A7BD82A28B277530070786F /* Preview Content */,
77106
);
@@ -100,9 +129,9 @@
100129
1A7BD83328B277710070786F /* StateMachine */ = {
101130
isa = PBXGroup;
102131
children = (
103-
1A7BD83928B277DC0070786F /* State.swift */,
104132
1A7BD84228B279AE0070786F /* Event.swift */,
105133
1A7BD84628B279F90070786F /* Output.swift */,
134+
1A7BD83928B277DC0070786F /* State.swift */,
106135
1A7BD84428B279E50070786F /* StateMachine.swift */,
107136
);
108137
path = StateMachine;
@@ -111,21 +140,26 @@
111140
1A7BD83428B2777F0070786F /* SideEffect */ = {
112141
isa = PBXGroup;
113142
children = (
143+
1A7BD84828B2A1770070786F /* Search.swift */,
114144
);
115145
path = SideEffect;
116146
sourceTree = "<group>";
117147
};
118148
1A7BD83528B277980070786F /* View */ = {
119149
isa = PBXGroup;
120150
children = (
151+
1A7BD84A28B2A1E80070786F /* RootView.swift */,
152+
1A7BD84C28B2A3570070786F /* State+ViewState.swift */,
121153
);
122154
path = View;
123155
sourceTree = "<group>";
124156
};
125157
1A7BD83628B277A40070786F /* Implementation */ = {
126158
isa = PBXGroup;
127159
children = (
160+
1A7BD85028B2A62B0070786F /* Model */,
128161
1A7BD83728B277CD0070786F /* LogToOSLog.swift */,
162+
1A7BD84E28B2A6120070786F /* SearchFromRestApi.swift */,
129163
);
130164
path = Implementation;
131165
sourceTree = "<group>";
@@ -145,6 +179,22 @@
145179
path = Model;
146180
sourceTree = "<group>";
147181
};
182+
1A7BD85028B2A62B0070786F /* Model */ = {
183+
isa = PBXGroup;
184+
children = (
185+
1A7BD85128B2A63F0070786F /* Response.swift */,
186+
);
187+
path = Model;
188+
sourceTree = "<group>";
189+
};
190+
1A7BD85828B2B0CD0070786F /* SearchApisTests */ = {
191+
isa = PBXGroup;
192+
children = (
193+
1A7BD85928B2B0CD0070786F /* SearchApisTests.swift */,
194+
);
195+
path = SearchApisTests;
196+
sourceTree = "<group>";
197+
};
148198
/* End PBXGroup section */
149199

150200
/* Begin PBXNativeTarget section */
@@ -168,6 +218,24 @@
168218
productReference = 1A7BD82128B277530070786F /* SearchApis.app */;
169219
productType = "com.apple.product-type.application";
170220
};
221+
1A7BD85628B2B0CD0070786F /* SearchApisTests */ = {
222+
isa = PBXNativeTarget;
223+
buildConfigurationList = 1A7BD85D28B2B0CD0070786F /* Build configuration list for PBXNativeTarget "SearchApisTests" */;
224+
buildPhases = (
225+
1A7BD85328B2B0CD0070786F /* Sources */,
226+
1A7BD85428B2B0CD0070786F /* Frameworks */,
227+
1A7BD85528B2B0CD0070786F /* Resources */,
228+
);
229+
buildRules = (
230+
);
231+
dependencies = (
232+
1A7BD85C28B2B0CD0070786F /* PBXTargetDependency */,
233+
);
234+
name = SearchApisTests;
235+
productName = SearchApisTests;
236+
productReference = 1A7BD85728B2B0CD0070786F /* SearchApisTests.xctest */;
237+
productType = "com.apple.product-type.bundle.unit-test";
238+
};
171239
/* End PBXNativeTarget section */
172240

173241
/* Begin PBXProject section */
@@ -181,6 +249,10 @@
181249
1A7BD82028B277530070786F = {
182250
CreatedOnToolsVersion = 13.4.1;
183251
};
252+
1A7BD85628B2B0CD0070786F = {
253+
CreatedOnToolsVersion = 13.4.1;
254+
TestTargetID = 1A7BD82028B277530070786F;
255+
};
184256
};
185257
};
186258
buildConfigurationList = 1A7BD81C28B277520070786F /* Build configuration list for PBXProject "SearchApis" */;
@@ -197,6 +269,7 @@
197269
projectRoot = "";
198270
targets = (
199271
1A7BD82028B277530070786F /* SearchApis */,
272+
1A7BD85628B2B0CD0070786F /* SearchApisTests */,
200273
);
201274
};
202275
/* End PBXProject section */
@@ -211,26 +284,53 @@
211284
);
212285
runOnlyForDeploymentPostprocessing = 0;
213286
};
287+
1A7BD85528B2B0CD0070786F /* Resources */ = {
288+
isa = PBXResourcesBuildPhase;
289+
buildActionMask = 2147483647;
290+
files = (
291+
);
292+
runOnlyForDeploymentPostprocessing = 0;
293+
};
214294
/* End PBXResourcesBuildPhase section */
215295

216296
/* Begin PBXSourcesBuildPhase section */
217297
1A7BD81D28B277530070786F /* Sources */ = {
218298
isa = PBXSourcesBuildPhase;
219299
buildActionMask = 2147483647;
220300
files = (
301+
1A7BD84928B2A1770070786F /* Search.swift in Sources */,
221302
1A7BD84728B279F90070786F /* Output.swift in Sources */,
222303
1A7BD84128B278AD0070786F /* Entry.swift in Sources */,
223-
1A7BD82728B277530070786F /* ContentView.swift in Sources */,
304+
1A7BD84D28B2A3570070786F /* State+ViewState.swift in Sources */,
305+
1A7BD84B28B2A1E80070786F /* RootView.swift in Sources */,
306+
1A7BD85228B2A63F0070786F /* Response.swift in Sources */,
224307
1A7BD83828B277CD0070786F /* LogToOSLog.swift in Sources */,
225308
1A7BD82528B277530070786F /* SearchApisApp.swift in Sources */,
309+
1A7BD84F28B2A6120070786F /* SearchFromRestApi.swift in Sources */,
226310
1A7BD84328B279AE0070786F /* Event.swift in Sources */,
227311
1A7BD84528B279E50070786F /* StateMachine.swift in Sources */,
228312
1A7BD83A28B277DC0070786F /* State.swift in Sources */,
229313
);
230314
runOnlyForDeploymentPostprocessing = 0;
231315
};
316+
1A7BD85328B2B0CD0070786F /* Sources */ = {
317+
isa = PBXSourcesBuildPhase;
318+
buildActionMask = 2147483647;
319+
files = (
320+
1A7BD85A28B2B0CD0070786F /* SearchApisTests.swift in Sources */,
321+
);
322+
runOnlyForDeploymentPostprocessing = 0;
323+
};
232324
/* End PBXSourcesBuildPhase section */
233325

326+
/* Begin PBXTargetDependency section */
327+
1A7BD85C28B2B0CD0070786F /* PBXTargetDependency */ = {
328+
isa = PBXTargetDependency;
329+
target = 1A7BD82028B277530070786F /* SearchApis */;
330+
targetProxy = 1A7BD85B28B2B0CD0070786F /* PBXContainerItemProxy */;
331+
};
332+
/* End PBXTargetDependency section */
333+
234334
/* Begin XCBuildConfiguration section */
235335
1A7BD82D28B277530070786F /* Debug */ = {
236336
isa = XCBuildConfiguration;
@@ -404,6 +504,42 @@
404504
};
405505
name = Release;
406506
};
507+
1A7BD85E28B2B0CD0070786F /* Debug */ = {
508+
isa = XCBuildConfiguration;
509+
buildSettings = {
510+
BUNDLE_LOADER = "$(TEST_HOST)";
511+
CODE_SIGN_STYLE = Automatic;
512+
CURRENT_PROJECT_VERSION = 1;
513+
DEVELOPMENT_TEAM = 3V5265LQM9;
514+
GENERATE_INFOPLIST_FILE = YES;
515+
MARKETING_VERSION = 1.0;
516+
PRODUCT_BUNDLE_IDENTIFIER = io.sideeffect.asyncstatemachine.SearchApisTests;
517+
PRODUCT_NAME = "$(TARGET_NAME)";
518+
SWIFT_EMIT_LOC_STRINGS = NO;
519+
SWIFT_VERSION = 5.0;
520+
TARGETED_DEVICE_FAMILY = "1,2";
521+
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SearchApis.app/SearchApis";
522+
};
523+
name = Debug;
524+
};
525+
1A7BD85F28B2B0CD0070786F /* Release */ = {
526+
isa = XCBuildConfiguration;
527+
buildSettings = {
528+
BUNDLE_LOADER = "$(TEST_HOST)";
529+
CODE_SIGN_STYLE = Automatic;
530+
CURRENT_PROJECT_VERSION = 1;
531+
DEVELOPMENT_TEAM = 3V5265LQM9;
532+
GENERATE_INFOPLIST_FILE = YES;
533+
MARKETING_VERSION = 1.0;
534+
PRODUCT_BUNDLE_IDENTIFIER = io.sideeffect.asyncstatemachine.SearchApisTests;
535+
PRODUCT_NAME = "$(TARGET_NAME)";
536+
SWIFT_EMIT_LOC_STRINGS = NO;
537+
SWIFT_VERSION = 5.0;
538+
TARGETED_DEVICE_FAMILY = "1,2";
539+
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SearchApis.app/SearchApis";
540+
};
541+
name = Release;
542+
};
407543
/* End XCBuildConfiguration section */
408544

409545
/* Begin XCConfigurationList section */
@@ -425,6 +561,15 @@
425561
defaultConfigurationIsVisible = 0;
426562
defaultConfigurationName = Release;
427563
};
564+
1A7BD85D28B2B0CD0070786F /* Build configuration list for PBXNativeTarget "SearchApisTests" */ = {
565+
isa = XCConfigurationList;
566+
buildConfigurations = (
567+
1A7BD85E28B2B0CD0070786F /* Debug */,
568+
1A7BD85F28B2B0CD0070786F /* Release */,
569+
);
570+
defaultConfigurationIsVisible = 0;
571+
defaultConfigurationName = Release;
572+
};
428573
/* End XCConfigurationList section */
429574

430575
/* Begin XCSwiftPackageProductDependency section */

0 commit comments

Comments
 (0)