Example #1
0
        private DispatcherDelgate ApplyMiddlewares(params MiddlewareDelegate <TState>[] middlewares)
        {
            DispatcherDelgate dispatcher = InitialDispatcher;

            // Reverse apply middlewares
            for (var i = middlewares.Length - 1; i >= 0; --i)
            {
                var middleware = middlewares[i];
                dispatcher = middleware(this)(dispatcher);
            }

            return(dispatcher);
        }
Example #2
0
        private static async Task FetchPosts(DispatcherDelgate dispatch, string subreddit)
        {
            dispatch(new RequestPosts()
            {
                subreddit = subreddit
            });

            var client   = new HttpClient();
            var response = await client.SendAsync(new HttpRequestMessage(HttpMethod.Get, $"https://www.reddit.com/r/{subreddit}.json"));

            var json = await response.Content.ReadAsStringAsync();

            dispatch(new ReceivePosts()
            {
                subreddit = subreddit,
                json      = json
            });
        }
Example #3
0
        private static IEnumerator FetchPosts(DispatcherDelgate dispatch, string subreddit)
        {
            dispatch(new RequestPosts()
            {
                subreddit = subreddit
            });

            var request = UnityEngine.Networking.UnityWebRequest.Get($"https://www.reddit.com/r/{subreddit}.json");

            yield return(request.SendWebRequest());

            var json = request.downloadHandler.text;

            dispatch(new ReceivePosts()
            {
                subreddit = subreddit,
                json      = json
            });
        }
Example #4
0
 public Store(ReducerDelegate <TState> reducer, TState initialState = default(TState), params MiddlewareDelegate <TState>[] middlewares)
 {
     this.reducer    = reducer;
     this.dispatcher = ApplyMiddlewares(middlewares);
     this.state      = initialState;
 }