Size: a a a

Atomic Design && Feature Slices

2021 January 28

c⁣

createStore<🦉>... in Atomic Design && Feature Slices
он располагается в common
источник

c⁣

createStore<🦉>... in Atomic Design && Feature Slices
если ты посмотришь
источник

AI

Arthur Irgashev in Atomic Design && Feature Slices
Ну вот у меня есть нпм с твоим кодом. Там идёт персистинг кук, хотя я этого не ожидаю. Мне лезть в кишки нпм ?
источник

c⁣

createStore<🦉>... in Atomic Design && Feature Slices
Arthur Irgashev
Ну вот у меня есть нпм с твоим кодом. Там идёт персистинг кук, хотя я этого не ожидаю. Мне лезть в кишки нпм ?
бля
источник

AI

Arthur Irgashev in Atomic Design && Feature Slices
Я об этом
источник

c⁣

createStore<🦉>... in Atomic Design && Feature Slices
не надо подменять
источник

c⁣

createStore<🦉>... in Atomic Design && Feature Slices
мы начали о том, что есть серверная реализация
источник

c⁣

createStore<🦉>... in Atomic Design && Feature Slices
и клиентская
источник

c⁣

createStore<🦉>... in Atomic Design && Feature Slices
теперь обсуждаем КОНКРЕТНУЮ реализацию для ССР
источник

c⁣

createStore<🦉>... in Atomic Design && Feature Slices
никто не будет выносить в нпм код с персистингом кук
источник

c⁣

createStore<🦉>... in Atomic Design && Feature Slices
но при этом можно унести код requestInternalFx
источник

c⁣

createStore<🦉>... in Atomic Design && Feature Slices
и построить обычный пайплайн
источник

c⁣

createStore<🦉>... in Atomic Design && Feature Slices
ещё раз разница

мой пример:
user -> request -> abstraction ( -> adapter)

ваш пример:
user -> request -> (***) -> adapter

и проблема этих звездочек, что код интерсептора может быть ГДЕ УГОДНО. и там может быть абсолютно всё что угодно.
для читающего код всё выглядит так:
user -> request -> adapter

но на деле там может происходить всё что угодно
источник

c⁣

createStore<🦉>... in Atomic Design && Feature Slices
Arthur Irgashev
Фига се, это транспорт, который очень отличается. И дело в том, что у тебя в зависимости от транспорта может пойти что-то не так
так с интерсепторами ты полностью теряешь такую возможность.
ты просто втыкаешь интерсептор в любой момент

притом, что зачастую важен ещё порядок добавления
ведь иначе может сломаться
источник

AI

Arthur Irgashev in Atomic Design && Feature Slices
createStore<🦉> ⁣
ещё раз разница

мой пример:
user -> request -> abstraction ( -> adapter)

ваш пример:
user -> request -> (***) -> adapter

и проблема этих звездочек, что код интерсептора может быть ГДЕ УГОДНО. и там может быть абсолютно всё что угодно.
для читающего код всё выглядит так:
user -> request -> adapter

но на деле там может происходить всё что угодно
для юзера, который вызывает код, выглядит всё вот так
user -> call -> response

и всё, что происходит между call и response, хоть с твоим реквестом, хоть с аксиосом, будет неявно до тех пор, пока не полезешь в кишки
источник

c⁣

createStore<🦉>... in Atomic Design && Feature Slices
Arthur Irgashev
для юзера, который вызывает код, выглядит всё вот так
user -> call -> response

и всё, что происходит между call и response, хоть с твоим реквестом, хоть с аксиосом, будет неявно до тех пор, пока не полезешь в кишки
проблема именно в процессе полезания в кишки
источник

c⁣

createStore<🦉>... in Atomic Design && Feature Slices
в моем случае код модифицирующий запрос
лежит буквально в обертке

его крайне легко найти
источник

c⁣

createStore<🦉>... in Atomic Design && Feature Slices
удачи найти все использования axios.interceptors.response.use в проекте
источник

c⁣

createStore<🦉>... in Atomic Design && Feature Slices
и вообще, надо вспомнить, что интерсепторы есть
и используются в проекте
и сколько их
и написал ли кто поверх них абстракцию
источник

c⁣

createStore<🦉>... in Atomic Design && Feature Slices
посмотри на разницу в трудозатратах:
1. посмотреть исходник обертки
2. найти все интерсепторы, понять время их применения, изучить исходник каждого, сложить их эффекты в голове
источник