@aitianyu.cn/tianyu-store
Version:
tianyu storage for nodejs.
29 lines • 1.56 kB
JavaScript
;
/**@format */
Object.defineProperty(exports, "__esModule", { value: true });
exports.actionCreatorImpl = void 0;
const types_1 = require("@aitianyu.cn/types");
const ActionHelper_1 = require("../../common/ActionHelper");
const Action_1 = require("../../types/Action");
const ActionBaseImpl_1 = require("./ActionBaseImpl");
const ActionExternalImpl_1 = require("./ActionExternalImpl");
const ActionHandlerImpl_1 = require("./ActionHandlerImpl");
const ActionImpl_1 = require("./ActionImpl");
function actionCreatorImpl() {
const actionInstanceCaller = ((0, ActionBaseImpl_1.actionBaseImpl)((0, types_1.guid)(), (0, ActionHelper_1.createNonHandler)(), Action_1.ActionType.ACTION));
actionInstanceCaller.withHandler = function (handler) {
return (0, ActionHandlerImpl_1.actionHandlerImpl)(actionInstanceCaller.id, handler);
};
actionInstanceCaller.withReducer = function (reducer) {
return (0, ActionImpl_1.actionImpl)(actionInstanceCaller.id, actionInstanceCaller.handler, reducer);
};
actionInstanceCaller.withExternal = function (externalOperator) {
return (0, ActionExternalImpl_1.actionExternalImpl)(actionInstanceCaller.id, externalOperator);
};
actionInstanceCaller.asViewAction = function () {
return (0, ActionImpl_1.viewActionImpl)(actionInstanceCaller.id, actionInstanceCaller.handler, actionInstanceCaller.reducer);
};
return actionInstanceCaller;
}
exports.actionCreatorImpl = actionCreatorImpl;
//# sourceMappingURL=ActionCreatorImpl.js.map