22// for details. All rights reserved. Use of this source code is governed by a
33// BSD-style license that can be found in the LICENSE file.
44
5+ import 'dart:convert' ;
56import 'dart:js_interop' ;
6- import 'dart:js_util' ;
77
88import 'package:path/path.dart' as path;
99import 'package:pub_semver/pub_semver.dart' ;
@@ -112,13 +112,15 @@ Future<void> _impl(List<String> args) async {
112112 process.env ('RUNNER_TEMP' )! ,
113113 path.url.basename (url),
114114 );
115- await promiseToFuture < String >( toolCache.downloadTool (url, archivePath)) ;
115+ await toolCache.downloadTool (url, archivePath).toDart ;
116116 var extractedFolder =
117- await promiseToFuture < String >( toolCache.extractZip (archivePath)) ;
117+ ( await toolCache.extractZip (archivePath).toDart).toDart ;
118118 extractedFolder = path.join (extractedFolder, 'dart-sdk' );
119119
120- sdkPath = await promiseToFuture <String >(
121- toolCache.cacheDir (extractedFolder, toolName, version, architecture));
120+ sdkPath = (await toolCache
121+ .cacheDir (extractedFolder, toolName, version, architecture)
122+ .toDart)
123+ .toDart;
122124 }
123125
124126 final pubCache = path.join (
@@ -136,10 +138,7 @@ Future<void> _impl(List<String> args) async {
136138 core.setOutput ('dart-version' , getVersionFromSdk (sdkPath));
137139
138140 // Report success; print version.
139- await promiseToFuture <void >(exec.exec (
140- 'dart' ,
141- ['--version' .toJS].toJS,
142- ));
141+ await exec.exec ('dart' , ['--version' .toJS].toJS).toDart;
143142}
144143
145144String getVersionFromSdk (String sdkPath) {
@@ -172,22 +171,22 @@ Future<void> createPubOIDCToken() async {
172171 return ;
173172 }
174173
175- final token =
176- await promiseToFuture <String >(core.getIDToken ('https://pub.dev' ));
174+ final token = (await core.getIDToken ('https://pub.dev' ).toDart).toDart;
177175
178176 core.exportVariable ('PUB_TOKEN' , token);
179177
180- await promiseToFuture <void >(exec.exec (
181- 'dart' ,
182- [
183- 'pub' .toJS,
184- 'token' .toJS,
185- 'add' .toJS,
186- 'https://pub.dev' .toJS,
187- '--env-var' .toJS,
188- 'PUB_TOKEN' .toJS,
189- ].toJS,
190- ));
178+ await exec
179+ .exec (
180+ 'dart' ,
181+ [
182+ 'pub' .toJS,
183+ 'token' .toJS,
184+ 'add' .toJS,
185+ 'https://pub.dev' .toJS,
186+ '--env-var' .toJS,
187+ 'PUB_TOKEN' .toJS,
188+ ].toJS)
189+ .toDart;
191190}
192191
193192// https://storage.googleapis.com/dart-archive/channels/stable/release/latest/VERSION
@@ -206,17 +205,18 @@ Future<String> latestPublishedVersion(String channel, String flavor) async {
206205 final http = HttpClient (
207206 'setup-dart' ,
208207 < JSAny > [].toJS,
209- jsify ( {
208+ {
210209 'allowRedirects' : true ,
211210 'maxRedirects' : 3 ,
212211 'allowRetries' : true ,
213212 'maxRetries' : 3 ,
214- }) as JSObject ? ,
213+ }. jsify ( ) as JSObject ? ,
215214 );
216215
217- var response = await promiseToFuture <JSObject >(http.getJson (url));
218- var result = getProperty <JSObject >(response, 'result' );
219- return getProperty (result, 'version' );
216+ var response = (await http.get (url).toDart) as HttpClientResponse ;
217+ var data = (await response.readBody ().toDart).toDart;
218+ var json = (jsonDecode (data) as Map ).cast <String , Object ?>();
219+ return json['version' ] as String ;
220220}
221221
222222/// Find the latest SDK patch version for the given SDK release.
@@ -230,12 +230,12 @@ Future<String> findLatestSdkForRelease(String sdkRelease) async {
230230 final http = HttpClient (
231231 'setup-dart' ,
232232 < JSAny > [].toJS,
233- jsify ( {
233+ {
234234 'allowRedirects' : true ,
235235 'maxRedirects' : 3 ,
236236 'allowRetries' : true ,
237237 'maxRetries' : 3 ,
238- }) as JSObject ? ,
238+ }. jsify ( ) as JSObject ? ,
239239 );
240240
241241 // {
@@ -247,10 +247,11 @@ Future<String> findLatestSdkForRelease(String sdkRelease) async {
247247 // "channels/stable/release/2.19.6/"
248248 // ]
249249 // }
250- var response = await promiseToFuture <JSObject >(http.getJson (url));
251- var result = getProperty <JSObject >(response, 'result' );
250+ var response = (await http.get (url).toDart) as HttpClientResponse ;
251+ var data = (await response.readBody ().toDart).toDart;
252+ var json = (jsonDecode (data) as Map ).cast <String , Object ?>();
252253
253- final paths = (getProperty (result, 'prefixes' ) as List ).cast <String >();
254+ final paths = (json[ 'prefixes' ] as List ).cast <String >();
254255 final versions = paths.map ((p) => (p.split ('/' )..removeLast ()).last).toList ();
255256
256257 // Sort versions by semver and return the highest version.
0 commit comments