Size: a a a

2020 June 13

c⁣

createStore<🦉>... in ☄️ effector
я мигрирую throttle
и сразу делаю ему объектную форму
с поддержкой sid, loc и прочего
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
createStore<🦉> ⁣
я мигрирую throttle
и сразу делаю ему объектную форму
с поддержкой sid, loc и прочего
там надо тогда предусмотреть возможность разворачивания вложенного конфига, в эффекторе это поле config
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
как работает бабель-плагин: он обходит код модуля, видит вызов подходящей ему функции и далее смотрит, с чем она вызвана: если ни одного аргумента нет, то можно класть свой конфиг как есть, эта ситуация на скринах выше
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
ни значения ни тип аргументов выводить нельзя, они — полностью непрозрачные объекты, их можно только вытащить и положить в поле
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
источник

c⁣

createStore<🦉>... in ☄️ effector
а если у меня объектная форма изначально?
источник

c⁣

createStore<🦉>... in ☄️ effector
нужно чекать этот странный символ и только потом разворачивать?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
и если нормализация конфига create* методов уже есть, то общий алгоритм нормализации конфига из вложенных массивов до сих пор не известен)
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
createStore<🦉> ⁣
а если у меня объектная форма изначально?
если только объектная форма, то да
источник

c⁣

createStore<🦉>... in ☄️ effector
🚀🔬 🚀🔬🚀🔬
и если нормализация конфига create* методов уже есть, то общий алгоритм нормализации конфига из вложенных массивов до сих пор не известен)
может вытащить normalizeConfig в публичное апи эффектора?
источник

c⁣

createStore<🦉>... in ☄️ effector
🚀🔬 🚀🔬🚀🔬
если только объектная форма, то да
тут не понял.

то есть можно сразу фигачить:
function throttle({ timeout, source, name, sid, loc })
?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
createStore<🦉> ⁣
может вытащить normalizeConfig в публичное апи эффектора?
да, только для начала надо найти решение для этой задачи 😄 парсинг конфига sample связан с его валидацией
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
createStore<🦉> ⁣
тут не понял.

то есть можно сразу фигачить:
function throttle({ timeout, source, name, sid, loc })
?
да, тут нужно понять принцип нормализации обычного конфига
источник

c⁣

createStore<🦉>... in ☄️ effector
🚀🔬 🚀🔬🚀🔬
да, тут нужно понять принцип нормализации обычного конфига
так
а что есть part?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
исходный конфиг метода, а аргумент config всегда начинается с {}
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
getConfig чтение поля config, getNestedConfig — поля ɔ
источник

c⁣

createStore<🦉>... in ☄️ effector
на данный момент я сломался
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
погоди, ето не всё 😁😁
источник

c⁣

createStore<🦉>... in ☄️ effector
🥺
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
🚀🔬 🚀🔬🚀🔬
да, тут нужно понять принцип нормализации обычного конфига
то, что положено в поле config будет прочитано раньше всего остального тела конфига, то, что положено в поле ɔ — позже всех, то есть это можно представить как

return {
 ...part.config,
 ...part,
 ...part.ɔ
}


а так как в поле ɔ кладутся  аргументы из исходного кода, то они всегда перезаписывают программные значения, к примеру в кейсе с явным name
источник