Skip to content

Instantly share code, notes, and snippets.

@vsavkin
Last active August 13, 2019 14:19
Show Gist options
  • Save vsavkin/393776f606d38517e095aeabf4da0e1b to your computer and use it in GitHub Desktop.
Save vsavkin/393776f606d38517e095aeabf4da0e1b to your computer and use it in GitHub Desktop.
export interface TalksState extends EntityState<Talk> {
filters: Filters;
watched: { [id: number]: boolean };
}
export interface TalksPartialState {
readonly talks: TalksState;
}
export const talksAdapter: EntityAdapter<Talk> = createEntityAdapter<Talk>();
export const initialState: TalksState = talksAdapter.getInitialState({
filters: { speaker: '', title: '', minRating: 0 },
watched: {}
});
const talksReducer = createReducer(
initialState,
// on(TalksActions.talksUpdated, (state, { talks, filters }) =>
// on(TalksActions.talkUpdated, (state, { talk }) =>
// on(TalksActions.rate, (state, { talkId, rating }) => {
// on(TalksActions.unrate, (state, { talkId }) =>
// on(TalksActions.watch, (state, { talkId }) =>
);
export function reducer(state: TalksState | undefined, action: Action) {
return talksReducer(state, action);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment