CurseForgeModFile.fromMap constructor

CurseForgeModFile.fromMap(
  1. Map<String, dynamic> map
)

Implementation

factory CurseForgeModFile.fromMap(Map<String, dynamic> map) {
  int id = map['id'];
  String fileName = map['fileName'];
  String? downloadUrl = map['downloadUrl'];

  return CurseForgeModFile(
    id: id,
    gameId: map['gameId'],
    modId: map['modId'],
    isAvailable: map['isAvailable'],
    displayName: map['displayName'],
    fileName: fileName,
    releaseType: CurseForgeFileReleaseType.values
        .firstWhere((e) => e.value == map['releaseType']),
    fileStatus: map['fileStatus'],
    hashes: List<Hash>.from(map['hashes']?.map((x) => Hash.fromMap(x))),
    fileDate: map['fileDate'],
    fileLength: map['fileLength'],
    downloadCount: map['downloadCount'],
    downloadUrl: Util.fixCFFileDownloadUrl(
        fileId: id, fileName: fileName, url: downloadUrl),
    gameVersions: List<String>.from(map['gameVersions']),
    sortableGameVersions: List<SortableGameVersion>.from(
        map['sortableGameVersions']
            ?.map((x) => SortableGameVersion.fromMap(x))),
    dependencies: List<Dependency>.from(
        map['dependencies']?.map((x) => Dependency.fromMap(x))),
    exposeAsAlternative: map['exposeAsAlternative'] ?? false,
    parentProjectFileId: map['parentProjectFileId'],
    alternateFileId: map['alternateFileId'],
    isServerPack: map['isServerPack'],
    serverPackFileId: map['serverPackFileId'],
    fileFingerprint: map['fileFingerprint'],
    modules: List<Module>.from(map['modules']?.map((x) => Module.fromMap(x))),
  );
}