reducer.ts 894 B

1234567891011121314151617181920212223242526272829303132333435
  1. import { Action } from 'redux/interfaces';
  2. import { getType } from 'typesafe-actions';
  3. import * as actions from 'redux/actions';
  4. import { KsqlState } from 'redux/interfaces/ksqlDb';
  5. export const initialState: KsqlState = {
  6. streams: [],
  7. tables: [],
  8. executionResult: null,
  9. };
  10. // eslint-disable-next-line @typescript-eslint/default-param-last
  11. const reducer = (state = initialState, action: Action): KsqlState => {
  12. switch (action.type) {
  13. case getType(actions.fetchKsqlDbTablesAction.success):
  14. return {
  15. ...state,
  16. ...action.payload,
  17. };
  18. case getType(actions.executeKsqlAction.success):
  19. return {
  20. ...state,
  21. executionResult: action.payload,
  22. };
  23. case getType(actions.resetExecutionResult):
  24. return {
  25. ...state,
  26. executionResult: null,
  27. };
  28. default:
  29. return state;
  30. }
  31. };
  32. export default reducer;