init method
Implementation
@override
Future<void> init() async {
final manifestContent = await rootBundle.loadString('AssetManifest.json');
final Map<String, dynamic> manifestMap = json.decode(manifestContent);
final assetKeys = manifestMap.keys;
final folderFilter = HTFilterConfig(root);
final includedKeys = <String>[];
for (final key in assetKeys) {
var isIncluded = false;
if (_includedFilter.isEmpty) {
isIncluded = folderFilter.isWithin(key);
} else {
for (final filter in _includedFilter) {
if (filter.isWithin(key)) {
isIncluded = true;
break;
}
}
}
if (isIncluded) {
for (final filter in _excludedFilter) {
final isExcluded = filter.isWithin(key);
if (isExcluded) {
isIncluded = false;
break;
}
}
}
if (isIncluded) {
includedKeys.add(key);
}
}
for (final key in includedKeys) {
final content = await rootBundle.loadString(key);
final ext = path.extension(key);
final source =
HTSource(content, fullName: key, type: checkExtension(ext));
addResource(key, source);
}
}