installPackageFromUrl method

Future<int> installPackageFromUrl({
  1. required String url,
  2. FetchOption? options,
  3. Encoding? encoding,
  4. required void onData(
    1. String data
    ),
  5. required void onDone(),
})

Implementation

Future<int> installPackageFromUrl({
  required String url,
  FetchOption? options,
  Encoding? encoding,
  required void Function(String data) onData,
  required void Function() onDone,
}) async {
  Response response = await fetch(
    url,
    options: options,
    encoding: encoding,
  );
  Directory directory =
      Directory(path.join(Directory.current.path, "package_temp"));
  if (!directory.existsSync()) {
    await directory.create(recursive: true);
  }
  File file = File(path.join(directory.path, path.basename(url)));
  if (file.existsSync()) {
    await file.delete();
  }
  await file.writeAsBytes(response.bodyBytes);
  return await installPackageFromFile(
      file: file, onData: onData, onDone: onDone);
  // .listen((event) {}).asFuture();
}