@@ -82,19 +82,27 @@ pub async fn get_overlay_data(input: JsValue) -> Result<String, String> {
82
82
. map_err ( to_str) ?;
83
83
84
84
// Get landscape guide
85
- let default_guide_url = format ! ( "{}/{}" , input. landscape_url, DEFAULT_GUIDE_PATH ) ;
86
- let guide_url = input. guide_url . unwrap_or ( default_guide_url) ;
87
- let guide_src = GuideSource :: new_from_url ( guide_url) ;
88
- let guide = LandscapeGuide :: new ( & guide_src) . await . context ( "error fetching guide" ) . map_err ( to_str) ?;
85
+ let guide = if let Some ( guide_url) = input. guide_url {
86
+ let guide_src = GuideSource :: new_from_url ( guide_url. clone ( ) ) ;
87
+ LandscapeGuide :: new ( & guide_src) . await . context ( "error fetching guide" ) . map_err ( to_str) ?
88
+ } else {
89
+ let default_guide_url = format ! ( "{}/{}" , input. landscape_url, DEFAULT_GUIDE_PATH ) ;
90
+ let guide_src = GuideSource :: new_from_url ( default_guide_url) ;
91
+ LandscapeGuide :: new ( & guide_src) . await . ok ( ) . flatten ( )
92
+ } ;
89
93
90
94
// Get landscape games data
91
- let default_games_url = format ! ( "{}/{}" , input. landscape_url, DEFAULT_GAMES_PATH ) ;
92
- let games_url = input. games_url . unwrap_or ( default_games_url) ;
93
- let games_src = GamesSource :: new_from_url ( games_url) ;
94
- let games = LandscapeGames :: new ( & games_src)
95
- . await
96
- . context ( "error fetching games data" )
97
- . map_err ( to_str) ?;
95
+ let games = if let Some ( games_url) = input. games_url {
96
+ let games_src = GamesSource :: new_from_url ( games_url) ;
97
+ LandscapeGames :: new ( & games_src)
98
+ . await
99
+ . context ( "error fetching games data" )
100
+ . map_err ( to_str) ?
101
+ } else {
102
+ let default_games_url = format ! ( "{}/{}" , input. landscape_url, DEFAULT_GAMES_PATH ) ;
103
+ let games_src = GamesSource :: new_from_url ( default_games_url) ;
104
+ LandscapeGames :: new ( & games_src) . await . ok ( ) . flatten ( )
105
+ } ;
98
106
99
107
// Get Crunchbase and GitHub data from deployed full dataset
100
108
let deployed_full_dataset = get_full_dataset ( & input. landscape_url ) . await . map_err ( to_str) ?;
0 commit comments