).reduce(
@media (min-width: ${sizes[label]}px) {
${css(first, ...interpolations)}
}
- `;
+ `
- return acc;
+ return acc
},
{} as { [key in keyof typeof sizes]: MediaFunction },
-);
+)
/*
* @types/styled-component is not working properly as explained in the github issue referenced above.
@@ -49,7 +49,7 @@ type MediaFunction = (
| CSSObject
| InterpolationFunction>,
...interpolations: Array>>
-) => FlattenInterpolation>;
+) => FlattenInterpolation>
/* Example
const SomeDiv = styled.div`
diff --git a/src/styles/theme/ThemeProvider.tsx b/src/styles/theme/ThemeProvider.tsx
index de9f76a..7bb284d 100644
--- a/src/styles/theme/ThemeProvider.tsx
+++ b/src/styles/theme/ThemeProvider.tsx
@@ -1,16 +1,16 @@
-import * as React from 'react';
-import { ThemeProvider as OriginalThemeProvider } from 'styled-components';
-import { useSelector } from 'react-redux';
-import { selectTheme, themeSliceKey, reducer } from './slice';
-import { useInjectReducer } from 'redux-injectors';
+import * as React from 'react'
+import { ThemeProvider as OriginalThemeProvider } from 'styled-components'
+import { useSelector } from 'react-redux'
+import { selectTheme, themeSliceKey, reducer } from './slice'
+import { useInjectReducer } from 'redux-injectors'
export const ThemeProvider = (props: { children: React.ReactChild }) => {
- useInjectReducer({ key: themeSliceKey, reducer: reducer });
+ useInjectReducer({ key: themeSliceKey, reducer: reducer })
- const theme = useSelector(selectTheme);
+ const theme = useSelector(selectTheme)
return (
{React.Children.only(props.children)}
- );
-};
+ )
+}
diff --git a/src/styles/theme/__tests__/ThemeProvider.test.tsx b/src/styles/theme/__tests__/ThemeProvider.test.tsx
deleted file mode 100644
index 2684301..0000000
--- a/src/styles/theme/__tests__/ThemeProvider.test.tsx
+++ /dev/null
@@ -1,43 +0,0 @@
-import * as React from 'react';
-import { render } from '@testing-library/react';
-import { Provider } from 'react-redux';
-import * as slice from '../slice';
-import { Store } from '@reduxjs/toolkit';
-import { ThemeProvider } from '../ThemeProvider';
-import { configureAppStore } from 'store/configureStore';
-import { useTheme } from 'styled-components';
-
-const renderThemeProvider = (store: Store, Child: React.FunctionComponent) =>
- render(
-
-
-
-
- ,
- );
-
-describe('', () => {
- let store: ReturnType;
-
- beforeEach(() => {
- store = configureAppStore();
- });
-
- it('should render its children', () => {
- const text = 'Test';
- const children = () => {text}
;
- const { queryByText } = renderThemeProvider(store, children);
- expect(queryByText(text)).toBeInTheDocument();
- });
-
- it('should render selected theme', () => {
- let theme: any;
- const children = () => {
- // eslint-disable-next-line react-hooks/rules-of-hooks
- theme = useTheme();
- return a
;
- };
- renderThemeProvider(store, children);
- expect(theme).toBe(slice.selectTheme(store.getState() as any));
- });
-});
diff --git a/src/styles/theme/__tests__/slice.test.ts b/src/styles/theme/__tests__/slice.test.ts
deleted file mode 100644
index 4cf57df..0000000
--- a/src/styles/theme/__tests__/slice.test.ts
+++ /dev/null
@@ -1,53 +0,0 @@
-import * as slice from '../slice';
-import { ThemeState, ThemeKeyType } from '../types';
-import { RootState } from 'types';
-import { themes } from '../themes';
-import { DefaultTheme } from 'styled-components';
-
-describe('theme slice', () => {
- let state: ThemeState;
-
- beforeEach(() => {
- state = slice.initialState;
- });
-
- it('should return the initial state', () => {
- expect(slice.reducer(undefined, { type: '' })).toEqual(state);
- });
-
- it('should changeTheme', () => {
- expect(slice.reducer(state, slice.changeTheme('dark'))).toEqual(
- { selected: 'dark' },
- );
- });
-
- describe('selectors', () => {
- it('selectTheme', () => {
- let state: RootState = {};
- expect(slice.selectTheme(state)).toEqual(themes.light);
- state = {
- theme: { selected: 'system' },
- };
- expect(slice.selectTheme(state)).toEqual(themes.light);
-
- state = {
- theme: { selected: 'dark' },
- };
- expect(slice.selectTheme(state)).toEqual(themes.dark);
- });
-
- it('selectThemeKey', () => {
- let state: RootState = {};
- expect(slice.selectThemeKey(state)).toEqual(
- slice.initialState.selected,
- );
-
- state = {
- theme: { selected: 'system' },
- };
- expect(slice.selectThemeKey(state)).toEqual(
- state.theme!.selected,
- );
- });
- });
-});
diff --git a/src/styles/theme/__tests__/utils.test.ts b/src/styles/theme/__tests__/utils.test.ts
deleted file mode 100644
index d4be948..0000000
--- a/src/styles/theme/__tests__/utils.test.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import * as utils from '../utils';
-
-describe('theme utils', () => {
- it('should get storage item', () => {
- utils.saveTheme('system');
- expect(utils.getThemeFromStorage()).toBe('system');
- });
- it('should check system theme', () => {
- expect(utils.isSystemDark).toBeUndefined();
- });
-});
diff --git a/src/styles/theme/slice.ts b/src/styles/theme/slice.ts
index d016133..739031c 100644
--- a/src/styles/theme/slice.ts
+++ b/src/styles/theme/slice.ts
@@ -1,38 +1,38 @@
-import { PayloadAction, createSelector, createSlice } from '@reduxjs/toolkit';
-import { ThemeState, ThemeKeyType } from './types';
-import { themes } from './themes';
-import { getThemeFromStorage, isSystemDark } from './utils';
-import { RootState } from 'types';
+import { PayloadAction, createSelector, createSlice } from '@reduxjs/toolkit'
+import { ThemeState, ThemeKeyType } from './types'
+import { themes } from './themes'
+import { getThemeFromStorage, isSystemDark } from './utils'
+import { RootState } from 'types'
export const initialState: ThemeState = {
selected: getThemeFromStorage() || 'system',
-};
+}
const themeSlice = createSlice({
name: 'theme',
initialState,
reducers: {
changeTheme(state, action: PayloadAction) {
- state.selected = action.payload;
+ state.selected = action.payload
},
},
-});
+})
export const selectTheme = createSelector(
[(state: RootState) => state.theme || initialState],
theme => {
if (theme.selected === 'system') {
- return isSystemDark ? themes.dark : themes.light;
+ return isSystemDark ? themes.dark : themes.light
}
- return themes[theme.selected];
+ return themes[theme.selected]
},
-);
+)
export const selectThemeKey = createSelector(
[(state: RootState) => state.theme || initialState],
theme => theme.selected,
-);
+)
-export const { changeTheme } = themeSlice.actions;
-export const reducer = themeSlice.reducer;
-export const themeSliceKey = themeSlice.name;
+export const { changeTheme } = themeSlice.actions
+export const reducer = themeSlice.reducer
+export const themeSliceKey = themeSlice.name
diff --git a/src/styles/theme/themes.ts b/src/styles/theme/themes.ts
index 83dbe02..4c0cba8 100644
--- a/src/styles/theme/themes.ts
+++ b/src/styles/theme/themes.ts
@@ -6,11 +6,11 @@ const lightTheme = {
backgroundVariant: 'rgba(251,249,249,1)',
border: 'rgba(58,52,51,0.12)',
borderLight: 'rgba(58,52,51,0.05)',
-};
+}
-export type Theme = typeof lightTheme;
+export type Theme = typeof lightTheme
export const themes = {
light: lightTheme,
dark: lightTheme,
-};
+}
diff --git a/src/styles/theme/types.ts b/src/styles/theme/types.ts
index 17c90f2..1313427 100644
--- a/src/styles/theme/types.ts
+++ b/src/styles/theme/types.ts
@@ -1,7 +1,7 @@
-import { themes } from './themes';
+import { themes } from './themes'
-export type ThemeKeyType = keyof typeof themes | 'system';
+export type ThemeKeyType = keyof typeof themes | 'system'
export interface ThemeState {
- selected: ThemeKeyType;
+ selected: ThemeKeyType
}
diff --git a/src/styles/theme/utils.ts b/src/styles/theme/utils.ts
index 690ad95..8e5c68d 100644
--- a/src/styles/theme/utils.ts
+++ b/src/styles/theme/utils.ts
@@ -1,17 +1,17 @@
-import { ThemeKeyType } from './types';
+import { ThemeKeyType } from './types'
/* istanbul ignore next line */
export const isSystemDark = window?.matchMedia
? window.matchMedia('(prefers-color-scheme: dark)')?.matches
- : undefined;
+ : undefined
export function saveTheme(theme: ThemeKeyType) {
- window.localStorage && localStorage.setItem('selectedTheme', theme);
+ window.localStorage && localStorage.setItem('selectedTheme', theme)
}
/* istanbul ignore next line */
export function getThemeFromStorage(): ThemeKeyType | null {
return window.localStorage
? (localStorage.getItem('selectedTheme') as ThemeKeyType) || null
- : null;
+ : null
}
diff --git a/src/types/Country.d.ts b/src/types/Country.d.ts
index 98bc53b..941dbd7 100644
--- a/src/types/Country.d.ts
+++ b/src/types/Country.d.ts
@@ -1,4 +1,4 @@
export interface Country {
- id: string;
- name: string;
+ id: string
+ name: string
}
diff --git a/src/types/Repo.d.ts b/src/types/Repo.d.ts
index 96010d8..68a6cec 100644
--- a/src/types/Repo.d.ts
+++ b/src/types/Repo.d.ts
@@ -1,83 +1,83 @@
// Copied from '@octokit/rest'
interface ReposListForksResponseItem {
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: { login: string };
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- watchers_count: number;
+ archive_url: string
+ archived: boolean
+ assignees_url: string
+ blobs_url: string
+ branches_url: string
+ clone_url: string
+ collaborators_url: string
+ comments_url: string
+ commits_url: string
+ compare_url: string
+ contents_url: string
+ contributors_url: string
+ created_at: string
+ default_branch: string
+ deployments_url: string
+ description: string
+ disabled: boolean
+ downloads_url: string
+ events_url: string
+ fork: boolean
+ forks_count: number
+ forks_url: string
+ full_name: string
+ git_commits_url: string
+ git_refs_url: string
+ git_tags_url: string
+ git_url: string
+ has_downloads: boolean
+ has_issues: boolean
+ has_pages: boolean
+ has_projects: boolean
+ has_wiki: boolean
+ homepage: string
+ hooks_url: string
+ html_url: string
+ id: number
+ is_template: boolean
+ issue_comment_url: string
+ issue_events_url: string
+ issues_url: string
+ keys_url: string
+ labels_url: string
+ language: null
+ languages_url: string
+ merges_url: string
+ milestones_url: string
+ mirror_url: string
+ name: string
+ network_count: number
+ node_id: string
+ notifications_url: string
+ open_issues_count: number
+ owner: { login: string }
+ private: boolean
+ pulls_url: string
+ pushed_at: string
+ releases_url: string
+ size: number
+ ssh_url: string
+ stargazers_count: number
+ stargazers_url: string
+ statuses_url: string
+ subscribers_count: number
+ subscribers_url: string
+ subscription_url: string
+ svn_url: string
+ tags_url: string
+ teams_url: string
+ template_repository: null
+ topics: Array
+ trees_url: string
+ updated_at: string
+ url: string
+ watchers_count: number
}
export interface Repo extends ReposListForksResponseItem {
- forks: number;
- open_issues: number;
- watchers: number;
+ forks: number
+ open_issues: number
+ watchers: number
}
diff --git a/src/types/RootState.ts b/src/types/RootState.ts
index f756f1a..da0204b 100644
--- a/src/types/RootState.ts
+++ b/src/types/RootState.ts
@@ -1,7 +1,7 @@
-import { CountriesState } from 'app/containers/Countries/types';
-import { ThemeState } from 'styles/theme/types';
+import { CountriesState } from 'app/containers/Countries/types'
+import { ThemeState } from 'styles/theme/types'
export interface RootState {
- theme?: ThemeState;
- countries?: CountriesState;
+ theme?: ThemeState
+ countries?: CountriesState
}
diff --git a/src/types/index.ts b/src/types/index.ts
index b8dc4f0..899d3e4 100644
--- a/src/types/index.ts
+++ b/src/types/index.ts
@@ -1,3 +1,3 @@
-import { RootState } from './RootState';
+import { RootState } from './RootState'
-export type { RootState };
+export type { RootState }
diff --git a/src/utils/@reduxjs/toolkit.tsx b/src/utils/@reduxjs/toolkit.tsx
index 9b72197..efe1919 100644
--- a/src/utils/@reduxjs/toolkit.tsx
+++ b/src/utils/@reduxjs/toolkit.tsx
@@ -1,9 +1,9 @@
-import { RootStateKeyType } from '../types/injector-typings';
+import { RootStateKeyType } from '../types/injector-typings'
import {
createSlice as createSliceOriginal,
SliceCaseReducers,
CreateSliceOptions,
-} from '@reduxjs/toolkit';
+} from '@reduxjs/toolkit'
/* Wrap createSlice with stricter Name options */
@@ -15,5 +15,5 @@ export const createSlice = <
>(
options: CreateSliceOptions,
) => {
- return createSliceOriginal(options);
-};
+ return createSliceOriginal(options)
+}
diff --git a/src/utils/__tests__/__snapshots__/loadable.test.tsx.snap b/src/utils/__tests__/__snapshots__/loadable.test.tsx.snap
deleted file mode 100644
index 00661d9..0000000
--- a/src/utils/__tests__/__snapshots__/loadable.test.tsx.snap
+++ /dev/null
@@ -1,17 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`loadable should render LazyComponent after waiting for it to load 1`] = `
-
- My lazy-loaded component
-
-`;
-
-exports[`loadable should render fallback if given one 1`] = `
-
- Loading
-
-`;
-
-exports[`loadable should render null by default 1`] = `null`;
-
-exports[`loadable should render null by default with empty options 1`] = `null`;
diff --git a/src/utils/__tests__/loadable.test.tsx b/src/utils/__tests__/loadable.test.tsx
deleted file mode 100755
index 7a3743b..0000000
--- a/src/utils/__tests__/loadable.test.tsx
+++ /dev/null
@@ -1,53 +0,0 @@
-import * as React from 'react';
-import { render } from '@testing-library/react';
-import { lazyLoad } from 'utils/loadable';
-
-const LoadingIndicator = () => Loading
;
-
-const LazyComponenWithDefaultExport = lazyLoad(
- () => import('../../../internals/testing/loadable.mock'),
-);
-
-const LazyComponentWithExportedFunction = lazyLoad(
- () => import('../../../internals/testing/loadable.mock'),
- module => module.ExportedFunc,
-);
-
-const LazyComponentWithFallback = lazyLoad(
- () => import('../../../internals/testing/loadable.mock'),
- undefined,
- {
- fallback: ,
- },
-);
-
-describe('loadable', () => {
- it('should render null by default', () => {
- const {
- container: { firstChild },
- } = render();
- expect(firstChild).toMatchSnapshot();
- });
-
- it('should render null by default with empty options', () => {
- const {
- container: { firstChild },
- } = render();
- expect(firstChild).toMatchSnapshot();
- });
-
- it('should render fallback if given one', () => {
- const {
- container: { firstChild },
- } = render();
- expect(firstChild).toMatchSnapshot();
- });
-
- it('should render LazyComponent after waiting for it to load', async () => {
- const {
- container: { firstChild },
- } = render();
- LazyComponentWithExportedFunction({});
- expect(firstChild).toMatchSnapshot();
- });
-});
diff --git a/src/utils/__tests__/request.test.ts b/src/utils/__tests__/request.test.ts
deleted file mode 100755
index ac822af..0000000
--- a/src/utils/__tests__/request.test.ts
+++ /dev/null
@@ -1,82 +0,0 @@
-/**
- * Test the request function
- */
-
-import 'whatwg-fetch';
-import { request } from '../request';
-
-declare let window: { fetch: jest.Mock };
-
-describe('request', () => {
- // Before each test, stub the fetch function
- beforeEach(() => {
- window.fetch = jest.fn();
- });
-
- describe('stubbing successful response', () => {
- // Before each test, pretend we got a successful response
- beforeEach(() => {
- const res = new Response('{"hello":"world"}', {
- status: 200,
- headers: {
- 'Content-type': 'application/json',
- },
- });
-
- window.fetch.mockReturnValue(Promise.resolve(res));
- });
-
- it('should format the response correctly', done => {
- request('/thisurliscorrect')
- .catch(done)
- .then(json => {
- expect(json.hello).toBe('world');
- done();
- });
- });
- });
-
- describe('stubbing 204 response', () => {
- // Before each test, pretend we got a successful response
- beforeEach(() => {
- const res = new Response('', {
- status: 204,
- statusText: 'No Content',
- });
-
- window.fetch.mockReturnValue(Promise.resolve(res));
- });
-
- it('should return null on 204 response', done => {
- request('/thisurliscorrect')
- .catch(done)
- .then(json => {
- expect(json).toBeNull();
- done();
- });
- });
- });
-
- describe('stubbing error response', () => {
- // Before each test, pretend we got an unsuccessful response
- beforeEach(() => {
- const res = new Response('', {
- status: 404,
- statusText: 'Not Found',
- headers: {
- 'Content-type': 'application/json',
- },
- });
-
- window.fetch.mockReturnValue(Promise.resolve(res));
- });
-
- it('should catch errors', done => {
- request('/thisdoesntexist').catch(err => {
- expect(err.response.status).toBe(404);
- expect(err.response.statusText).toBe('Not Found');
- done();
- });
- });
- });
-});
diff --git a/src/utils/loadable.tsx b/src/utils/loadable.tsx
index bf4f7c7..0886e8f 100644
--- a/src/utils/loadable.tsx
+++ b/src/utils/loadable.tsx
@@ -1,9 +1,9 @@
-import React, { lazy, Suspense } from 'react';
+import React, { lazy, Suspense } from 'react'
interface Opts {
- fallback: React.ReactNode;
+ fallback: React.ReactNode
}
-type Unpromisify = T extends Promise ? P : never;
+type Unpromisify = T extends Promise ? P : never
export const lazyLoad = <
T extends Promise,
@@ -13,18 +13,18 @@ export const lazyLoad = <
selectorFunc?: (s: Unpromisify) => U,
opts: Opts = { fallback: null },
) => {
- let lazyFactory: () => Promise<{ default: U }> = importFunc;
+ let lazyFactory: () => Promise<{ default: U }> = importFunc
if (selectorFunc) {
lazyFactory = () =>
- importFunc().then(module => ({ default: selectorFunc(module) }));
+ importFunc().then(module => ({ default: selectorFunc(module) }))
}
- const LazyComponent = lazy(lazyFactory);
+ const LazyComponent = lazy(lazyFactory)
return (props: React.ComponentProps): JSX.Element => (
- );
-};
+ )
+}
diff --git a/src/utils/messages.ts b/src/utils/messages.ts
index 81ad3b6..0c91d64 100644
--- a/src/utils/messages.ts
+++ b/src/utils/messages.ts
@@ -7,7 +7,7 @@
*/
export const _t = (id: string, ...rest: any[]): [string, ...any[]] => {
if (!id) {
- id = '_NOT_TRANSLATED_';
+ id = '_NOT_TRANSLATED_'
}
- return [id, ...rest];
-};
+ return [id, ...rest]
+}
diff --git a/src/utils/redux-injectors.ts b/src/utils/redux-injectors.ts
index 3aeb104..4a2010b 100644
--- a/src/utils/redux-injectors.ts
+++ b/src/utils/redux-injectors.ts
@@ -1,21 +1,21 @@
import {
useInjectReducer as useReducer,
useInjectSaga as useSaga,
-} from 'redux-injectors';
+} from 'redux-injectors'
import {
InjectReducerParams,
InjectSagaParams,
RootStateKeyType,
-} from './types/injector-typings';
+} from './types/injector-typings'
/* Wrap redux-injectors with stricter types */
export function useInjectReducer(
params: InjectReducerParams,
) {
- return useReducer(params);
+ return useReducer(params)
}
export function useInjectSaga(params: InjectSagaParams) {
- return useSaga(params);
+ return useSaga(params)
}
diff --git a/src/utils/request.ts b/src/utils/request.ts
index 330aadc..c6dbd17 100644
--- a/src/utils/request.ts
+++ b/src/utils/request.ts
@@ -1,9 +1,9 @@
export class ResponseError extends Error {
- public response: Response;
+ public response: Response
constructor(response: Response) {
- super(response.statusText);
- this.response = response;
+ super(response.statusText)
+ this.response = response
}
}
/**
@@ -15,9 +15,9 @@ export class ResponseError extends Error {
*/
function parseJSON(response: Response) {
if (response.status === 204 || response.status === 205) {
- return null;
+ return null
}
- return response.json();
+ return response.json()
}
/**
@@ -29,11 +29,16 @@ function parseJSON(response: Response) {
*/
function checkStatus(response: Response) {
if (response.status >= 200 && response.status < 300) {
- return response;
+ return response
}
- const error = new ResponseError(response);
- error.response = response;
- throw error;
+ const error = new ResponseError(response)
+ error.response = response
+ throw error
+}
+
+export function getErrorMessage(error: unknown) {
+ if (error instanceof Error) return error.message
+ return String(error)
}
/**
@@ -48,7 +53,7 @@ export async function request(
url: string,
options?: RequestInit,
): Promise<{} | { err: ResponseError }> {
- const fetchResponse = await fetch(url, options);
- const response = checkStatus(fetchResponse);
- return parseJSON(response);
+ const fetchResponse = await fetch(url, options)
+ const response = checkStatus(fetchResponse)
+ return parseJSON(response)
}
diff --git a/src/utils/types/injector-typings.ts b/src/utils/types/injector-typings.ts
index 54105c6..bf9d6c4 100644
--- a/src/utils/types/injector-typings.ts
+++ b/src/utils/types/injector-typings.ts
@@ -1,22 +1,22 @@
-import { RootState } from 'types';
-import { Saga } from 'redux-saga';
-import { SagaInjectionModes } from 'redux-injectors';
-import { Reducer, AnyAction } from '@reduxjs/toolkit';
+import { RootState } from 'types'
+import { Saga } from 'redux-saga'
+import { SagaInjectionModes } from 'redux-injectors'
+import { Reducer, AnyAction } from '@reduxjs/toolkit'
-type RequiredRootState = Required;
+type RequiredRootState = Required
-export type RootStateKeyType = keyof RootState;
+export type RootStateKeyType = keyof RootState
export type InjectedReducersType = {
- [P in RootStateKeyType]?: Reducer;
-};
+ [P in RootStateKeyType]?: Reducer
+}
export interface InjectReducerParams {
- key: Key;
- reducer: Reducer;
+ key: Key
+ reducer: Reducer
}
export interface InjectSagaParams {
- key: RootStateKeyType | string;
- saga: Saga;
- mode?: SagaInjectionModes;
+ key: RootStateKeyType | string
+ saga: Saga
+ mode?: SagaInjectionModes
}