Size: a a a

2020 March 23

l

la gente está muy loca in ☄️ effector
la gente está muy loca
в эффекторе граф нод визуализируется в тестах, чтобы убедиться что мы не наплодили сами себе кучу проблем в этой области https://github.com/zerobias/effector/blob/master/src/effector/__tests__/__snapshots__/index.test.js.snap
там кстати такой визуализатор тоже есть, просто выключен
источник

VK

Valeriy Kobzar in ☄️ effector
la gente está muy loca
код визуально вполне делится на две секции
не понятно зачем там return result.map.....
источник

VK

Valeriy Kobzar in ☄️ effector
можно же сразу в result пихать нужное
источник

VK

Valeriy Kobzar in ☄️ effector
и избежать лишнего прохода по массиву
источник

l

la gente está muy loca in ☄️ effector
придётся вызывать getGraph в трёх местах в коде, по одному на каждый пуш
источник

l

la gente está muy loca in ☄️ effector
но наблюдение хорошее, возможно так даже лучше 👍
источник

l

la gente está muy loca in ☄️ effector
Valeriy Kobzar
можно же сразу в result пихать нужное
да, короче сейчас так и сделаю) спс
источник

l

la gente está muy loca in ☄️ effector
Valeriy Kobzar
не понятно зачем там return result.map.....
а, блин, тогда тут всё равно мап появится
источник

l

la gente está muy loca in ☄️ effector
но на том скрине этот фрагмент кода не уместился, да)
источник

VK

Valeriy Kobzar in ☄️ effector
la gente está muy loca
а, блин, тогда тут всё равно мап появится
есть ощущение, что там можно применить рекурсивный вызов это й функции
источник

VK

Valeriy Kobzar in ☄️ effector
но я пока не уверен
источник

l

la gente está muy loca in ☄️ effector
Valeriy Kobzar
есть ощущение, что там можно применить рекурсивный вызов это й функции
да, скорее всего
источник

VK

Valeriy Kobzar in ☄️ effector
const arrifyNodes = (list: Graphite | Graphite[] = [], result = []): Graph[] => {
 if (Array.isArray(list)) {
   for (let i = 0; i < list.length; i++) {
     if (Array.isArray(list[i]))
       arrifyNodes(list[i], result)
     else
       result.push(getGraph(list[i]))
   }
 } else {
   result.push(getGraph(list))
 }
 return result
}
источник

VK

Valeriy Kobzar in ☄️ effector
не оно?
источник

VK

Valeriy Kobzar in ☄️ effector
хотя хз, если это на производительность не влияет то возможно лучше map оставить
источник

VK

Valeriy Kobzar in ☄️ effector
в конце концов map понятнее, а списки вряд ли будут настолько огромными, чтобы думать об этом
источник

l

la gente está muy loca in ☄️ effector
Valeriy Kobzar
хотя хз, если это на производительность не влияет то возможно лучше map оставить
по ходу да)
источник

VK

Valeriy Kobzar in ☄️ effector
хотя конечно получилось симпатично :))
источник

VK

Valeriy Kobzar in ☄️ effector
не, ну ее на фиг эту рекурсию
источник

VK

Valeriy Kobzar in ☄️ effector
Valeriy Kobzar
const arrifyNodes = (list: Graphite | Graphite[] = [], result = []): Graph[] => {
 if (Array.isArray(list)) {
   for (let i = 0; i < list.length; i++) {
     if (Array.isArray(list[i]))
       arrifyNodes(list[i], result)
     else
       result.push(getGraph(list[i]))
   }
 } else {
   result.push(getGraph(list))
 }
 return result
}
хотя вот этот вариант уже должен быть рабочим по идее
источник