fetchAvailableVersions function
Scrape https://unicode.org/Public/emoji, for available version.
Implementation
Future<List<String>> fetchAvailableVersions() async {
final request = await client(url: _baseUrl);
final response = await request.close();
final responseHtml = (await response.transform(utf8.decoder).toList()).join();
final table = Document.html(responseHtml).querySelectorAll('tbody');
final versions = table.fold<List<String>>([], (acc, row) {
final column = row.querySelectorAll('td:nth-child(1)');
column.skip(1).forEach((item) {
final version = item.text.replaceFirst('/', '');
acc.add(version);
});
return acc;
});
// sort the list in descending order
versions.sort((a, b) => double.parse(a) > double.parse(b) ? 0 : 1);
return versions;
}