UNPKG

@sigi/react

Version:

React bindings for sigi framework

55 lines 1.95 kB
import { __decorate, __metadata } from "tslib"; import { Effect, EffectModule, ImmerReducer, Module } from '@sigi/core'; import { endWith, map, mergeMap, Observable, switchMap, timer } from 'rxjs'; let CountModule = class CountModule extends EffectModule { constructor() { super(...arguments); this.defaultState = { count: 0, name: '' }; } setCount(state, count) { state.count = count; } setName(state, name) { state.name = name; } getCount(payload$) { return payload$.pipe(mergeMap(() => timer(20).pipe(map(() => this.getActions().setCount(1)), endWith(this.terminate())))); } skippedEffect(payload$) { return payload$.pipe(switchMap((name) => timer(20).pipe(map(() => this.getActions().setName(name)), endWith(this.terminate())))); } }; __decorate([ ImmerReducer(), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, Number]), __metadata("design:returntype", void 0) ], CountModule.prototype, "setCount", null); __decorate([ ImmerReducer(), __metadata("design:type", Function), __metadata("design:paramtypes", [Object, String]), __metadata("design:returntype", void 0) ], CountModule.prototype, "setName", null); __decorate([ Effect({ ssr: true, }), __metadata("design:type", Function), __metadata("design:paramtypes", [Observable]), __metadata("design:returntype", void 0) ], CountModule.prototype, "getCount", null); __decorate([ Effect({ payloadGetter: (ctx, skip) => ctx.url || skip, skipFirstClientDispatch: false, }), __metadata("design:type", Function), __metadata("design:paramtypes", [Observable]), __metadata("design:returntype", void 0) ], CountModule.prototype, "skippedEffect", null); CountModule = __decorate([ Module('CountModule') ], CountModule); export { CountModule }; //# sourceMappingURL=count.module.js.map