--- a/lib/src/widgets/emoji_picker/emoji_builder.dart +++ b/lib/src/widgets/emoji_picker/emoji_builder.dart @@ -1,7 +1,7 @@ import 'dart:convert'; +import 'dart:io'; import 'package:build/build.dart'; -import 'package:http/http.dart' as http; import 'package:interstellar/src/utils/trie.dart'; Builder emojiBuilder(BuilderOptions options) => @@ -29,15 +29,9 @@ }; Future _generateContent() async { - final dataResponse = await http.get( - Uri.parse('$_sourcePrefix/compact.raw.json'), - ); - final dataJson = jsonDecode(dataResponse.body); + final dataJson = jsonDecode(await File('@compact.raw.json@').readAsString()) as List; - final messagesResponse = await http.get( - Uri.parse('$_sourcePrefix/messages.raw.json'), - ); - final messagesJson = jsonDecode(messagesResponse.body); + final messagesJson = jsonDecode(await File('@messages.raw.json@').readAsString()) as Map; final s = StringBuffer() ..write(''' @@ -53,8 +47,9 @@ final emojiGroups = []; - for (var i = 0; i < (messagesJson['groups'] as List).length; i++) { - final group = messagesJson['groups'][i]; + final groups = messagesJson['groups'] as List; + for (var i = 0; i < groups.length; i++) { + final group = groups[i] as Map; assert(group['order'] == i, 'Emoji group order value should match index'); @@ -61,4 +56,4 @@ - emojiGroups.add(group['message']); + emojiGroups.add(group['message'] as String); } s @@ -72,7 +67,8 @@ { var i = 0; - for (final emoji in dataJson) { + for (final emojiItem in dataJson) { + final emoji = emojiItem as Map; if (emoji['group'] == null || emoji['order'] == null) continue; assert(emoji['order'] == i + 1, 'Emoji order value should match index'); @@ -84,9 +80,9 @@ : emoji['emoticon']), ]; - trie.addChild(Trie.normalizeTerm(emoji['label']), {i}); + trie.addChild(Trie.normalizeTerm(emoji['label'] as String), {i}); for (final tag in tags) { - trie.addChild(Trie.normalizeTerm(tag), {i}); + trie.addChild(Trie.normalizeTerm(tag as String), {i}); } s @@ -93,9 +89,9 @@ ..write('const Emoji("') - ..write(emoji['unicode']) + ..write(emoji['unicode'] as String) ..write('","') - ..write(emoji['label']) + ..write(emoji['label'] as String) ..write('",') - ..write(emoji['group']) + ..write(emoji['group'].toString()) ..write('),\n'); i++;