All files / src/entities/eraser/model slice.ts

83.33% Statements 5/6
100% Branches 0/0
50% Functions 1/2
83.33% Lines 5/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27                12x         12x         1x           12x 12x  
import { createSlice, type PayloadAction } from '@reduxjs/toolkit';
import { TOOLS } from '@/shared/constants';
 
export interface EraserState {
	active: boolean;
	size: number;
}
 
const initialState: EraserState = {
	active: false,
	size: 8,
};
 
const eraserSlice = createSlice({
	name: TOOLS.ERASER,
	initialState,
	reducers: {
		setEraserSize(state, action: PayloadAction<number>) {
			state.size = action.payload;
		},
		resetEraserState: () => initialState,
	},
});
 
export const { setEraserSize, resetEraserState } = eraserSlice.actions;
export const eraserReducer = eraserSlice.reducer;