import { createAction, ActionFunctionAny, Action } from 'redux-actions'; export interface HelpNodeProps { name: string; action: ActionFunctionAny>; } export type HelpKeys = { [key in keyof T]: string }; export type HelpNode = { [key in keyof T]: HelpNodeProps }; /** * 创建普通 Node * @param modelName * @param keys */ export function initNode(modelName: string, keys: HelpKeys): HelpNode { const ModelName = modelName.toLocaleUpperCase(); const nodes = {} as HelpNode; Object.keys(keys).forEach((key) => { const actionName = `${ModelName}_ACTION:${keys[key]}`; let node = {} as HelpNodeProps; node.name = actionName; node.action = createAction(actionName); nodes[key] = node; }); return nodes; }