export default function api()

in src/amo/reducers/api.js [144:177]


export default function api(
  // eslint-disable-next-line default-param-last
  state: Exact<ApiState> = initialApiState,
  action: Action,
): Exact<ApiState> {
  switch (action.type) {
    case SET_AUTH_TOKEN:
      return {
        ...state,
        token: action.payload.token,
      };
    case SET_LANG:
      return { ...state, lang: action.payload.lang };
    case SET_CLIENT_APP:
      return { ...state, clientApp: action.payload.clientApp };
    case SET_REGION_CODE:
      return { ...state, regionCode: action.payload.regionCode };
    case SET_REQUEST_ID:
      return { ...state, requestId: action.payload.requestId };
    case SET_USER_AGENT: {
      const { browser, device, os } = UAParser(action.payload.userAgent);

      return {
        ...state,
        userAgent: action.payload.userAgent,
        userAgentInfo: { browser, device, os },
      };
    }
    case LOG_OUT_USER:
      return { ...state, token: null };
    default:
      return state;
  }
}