Skip to content

Instantly share code, notes, and snippets.

@doasync
Last active March 1, 2019 17:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save doasync/a4d2e49e27d9e2ad7b9017caa9463d39 to your computer and use it in GitHub Desktop.
Save doasync/a4d2e49e27d9e2ad7b9017caa9463d39 to your computer and use it in GitHub Desktop.
Effector: group events
const groupEvents = events => {
for (const fromEvent of events) {
const eventCreate = fromEvent.create;
fromEvent.create = (data, fullName, args) => {
const [meta = {}] = args;
if (meta !== null && !meta.single) {
for (const toEvent of events) {
if (toEvent !== fromEvent) {
toEvent(data, { single: true });
}
}
}
eventCreate(data, fullName, args);
};
}
};
// groupEvents([onInput, onChange]);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment