1- import { action , forEach , fork , Operator , when , map } from 'overmind'
1+ import { Operator , action , forEach , fork , when , map } from 'overmind'
22import {
33 Message ,
44 AppMessage ,
@@ -29,31 +29,37 @@ import {
2929 runMutation ,
3030} from './utils'
3131
32- export const ensureCurrentApp = action < Message > ( ( { value : message , state } ) => {
33- if ( ! state . currentAppName ) {
34- state . currentAppName = message . appName
32+ export const ensureCurrentApp : Operator < Message > = action (
33+ ( { value : message , state } ) => {
34+ if ( ! state . currentAppName ) {
35+ state . currentAppName = message . appName
36+ }
3537 }
36- } )
38+ )
3739
38- export const setPortExists = action < any > ( ( { state } ) => {
40+ export const setPortExists : Operator < any > = action ( ( { state } ) => {
3941 state . error = 'PORT_EXISTS'
4042} )
4143
42- export const isPortExistsMessage = ( paths : {
43- true : Operator < Message , any >
44- false : Operator < Message , any >
45- } ) =>
44+ export const isPortExistsMessage : (
45+ paths : {
46+ true : Operator < Message , any >
47+ false : Operator < Message , any >
48+ }
49+ ) => Operator < Message > = ( paths ) =>
4650 when (
4751 ( { value : message } ) => message . messages [ 0 ] . type === 'PORT_EXISTS' ,
4852 paths
4953 )
5054
51- export const addState = action < InitMessage > ( ( { value : message , state } ) => {
52- state . isConnecting = false
53- state . apps [ message . appName ] . state = message . data . state
54- } )
55+ export const addState : Operator < InitMessage > = action (
56+ ( { value : message , state } ) => {
57+ state . isConnecting = false
58+ state . apps [ message . appName ] . state = message . data . state
59+ }
60+ )
5561
56- export const addFlushAndRunMutations = action < FlushMessage > (
62+ export const addFlushAndRunMutations : Operator < FlushMessage > = action (
5763 ( { value : message , state } ) => {
5864 ensureFlushExists ( state . apps [ message . appName ] . flushes , message . data . flushId )
5965 state . apps [ message . appName ] . flushes [ message . data . flushId ] . mutations =
@@ -77,18 +83,20 @@ export const addFlushAndRunMutations = action<FlushMessage>(
7783 }
7884)
7985
80- export const ensureApp = action < Message > ( ( { value : message , state } ) => {
81- if (
82- ! state . apps [ message . appName ] ||
83- message . messages [ 0 ] . type === ExecutionType . INIT
84- ) {
85- state . apps [ message . appName ] = createApp ( {
86- name : message . appName ,
87- } )
86+ export const ensureApp : Operator < Message > = action (
87+ ( { value : message , state } ) => {
88+ if (
89+ ! state . apps [ message . appName ] ||
90+ message . messages [ 0 ] . type === ExecutionType . INIT
91+ ) {
92+ state . apps [ message . appName ] = createApp ( {
93+ name : message . appName ,
94+ } )
95+ }
8896 }
89- } )
97+ )
9098
91- export const addClientMessages = action < Message > (
99+ export const addClientMessages : Operator < Message > = action (
92100 ( { value : message , state } ) => {
93101 state . apps [ message . appName ] . messages = JSON . parse (
94102 JSON . stringify ( message . messages )
@@ -98,7 +106,7 @@ export const addClientMessages = action<Message>(
98106 }
99107)
100108
101- export const addComponent = action < AddComponentMessage > (
109+ export const addComponent : Operator < AddComponentMessage > = action (
102110 ( { value : message , state } ) => {
103111 const id = `${ message . data . componentId } _${ message . data . componentInstanceId } `
104112
@@ -112,7 +120,7 @@ export const addComponent = action<AddComponentMessage>(
112120 }
113121)
114122
115- export const updateComponent = action < UpdateComponentMessage > (
123+ export const updateComponent : Operator < UpdateComponentMessage > = action (
116124 ( { value : message , state } ) => {
117125 const id = `${ message . data . componentId } _${ message . data . componentInstanceId } `
118126
@@ -133,15 +141,15 @@ export const updateComponent = action<UpdateComponentMessage>(
133141 }
134142)
135143
136- export const removeComponent = action < RemoveComponentMessage > (
144+ export const removeComponent : Operator < RemoveComponentMessage > = action (
137145 ( { value : message , state } ) => {
138146 const id = `${ message . data . componentId } _${ message . data . componentInstanceId } `
139147
140148 state . apps [ message . appName ] . components [ id ] . isMounted = false
141149 }
142150)
143151
144- export const updateDerived = action < DerivedMessage > (
152+ export const updateDerived : Operator < DerivedMessage > = action (
145153 ( { value : message , state } ) => {
146154 const appState = state . apps [ message . appName ] . state
147155 const path = message . data . path . split ( '.' )
@@ -153,7 +161,7 @@ export const updateDerived = action<DerivedMessage>(
153161 }
154162)
155163
156- export const updateFlushWithDerived = action < DirtyDerivedMessage > (
164+ export const updateFlushWithDerived : Operator < DirtyDerivedMessage > = action (
157165 ( { value : message , state } ) => {
158166 ensureFlushExists ( state . apps [ message . appName ] . flushes , message . data . flushId )
159167 state . apps [ message . appName ] . flushes [ message . data . flushId ] . derived . push (
@@ -162,7 +170,7 @@ export const updateFlushWithDerived = action<DirtyDerivedMessage>(
162170 }
163171)
164172
165- export const addAction = action < StartActionMessage > (
173+ export const addAction : Operator < StartActionMessage > = action (
166174 ( { value : message , state } ) => {
167175 const app = state . apps [ message . appName ]
168176 const action = message . data
@@ -205,7 +213,7 @@ export const addAction = action<StartActionMessage>(
205213 }
206214)
207215
208- export const addOperator = action < StartOperatorMessage > (
216+ export const addOperator : Operator < StartOperatorMessage > = action (
209217 ( { value : message , state } ) => {
210218 const operatorData = message . data
211219 const actionId = getActionId ( operatorData )
@@ -241,7 +249,7 @@ export const addOperator = action<StartOperatorMessage>(
241249 }
242250)
243251
244- export const updateOperator = action < EndOperatorMessage > (
252+ export const updateOperator : Operator < EndOperatorMessage > = action (
245253 ( { value : message , state } ) => {
246254 const operatorData = message . data
247255 const actionId = getActionId ( operatorData )
@@ -256,7 +264,7 @@ export const updateOperator = action<EndOperatorMessage>(
256264 }
257265)
258266
259- export const updateAction = action < EndActionMessage > (
267+ export const updateAction : Operator < EndActionMessage > = action (
260268 ( { value : message , state } ) => {
261269 const app = state . apps [ message . appName ]
262270 const action = message . data
@@ -266,7 +274,7 @@ export const updateAction = action<EndActionMessage>(
266274 }
267275)
268276
269- export const addMutations = action < MutationsMessage > (
277+ export const addMutations : Operator < MutationsMessage > = action (
270278 ( { value : message , state } ) => {
271279 const mutations = message . data
272280 const id = `${ mutations . actionId } _${ mutations . executionId } `
@@ -277,21 +285,27 @@ export const addMutations = action<MutationsMessage>(
277285 }
278286)
279287
280- export const addEffect = action < EffectMessage > ( ( { value : message , state } ) => {
281- const effect = message . data
282- const id = getActionId ( effect )
283- const operator =
284- state . apps [ message . appName ] . actions [ id ] . operators [ effect . operatorId ]
288+ export const addEffect : Operator < EffectMessage > = action (
289+ ( { value : message , state } ) => {
290+ const effect = message . data
291+ const id = getActionId ( effect )
292+ const operator =
293+ state . apps [ message . appName ] . actions [ id ] . operators [ effect . operatorId ]
285294
286- operator . effects . push ( effect )
287- } )
295+ operator . effects . push ( effect )
296+ }
297+ )
288298
289- export const getMessages = map < Message , AppMessage < any > [ ] > ( ( { value } ) =>
290- value . messages . map ( ( message ) => ( { ...message , appName : value . appName } ) )
299+ export const getMessages : Operator < Message , AppMessage < any > [ ] > = map (
300+ ( { value } ) =>
301+ value . messages . map ( ( message ) => ( { ...message , appName : value . appName } ) )
291302)
292303
293- export const forkEachMessage = ( paths : {
294- [ key : string ] : Operator < AppMessage < any > , AppMessage < any > >
295- } ) => forEach < AppMessage < any > [ ] > ( fork ( ( { value } ) => value . type , paths ) )
304+ export const forkEachMessage : (
305+ paths : {
306+ [ key : string ] : Operator < AppMessage < any > , any >
307+ }
308+ ) => Operator < AppMessage < any > [ ] > = ( paths ) =>
309+ forEach ( fork ( ( { value } ) => value . type , paths ) as Operator < AppMessage < any > > )
296310
297311export const updateOperatorAsync = action < AsyncOperatorMessage > ( ( ) => { } )
0 commit comments