in lib/github_datatypes.dart [1500:1547]
static PullRequest fromGraphQL(dynamic node) {
List<Actor?>? assignees = null;
List<Actor?>? reviewers = null;
if (node['assignees']['edges'] != null &&
node['assignees']['edges'].length != 0) {
assignees = <Actor?>[];
for (var node in node['assignees']['edges']) {
assignees.add(Actor.fromGraphQL(node['node']));
}
}
if (node['reviews']['edges'] != null &&
node['reviews']['edges'].length != 0) {
reviewers = <Actor?>[];
for (var node in node['reviews']['edges']) {
if (node['node']['author'] != null) {
reviewers.add(Actor.fromGraphQL(node['node']['author']));
}
}
}
return PullRequest(
node['title'],
node['id'],
node['number'],
node['state'],
node['author'] == null ? null : Actor.fromGraphQL(node['author']),
reviewers,
assignees,
node['body'],
node['milestone'] == null
? null
: Milestone.fromGraphQL(node['milestone']),
node['labels'] == null ? null : Labels.fromGraphQL(node['labels']),
node['url'],
node['merged'],
node['createdAt'] == null ? null : DateTime.parse(node['createdAt']),
node['mergedAt'] == null ? null : DateTime.parse(node['updatedAt']),
node['lastEditedAt'] == null
? null
: DateTime.parse(node['lastEditedAt']),
node['updatedAt'] == null ? null : DateTime.parse(node['updatedAt']),
node['closedAt'] == null ? null : DateTime.parse(node['closedAt']),
node['repository'] == null
? null
: Repository.fromGraphQL(node['repository']),
node['timelineItems'] == null
? null
: Timeline.fromGraphQL(node['timelineItems']));
}