public bool MoveNext()
        {
            if (++index >= limit)
            {
                if (current.Next == null)
                {
                    index = -1;
                    return(false);
                }

                index = 0;

                var t = DataFetcher.GetJsonOf <TInner>(current.Next);
                Task.WaitAll(t);
                if (t.IsFaulted)
                {
                    throw t.Exception;
                }

                var j = t.Result;
                current = JsonMapper.ToObject <ResourceListFragment <T, TInner> >(j);
                limit   = current.Results.Length;
            }

            return(true);
        }
        internal ResourceListEnumerator(int limit = 20, ResourceListFragment <T, TInner>?start = null)
        {
            index      = -1;
            this.limit = limit;

            this.start = current = default(ResourceListFragment <T, TInner>);

            if (start.HasValue)
            {
                this.start = current = start.Value;
            }
            else
            {
                var t = DataFetcher.GetListJsonOf <TInner>(0, limit);

                var j = t.Result;
                start = current = JsonMapper.ToObject <ResourceListFragment <T, TInner> >(j);
            }

            this.limit = current.Results.Length;
        }
Пример #3
0
 public virtual async Task <T> GetObject() => await DataFetcher.GetApiObject <T>(Url);
Пример #4
0
 static void Main(string[] args)
 {
     int opc = 1;
     var p   = DataFetcher.GetApiObject <Pokemon>(opc++).GetAwaiter().GetResult();
 }
Пример #5
0
 public virtual async Task <T> GetObject() => await DataFetcher.GetJsonOfAny <T>(Url);