blob: 9042830e0a696efd93524fac314c77f1e235e59c [file] [log] [blame]
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 = <int, dynamic>{};
for (final entity in entities.keys) {
var node = root;
for (final charCode in entity.codeUnits) {
node = (node[charCode] ??= <int, dynamic>{}) as Map<int, dynamic>;
}
}
final source =
'''// AUTO GENERATED by 'tool/generate_trie.dart'. DO NOT EDIT!\n'''
'const entitiesTrieRoot = $root;'
.replaceAll('{}', '<int, dynamic>{}');
final formatted = DartFormatter(
languageVersion: DartFormatter.latestShortStyleLanguageVersion)
.format(source);
final htmlDir = File(Platform.script.path).parent.parent;
File(join(htmlDir.path, 'lib', 'src', 'trie.dart'))
.writeAsStringSync(formatted);
}