@@ -3,32 +3,34 @@ import { Websockets as WebsocketsAT } from '../actionTypes';
33import { Websockets , WebsocketsGroup } from '../models/Websockets' ;
44import { EntityType } from '../models/entities' ;
55
6- const GROUP_STATUS_INITIAL = {
6+ const STATUS_INITIAL = {
77 connected : false ,
88 pending : false ,
99 error : false ,
1010} ;
1111
12- export const GROUP_STATUS_PENDING = {
13- ...GROUP_STATUS_INITIAL ,
14- pending : true ,
12+ const STATUS_CONNECTED = {
13+ ...STATUS_INITIAL ,
14+ connected : true ,
1515} ;
1616
17- const GROUP_STATUS_CONNECTED = {
18- ...GROUP_STATUS_INITIAL ,
19- connected : true ,
17+ export const STATUS_PENDING = {
18+ ...STATUS_INITIAL ,
19+ pending : true ,
2020} ;
2121
22- export const GROUP_STATUS_ERROR = {
23- ...GROUP_STATUS_INITIAL ,
22+ const STATUS_PINGING = {
23+ ...STATUS_CONNECTED ,
24+ pending : true ,
25+ }
26+
27+ export const STATUS_ERROR = {
28+ ...STATUS_INITIAL ,
2429 error : true ,
2530} ;
2631
2732const initialState : Websockets = {
28- status : {
29- connected : false ,
30- error : false ,
31- } ,
33+ status : STATUS_INITIAL ,
3234 groups : [ ] as WebsocketsGroup [ ] ,
3335} ;
3436
@@ -38,32 +40,40 @@ const websocketsSlice = createSlice({
3840 reducers : { } ,
3941 extraReducers : ( { addCase } ) => {
4042 addCase ( WebsocketsAT . CONNECTED , ( state ) => {
41- state . status . connected = true ;
43+ state . status = STATUS_CONNECTED ;
4244 } ) ;
4345 addCase ( WebsocketsAT . CLOSED , ( state ) => {
44- state . status . connected = false ;
46+ state . status = STATUS_INITIAL ;
47+ state . groups = [ ]
4548 } ) ;
4649 addCase ( WebsocketsAT . ERROR , ( state ) => {
47- state . status . error = true ;
50+ state . status = STATUS_ERROR ;
51+ state . groups = [ ]
4852 } ) ;
53+ addCase ( WebsocketsAT . PING . BEGIN , ( state ) => {
54+ state . status = STATUS_PINGING ;
55+ } )
56+ addCase ( WebsocketsAT . PING . SUCCESS , ( state ) => {
57+ state . status = STATUS_CONNECTED ;
58+ } )
4959 addCase ( WebsocketsAT . GROUP_JOIN . BEGIN , ( state , action ) => {
50- if ( ! setGroupStatus ( state , action , GROUP_STATUS_PENDING ) )
60+ if ( ! setGroupStatus ( state , action , STATUS_PENDING ) )
5161 state . groups . push ( {
5262 group : action . payload . group ,
53- status : GROUP_STATUS_PENDING ,
63+ status : STATUS_PENDING ,
5464 } ) ;
5565 } ) ;
5666 addCase ( WebsocketsAT . GROUP_JOIN . SUCCESS , ( state , action ) => {
57- setGroupStatus ( state , action , GROUP_STATUS_CONNECTED ) ;
67+ setGroupStatus ( state , action , STATUS_CONNECTED ) ;
5868 } ) ;
5969 addCase ( WebsocketsAT . GROUP_JOIN . FAILURE , ( state , action ) => {
60- setGroupStatus ( state , action , GROUP_STATUS_ERROR ) ;
70+ setGroupStatus ( state , action , STATUS_ERROR ) ;
6171 } ) ;
6272 addCase ( WebsocketsAT . GROUP_LEAVE . BEGIN , ( state , action ) => {
63- setGroupStatus ( state , action , GROUP_STATUS_PENDING ) ;
73+ setGroupStatus ( state , action , STATUS_PENDING ) ;
6474 } ) ;
6575 addCase ( WebsocketsAT . GROUP_LEAVE . SUCCESS , ( state , action ) => {
66- setGroupStatus ( state , action , GROUP_STATUS_INITIAL ) ;
76+ setGroupStatus ( state , action , STATUS_INITIAL ) ;
6777 } ) ;
6878 } ,
6979} ) ;
0 commit comments