refactor🎨: (阅读代码):index.ts增加注释

master
yetao 2 weeks ago
parent ff1555e5ee
commit 24591cbfd7

@ -1,26 +1,44 @@
// 导入 redux 中的 Store 类型
import type { Store } from 'redux'; import type { Store } from 'redux';
// 导入用于在 VSCode 中添加监听器的函数
import { addListener } from '../vscode'; import { addListener } from '../vscode';
// 从 actions 模块中导入所有的 action 创建函数
import * as actions from './actions'; import * as actions from './actions';
// 导出 reducers 模块中的 reducer 函数
export { reducer } from './reducers'; export { reducer } from './reducers';
// 导出 state 模块中的所有内容
export * from './state'; export * from './state';
// 导出 actions 模块中的所有内容
export { actions }; export { actions };
/**
* Redux VSCode
* @param store - Redux
*/
export function initStore(store: Store) { export function initStore(store: Store) {
// 使用 addListener 函数添加一个监听器,当接收到消息时,会调用回调函数
addListener((msg) => { addListener((msg) => {
// 从消息中提取 navigation 对象
const { navigation } = msg; const { navigation } = msg;
// 根据 navigation 对象的 type 属性来判断消息类型,并分派相应的 action
switch (navigation.type) { switch (navigation.type) {
// 如果消息类型是 'newconfig',则分派 openNewConfig 动作
case 'newconfig': case 'newconfig':
return store.dispatch(actions.openNewConfig()); return store.dispatch(actions.openNewConfig());
// 如果消息类型是 'editconfig',则进一步处理
case 'editconfig': { case 'editconfig': {
// 从 navigation 对象中提取 config 属性
let { config } = navigation; let { config } = navigation;
// 如果 config 是一个数组,并且长度不为 1则分派 openConfigLocator 动作
if (Array.isArray(config)) { if (Array.isArray(config)) {
if (config.length !== 1) { if (config.length !== 1) {
return store.dispatch(actions.openConfigLocator(config, config[0].name)); return store.dispatch(actions.openConfigLocator(config, config[0].name));
} }
// 如果 config 是一个数组,并且长度为 1则将 config 数组的第一个元素赋值给 config 变量
config = config[0]; config = config[0];
} }
// 最后,分派 openConfigEditor 动作
return store.dispatch(actions.openConfigEditor(config)); return store.dispatch(actions.openConfigEditor(config));
} }
} }

Loading…
Cancel
Save