@modern-js-reduck/plugin-auto-actions
Version:
The meta-framework suite designed from scratch for frontend-focused modern web development.
22 lines (21 loc) • 725 B
JavaScript
import { createPlugin, utils } from "@modern-js-reduck/store";
import { mergeActions } from "./utils";
import * as primitiveActions from "./primitive";
import * as arrayActions from "./array";
import { createObjectActions } from "./object";
export default createPlugin(() => ({
prepareModelDesc(modelDesc) {
const initialState = modelDesc.state;
const type = utils.getStateType(initialState);
if (type === "primitive") {
return mergeActions(modelDesc, primitiveActions);
}
if (type === "array") {
return mergeActions(modelDesc, arrayActions);
}
if (type === "object") {
return mergeActions(modelDesc, createObjectActions(modelDesc.state));
}
return modelDesc;
}
}));