tripnomics_7.5.5/public/app/features/variables/inspect/reducer.ts
venbatechnologies@gmail.com 91fce5c4bf Initial commit
2021-07-05 13:49:40 +05:30

47 lines
1.3 KiB
TypeScript

import { UsagesToNetwork, VariableUsageTree } from './utils';
import { createSlice, PayloadAction } from '@reduxjs/toolkit';
export interface VariableInspectState {
unknown: VariableUsageTree[];
usages: VariableUsageTree[];
unknownsNetwork: UsagesToNetwork[];
usagesNetwork: UsagesToNetwork[];
unknownExits: boolean;
}
export const initialVariableInspectState: VariableInspectState = {
unknown: [],
usages: [],
unknownsNetwork: [],
usagesNetwork: [],
unknownExits: false,
};
const variableInspectReducerSlice = createSlice({
name: 'templating/inspect',
initialState: initialVariableInspectState,
reducers: {
initInspect: (
state,
action: PayloadAction<{
unknown: VariableUsageTree[];
usages: VariableUsageTree[];
unknownsNetwork: UsagesToNetwork[];
usagesNetwork: UsagesToNetwork[];
unknownExits: boolean;
}>
) => {
const { unknown, usages, unknownExits, unknownsNetwork, usagesNetwork } = action.payload;
state.usages = usages;
state.unknown = unknown;
state.unknownsNetwork = unknownsNetwork;
state.unknownExits = unknownExits;
state.usagesNetwork = usagesNetwork;
},
},
});
export const variableInspectReducer = variableInspectReducerSlice.reducer;
export const { initInspect } = variableInspectReducerSlice.actions;