From 69d9b8081dd5e4f737ce3a0f59b28f2ca9ea514a Mon Sep 17 00:00:00 2001 From: Abhas Date: Tue, 10 Jul 2018 15:04:29 +0530 Subject: [PATCH] Add basic typedef for store states --- src/store/index.ts | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/store/index.ts diff --git a/src/store/index.ts b/src/store/index.ts new file mode 100644 index 0000000..1d70389 --- /dev/null +++ b/src/store/index.ts @@ -0,0 +1,44 @@ +import { Store, createStore, applyMiddleware } from 'redux'; + +export namespace FailReasons { + export enum EachBranchBehindOrEven { + 'remote branch doesn\'t exist', + 'forked branch ahead' + }; + + export enum NotContributor { + 'contributor in self repo', + 'contributor in parent repo' + }; + + export enum NoCommits { + 'commit in self repo', + 'commit in parent repo' + }; + +} + +export interface GithubRepoFilterState { + eachBranchBehindOrEven: { + fail: boolean, + failReason: FailReasons.EachBranchBehindOrEven + failBranchName: string + }, + notContributor: { + fail: boolean, + failReason: FailReasons.NotContributor + }, + noCommits: { + fail: boolean, + failReason: FailReasons.NoCommits + } +} + +export type GithubRepoFilterStates = Map; + +export interface ApplicationState { + username: string; + repoStates: GithubRepoFilterStates; +} \ No newline at end of file