diff options
| author | Shin'ya Ueoka <ueokande@i-beam.org> | 2019-05-07 21:16:47 +0900 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-05-07 21:16:47 +0900 | 
| commit | 05ef6a8ca35aaa801c11eb6b4896caa3690058af (patch) | |
| tree | 2c7708ca91ac2b462cc86aa28612e3d3943496f3 /src/settings/reducers | |
| parent | 457d954e08923b4accd28a919c72d0b61db1bb98 (diff) | |
| parent | 27d0a7f37d24a0ad68a8ccb7dee18fc1d00eea58 (diff) | |
Merge pull request #578 from ueokande/move-to-typescript
Move to TypeScript
Diffstat (limited to 'src/settings/reducers')
| -rw-r--r-- | src/settings/reducers/setting.ts (renamed from src/settings/reducers/setting.js) | 28 | 
1 files changed, 20 insertions, 8 deletions
diff --git a/src/settings/reducers/setting.js b/src/settings/reducers/setting.ts index 54033aa..c4a21c7 100644 --- a/src/settings/reducers/setting.js +++ b/src/settings/reducers/setting.ts @@ -1,13 +1,25 @@ -import actions from 'settings/actions'; +import * as actions from '../actions'; +import { +  JSONSettings, FormSettings, SettingSource, +} from '../../shared/SettingData'; -const defaultState = { -  source: '', -  json: '', -  form: null, +export interface State { +  source: SettingSource; +  json?: JSONSettings; +  form?: FormSettings; +  error: string; +} + +const defaultState: State = { +  source: SettingSource.JSON, +  json: JSONSettings.valueOf(''),    error: '',  }; -export default function reducer(state = defaultState, action = {}) { +export default function reducer( +  state = defaultState, +  action: actions.SettingAction, +): State {    switch (action.type) {    case actions.SETTING_SET_SETTINGS:      return { ...state, @@ -22,12 +34,12 @@ export default function reducer(state = defaultState, action = {}) {    case actions.SETTING_SWITCH_TO_FORM:      return { ...state,        error: '', -      source: 'form', +      source: SettingSource.Form,        form: action.form, };    case actions.SETTING_SWITCH_TO_JSON:      return { ...state,        error: '', -      source: 'json', +      source: SettingSource.JSON,        json: action.json, };    default:      return state;  | 
