diff options
Diffstat (limited to 'src/actions/lib/actions.ts')
-rw-r--r-- | src/actions/lib/actions.ts | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/actions/lib/actions.ts b/src/actions/lib/actions.ts index 412a0d895..378cef574 100644 --- a/src/actions/lib/actions.ts +++ b/src/actions/lib/actions.ts | |||
@@ -1,4 +1,27 @@ | |||
1 | export const createActionsFromDefinitions = (actionDefinitions, validate) => { | 1 | import PropTypes from 'prop-types'; |
2 | |||
3 | export interface ActionDefinitions { | ||
4 | [key: string]: { | ||
5 | [key: string]: PropTypes.InferType<any>; | ||
6 | }; | ||
7 | } | ||
8 | |||
9 | export interface Actions { | ||
10 | [key: string]: { | ||
11 | [key: string]: { | ||
12 | (...args: any[]): void; | ||
13 | listeners: Array<Function>; | ||
14 | notify: (params: any) => void; | ||
15 | listen: (listener: (params: any) => void) => void; | ||
16 | off: (listener: (params: any) => void) => void; | ||
17 | }; | ||
18 | }; | ||
19 | } | ||
20 | |||
21 | export const createActionsFromDefinitions = ( | ||
22 | actionDefinitions: ActionDefinitions, | ||
23 | validate: any, | ||
24 | ) => { | ||
2 | const actions = {}; | 25 | const actions = {}; |
3 | // eslint-disable-next-line unicorn/no-array-for-each | 26 | // eslint-disable-next-line unicorn/no-array-for-each |
4 | Object.keys(actionDefinitions).forEach(actionName => { | 27 | Object.keys(actionDefinitions).forEach(actionName => { |