const modifyPostView = (ids: number[]) => {
return Effect.gen(function* (_) {
const newViews = yield* _(getNewViews(ids));
yield* _(
Effect.gen(function* (_) {
yield* _(addViewsToPosts(newViews));
if (newViews.length > 0) {
const posts = yield* _(fetchPostsByIds(ids));
const totalViews = calculateTotalViews(posts, newViews);
yield* _(addViewsToUsers(totalViews));
}
}).pipe(Effect.forkDaemon),
);
});
};
const modifyPostView = (ids: number[]) => {
return Effect.gen(function* (_) {
const newViews = yield* _(getNewViews(ids));
yield* _(
Effect.gen(function* (_) {
yield* _(addViewsToPosts(newViews));
if (newViews.length > 0) {
const posts = yield* _(fetchPostsByIds(ids));
const totalViews = calculateTotalViews(posts, newViews);
yield* _(addViewsToUsers(totalViews));
}
}).pipe(Effect.forkDaemon),
);
});
};