@sigi/core
Version:
Sigi core library
20 lines • 1.07 kB
JavaScript
import { __assign } from "tslib";
import { createActionDecorator, addSSREffectMeta, addActionToSkip } from './metadata';
export var DefineAction = createActionDecorator('DefineAction');
export var ImmerReducer = createActionDecorator('ImmerReducer');
export var Reducer = createActionDecorator('Reducer');
export var Effect = function (options) {
var effectDecorator = createActionDecorator('Effect');
if (options && (options.ssr || options.payloadGetter)) {
var _a = __assign({ payloadGetter: undefined, skipFirstClientDispatch: true }, options), payloadGetter_1 = _a.payloadGetter, skipFirstClientDispatch_1 = _a.skipFirstClientDispatch;
return function (target, propertyKey, descriptor) {
addSSREffectMeta(target, { action: propertyKey, payloadGetter: payloadGetter_1 });
if (skipFirstClientDispatch_1) {
addActionToSkip(target, propertyKey);
}
return Effect()(target, propertyKey, descriptor);
};
}
return effectDecorator();
};
//# sourceMappingURL=decorators.js.map