import 'dart:io'; import 'package:dart_style/dart_style.dart'; import 'package:html/src/constants.dart'; import 'package:path/path.dart'; /// Run this file to generate package:html/src/trie.dart void main() { final root = {}; for (final entity in entities.keys) { var node = root; for (final charCode in entity.codeUnits) { node = (node[charCode] ??= {}) as Map; } } final source = '''// AUTO GENERATED by 'tool/generate_trie.dart'. DO NOT EDIT!\n''' 'const entitiesTrieRoot = $root;' .replaceAll('{}', '{}'); final formatted = DartFormatter().format(source); final htmlDir = File(Platform.script.path).parent.parent; File(join(htmlDir.path, 'lib', 'src', 'trie.dart')) .writeAsStringSync(formatted); }