aboutsummaryrefslogtreecommitdiffstats
path: root/src/actions/lib/actions.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/actions/lib/actions.ts')
-rw-r--r--src/actions/lib/actions.ts25
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 @@
1export const createActionsFromDefinitions = (actionDefinitions, validate) => { 1import PropTypes from 'prop-types';
2
3export interface ActionDefinitions {
4 [key: string]: {
5 [key: string]: PropTypes.InferType<any>;
6 };
7}
8
9export 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
21export 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 => {