getParentSrc method

  1. @override
String getParentSrc(
  1. String fileId
)
inherited

Returns the parent source of a file.

This is used to get the main file of a part file. it returns fileId if the file is not a part.

Implementation

@override
String getParentSrc(String fileId) {
  final List<dynamic>? partOf = partOfOf(fileId);
  if (partOf == null) return fileId;
  final int type = partOf[GraphIndex.directiveType];
  if (type == DirectiveStatement.partOf) {
    return partOf[GraphIndex.directiveSrc];
  } else if (type == DirectiveStatement.partOfLibrary) {
    for (final MapEntry<String, List<dynamic>> asset in assets.entries) {
      if (asset.value.length > GraphIndex.assetLibraryName &&
          asset.value[GraphIndex.assetLibraryName] == partOf[GraphIndex.directiveStringUri]) {
        return asset.key;
      }
    }
    return fileId;
  }
  return fileId;
}