Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Шортхенды для вызова query после мутаций и / или других query (операторы success, failure) #472

Open
xaota opened this issue Apr 9, 2024 · 2 comments

Comments

@xaota
Copy link

xaota commented Apr 9, 2024

Часто требуется загружать данные после получения других данных или (ещё чаще) обновлять их после мутаций

Текущая реализация (даже с учетом #465) слишком многословна. А если требуется делать mapParams, то наступает полный мрак.

Идея - базовые операторы success и failure для простого описания порядка запросов

пример:

const queryFirst = createQuery(...);
const querySecond = createQuery(...);

const mutationFirst = createMutation(...);
const mutationSecond = createMutation(...);

success(queryFirst, querySecond, mapParams?) // после успеха queryFirst будет вызов querySecond (и mapParams тут же)
failure(mutationFirst, queryFirst, mapParams?) //  в случае неудачи mutationFirst надо перезапросить queryFirst

// и так далее
@igorkamyshev
Copy link
Owner

igorkamyshev commented Apr 16, 2024

Чем плоха форма

update(query, { on: mutation, by: { success: true } })

?

Не понимаю, почему это должен быть новый оператор, который явно дублирует часть функциональности оператор update.

Напиши, пожалуйста RFC, в котором будут пояснения о дизайне, рассмотренные варианты дизайна, их плюсы и минусы.

https://github.com/igorkamyshev/farfetched/blob/master/CONTRIBUTING.md

@xaota
Copy link
Author

xaota commented Apr 22, 2024

update(query, { on: mutation, by: { success: true } })
  1. эта запись РЕЗКО усложняется, если требуется mapParams, например
  2. а можно сделать update(query: querySecond, on: { query: queryFirst, by: ... })? как будто бы в терминах этого оператора не очень хорошая идея

вообще идея в том что это просто шортхенд для самых частых кейсов типа
success(mutationFirst, querySecond), можно такими короткими кирпичиками описать флоу запросов, и читать очень удобно

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants