Exemplo n.º 1
0
 protected override void Configure(IObjectTypeDescriptor <ContestComboDetail> descriptor)
 {
     descriptor.Field(x => x.UseBefore)
     .Description("A list of moves to use before this move.")
     .Type <ListType <MoveType> >()
     .Resolver((ctx, token) =>
     {
         var resolver = ctx.Service <MoveResolver>();
         return(MonadMaybe.Lift(ctx.Parent <ContestComboDetail>())
                .Select(x => x.UseBefore)
                .Select(moves => moves.Select(move => resolver.GetMoveAsync(move.Name, token)))
                .Match(Task.WhenAll, Task.FromResult <Move[]>(default)));