init method

  1. @override
Future<void> init()
override

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);
  }
}