@@ -103,65 +103,55 @@ struct TypstDepUpgrader {
103
103
impl TypstDepUpgrader {
104
104
#[ cfg_attr( coverage_nightly, coverage( off) ) ]
105
105
fn build ( dep : & TypstDep ) -> Self {
106
- static TYPST_PACKAGE_META : Lazy < HashMap < String , Vec < Version > > > = Lazy :: new (
107
- #[ cfg_attr( coverage_nightly, coverage( off) ) ]
108
- || {
109
- let mut retry_count = 5 ;
110
- let resp = loop {
111
- match reqwest:: blocking:: get ( "https://packages.typst.org/preview/index.json" ) {
112
- Ok ( resp) => break resp,
113
- Err ( _) if retry_count > 0 => {
114
- retry_count -= 1 ;
115
- warn ! (
116
- "Failed to fetch package metadata, retrying... ({} attempts left)" ,
117
- retry_count,
118
- ) ;
119
- }
120
- Err ( _) => panic ! ( "Failed to fetch package metadata" ) ,
106
+ static TYPST_PACKAGE_META : Lazy < HashMap < String , Vec < Version > > > = Lazy :: new ( || {
107
+ let mut retry_count = 5 ;
108
+ let resp = loop {
109
+ match reqwest:: blocking:: get ( "https://packages.typst.org/preview/index.json" ) {
110
+ Ok ( resp) => break resp,
111
+ Err ( _) if retry_count > 0 => {
112
+ retry_count -= 1 ;
113
+ warn ! (
114
+ "Failed to fetch package metadata, retrying... ({} attempts left)" ,
115
+ retry_count,
116
+ ) ;
121
117
}
122
- } ;
123
- let raw_meta = resp
124
- . json :: < serde_json:: Value > ( )
125
- . expect ( "Failed to parse package metadata" )
126
- . as_array ( )
127
- . expect ( "Invalid package metadata" )
128
- . iter ( )
129
- . map (
130
- #[ cfg_attr( coverage_nightly, coverage( off) ) ]
131
- |v| {
132
- let package = v. as_object ( ) . expect ( "Invalid package metadata" ) ;
133
- let name = package
134
- . get ( "name" )
135
- . expect ( "Package name not found" )
136
- . as_str ( )
137
- . unwrap ( ) ;
138
- let version = Version :: parse (
139
- package
140
- . get ( "version" )
141
- . expect ( "Package version not found" )
142
- . as_str ( )
143
- . unwrap ( ) ,
144
- )
145
- . unwrap ( ) ;
146
- ( name. to_string ( ) , version)
147
- } ,
148
- )
149
- . collect :: < Vec < _ > > ( ) ;
150
-
151
- let mut result = HashMap :: new ( ) ;
152
- for ( name, version) in raw_meta {
153
- result. entry ( name) . or_insert_with ( Vec :: new) . push ( version) ;
118
+ Err ( _) => panic ! ( "Failed to fetch package metadata" ) ,
154
119
}
120
+ } ;
121
+ let raw_meta = resp
122
+ . json :: < serde_json:: Value > ( )
123
+ . expect ( "Failed to parse package metadata" )
124
+ . as_array ( )
125
+ . expect ( "Invalid package metadata" )
126
+ . iter ( )
127
+ . map ( |v| {
128
+ let package = v. as_object ( ) . expect ( "Invalid package metadata" ) ;
129
+ let name = package
130
+ . get ( "name" )
131
+ . expect ( "Package name not found" )
132
+ . as_str ( )
133
+ . unwrap ( ) ;
134
+ let version = Version :: parse (
135
+ package
136
+ . get ( "version" )
137
+ . expect ( "Package version not found" )
138
+ . as_str ( )
139
+ . unwrap ( ) ,
140
+ )
141
+ . unwrap ( ) ;
142
+ ( name. to_string ( ) , version)
143
+ } )
144
+ . collect :: < Vec < _ > > ( ) ;
145
+
146
+ let mut result = HashMap :: new ( ) ;
147
+ for ( name, version) in raw_meta {
148
+ result. entry ( name) . or_insert_with ( Vec :: new) . push ( version) ;
149
+ }
155
150
156
- result
157
- } ,
158
- ) ;
151
+ result
152
+ } ) ;
159
153
160
- Self :: build_with_query (
161
- dep,
162
- #[ cfg_attr( coverage_nightly, coverage( off) ) ]
163
- |name| TYPST_PACKAGE_META . get ( name) . cloned ( ) ,
164
- )
154
+ Self :: build_with_query ( dep, |name| TYPST_PACKAGE_META . get ( name) . cloned ( ) )
165
155
}
166
156
167
157
fn build_with_query < Q , R > ( dep : & TypstDep , query : Q ) -> Self
0 commit comments