import { app, effects } from 'ferp';
const clickSubscription = (dispatch, selector, clickAction) => {
const elements = Array.from(
document.querySelectorAll(selector),
const onClick = (event) => {
dispatch(clickAciton(event));
elements.forEach((element) => {
element.addEventListener('click', onClick);
elements.forEach((element) => {
element.removeEventListener('click', onClick);
const ClickAction = (event) => (state) => [
{ ...state, mouse: { x: event.clientX, y: event.clientY } },
domQuerySelectors: ['button.with-click', 'a.with-click'],
...state.domQuerySelectors.map(selector => (
[clickSubscription, selector, myEffectGenerator]