Files
flipper/src/reducers/user.tsx
Daniel Büchele 5f53087c7e client server
Summary: Migrating Server, Client and UninitializedClient to TypeScript

Reviewed By: passy

Differential Revision: D16687855

fbshipit-source-id: 402e4dbcd5d283d3e280d4d8b312662829457886
2019-08-08 11:00:38 -07:00

52 lines
865 B
TypeScript

/**
* Copyright 2018-present Facebook.
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
* @format
*/
export type User = {
name?: string;
profile_picture?: {
uri: string;
};
};
export type State = User;
export type Action =
| {
type: 'LOGIN';
payload: User;
}
| {
type: 'LOGOUT';
};
const INITIAL_STATE: State = {};
export default function reducer(
state: State = INITIAL_STATE,
action: Action,
): State {
if (action.type === 'LOGOUT') {
return {};
} else if (action.type === 'LOGIN') {
return {
...state,
...action.payload,
};
} else {
return state;
}
}
export const login = (payload: User): Action => ({
type: 'LOGIN',
payload,
});
export const logout = (): Action => ({
type: 'LOGOUT',
});