@@ -59,10 +59,14 @@ export async function* getApps() {
59
59
} ) ;
60
60
for await ( const manifestPath of glob ) {
61
61
try {
62
- const manifest = appManifestSchema . parse (
62
+ const parser = appManifestSchema . safeParse (
63
63
parse ( await readFile ( manifestPath , { encoding : "utf-8" } ) ) ,
64
64
) ;
65
65
66
+ if ( ! parser . success ) continue ;
67
+
68
+ const { data : manifest } = parser ;
69
+
66
70
yield {
67
71
launcher,
68
72
manifest,
@@ -99,10 +103,14 @@ export const getAppById = async (id: string) => {
99
103
`appmanifest_${ id } .acf` ,
100
104
) ;
101
105
102
- const manifest = appManifestSchema . parse (
106
+ const parser = appManifestSchema . safeParse (
103
107
parse ( await readFile ( manifestPath , { encoding : "utf-8" } ) ) ,
104
108
) ;
105
109
110
+ if ( ! parser . success ) return ;
111
+
112
+ const { data : manifest } = parser ;
113
+
106
114
return {
107
115
launcher,
108
116
manifest,
@@ -144,10 +152,14 @@ export async function* getAppsByPath(path: string) {
144
152
cwd : join ( folderPath , "steamapps" ) ,
145
153
} ) ;
146
154
for await ( const manifestPath of glob ) {
147
- const manifest = appManifestSchema . parse (
155
+ const parser = appManifestSchema . safeParse (
148
156
parse ( await readFile ( manifestPath , "utf8" ) ) ,
149
157
) ;
150
158
159
+ if ( ! parser . success ) continue ;
160
+
161
+ const { data : manifest } = parser ;
162
+
151
163
if ( basename ( resolved ) === manifest . appState . installdir ) {
152
164
yield {
153
165
launcher,
0 commit comments