@aitianyu.cn/tianyu-store
Version:
tianyu storage for nodejs.
62 lines • 3.33 kB
JavaScript
;
/**@format */
Object.defineProperty(exports, "__esModule", { value: true });
exports.destroyStoreActionCreatorImpl = exports.createStoreActionCreatorImpl = exports.viewActionImpl = exports.actionImpl = void 0;
const types_1 = require("@aitianyu.cn/types");
const ActionHelper_1 = require("../../common/ActionHelper");
const OperatorHelper_1 = require("../../common/OperatorHelper");
const Action_1 = require("../../types/Action");
const Model_1 = require("../../types/Model");
const ActionBaseImpl_1 = require("./ActionBaseImpl");
function actionImpl(id, handler, reducer, external, actionType) {
const actionInstanceCaller = ((0, ActionBaseImpl_1.actionBaseImpl)(id, handler, actionType || Action_1.ActionType.ACTION, reducer, external));
actionInstanceCaller.asViewAction = function () {
return viewActionImpl(actionInstanceCaller.id, actionInstanceCaller.handler, actionInstanceCaller.reducer, actionInstanceCaller.external, actionType);
};
return actionInstanceCaller;
}
exports.actionImpl = actionImpl;
function viewActionImpl(id, handler, reducer, external, actionType) {
const actionInstanceCaller = (function (instanceId, params, viewInstanceId) {
return {
id: actionInstanceCaller.actionId,
action: actionInstanceCaller.info.fullName,
storeType: actionInstanceCaller.info.storeType,
transaction: false,
actionType: actionInstanceCaller.getType(),
viewInstanceId,
instanceId,
params,
};
});
actionInstanceCaller.id = id;
actionInstanceCaller.info = (0, OperatorHelper_1.defaultInfoGenerator)(Model_1.OperatorInfoType.ACTION);
actionInstanceCaller.actionId = actionInstanceCaller.id;
actionInstanceCaller.handler = handler;
actionInstanceCaller.reducer = reducer;
actionInstanceCaller.external = external;
actionInstanceCaller.getType = function () {
return actionType || Action_1.ActionType.VIEW_ACTION;
};
return actionInstanceCaller;
}
exports.viewActionImpl = viewActionImpl;
function createStoreActionCreatorImpl() {
const actionInstanceCaller = ((0, ActionBaseImpl_1.actionBaseImpl)((0, types_1.guid)(), (0, ActionHelper_1.createNonHandler)(), Action_1.ActionType.CREATE, (0, ActionHelper_1.createDefaultReducer)()));
actionInstanceCaller.withReducer = function (reducer) {
return actionImpl(actionInstanceCaller.id, actionInstanceCaller.handler, reducer, actionInstanceCaller.external, Action_1.ActionType.CREATE);
};
return actionInstanceCaller;
}
exports.createStoreActionCreatorImpl = createStoreActionCreatorImpl;
function destroyStoreActionCreatorImpl() {
const actionInstanceCaller = ((0, ActionBaseImpl_1.actionBaseImpl)((0, types_1.guid)(), (0, ActionHelper_1.createVoidHandler)(), Action_1.ActionType.DESTROY, function () {
return undefined;
}));
actionInstanceCaller.withReducer = function (reducer) {
return actionImpl(actionInstanceCaller.id, actionInstanceCaller.handler, reducer, actionInstanceCaller.external, Action_1.ActionType.DESTROY);
};
return actionInstanceCaller;
}
exports.destroyStoreActionCreatorImpl = destroyStoreActionCreatorImpl;
//# sourceMappingURL=ActionImpl.js.map