Size: a a a

2020 March 22

l

la gente está muy loca in ☄️ effector
🦉 ⁣
я бы просто использовал Symbol()
символ нельзя, потому что ɔ    означает конфигурацию, заданную пользователем, которую пришлось вложить в новую, созданную бабель-плагином

то есть, это происходит в модулях приложения, поэтому
1) дописывать новые импорты не всегда возможно
2) этот код должен быть максимально компактным

такой финт создан для того, чтобы быстро определять конфигурацию, у которой будет наивысший приоритет и при этом убедиться, что создать её можно только программно

то есть при использовании бабель-плагина такой код

const event = createEvent('foo')

станет таким

const event = createEvent({
 name: 'event',
 ɔ: 'foo',
})

и у эвента сохранится имя foo

а парсить аргументы клиента плагином нельзя потому что в общем случае они могут создаваться где угодно и по прежнему должны иметь наивысший приоритет при мерже конфигурации
источник

l

la gente está muy loca in ☄️ effector
такие символы — это самый краткий способ сказать dont_use_this_or_you_will_be_fired
источник

l

la gente está muy loca in ☄️ effector
ангуляр к примеру взял себе ɵ, а эффектор — символ, похожий на э
источник

l

la gente está muy loca in ☄️ effector
https://github.com/angular/angular/pull/30362 проблɵмы бɵлых люΔей
источник

🦉⁣

🦉 ⁣ in ☄️ effector
крайне странно
источник

l

la gente está muy loca in ☄️ effector
ну их тут слегка понесло
источник

l

la gente está muy loca in ☄️ effector
изначально их компилер просто использовал angular.ɵɵ для самого часто используемого метода
источник

l

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

l

la gente está muy loca in ☄️ effector
источник

l

la gente está muy loca in ☄️ effector
короче пришлось искать безотказный принцип, чтобы не приходилось подбирать решение для каждого кейса отдельно https://github.com/zerobias/effector/blob/master/src/babel/__tests__/__snapshots__/babel-plugin.test.js.snap#L297
источник

T

The Fallen Phoenix in ☄️ effector
В документации явно не проговаривается, что стор может иметь не более одного хэндлера на триггер (ref: createUnit.js#191), и что он перезаписывается при попытке указать второй. А это важно: так например, можно реализовать динамическое изменение поведения.
источник

T

The Fallen Phoenix in ☄️ effector
источник

T

The Fallen Phoenix in ☄️ effector
Вообще очень не хватает раздела о том, как чистить после себя граф, чтобы точно не оставить чего. Например, когда узел нужен только ограниченное время, и таких временных узлов через некоторое время в принципе хватит, чтобы забить всю память. Как гарантированно отменить все то, что было установлено при создании узла и при этом не сломать ничего?
источник

l

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

l

la gente está muy loca in ☄️ effector
The Fallen Phoenix
Вообще очень не хватает раздела о том, как чистить после себя граф, чтобы точно не оставить чего. Например, когда узел нужен только ограниченное время, и таких временных узлов через некоторое время в принципе хватит, чтобы забить всю память. Как гарантированно отменить все то, что было установлено при создании узла и при этом не сломать ничего?
апдейтнул on, добавил описание для store.off
источник

l

la gente está muy loca in ☄️ effector
The Fallen Phoenix
Вообще очень не хватает раздела о том, как чистить после себя граф, чтобы точно не оставить чего. Например, когда узел нужен только ограниченное время, и таких временных узлов через некоторое время в принципе хватит, чтобы забить всю память. Как гарантированно отменить все то, что было установлено при создании узла и при этом не сломать ничего?
clearNode(unit) уберёт так же и все его обработчики, мапы и прочее https://effector.now.sh/docs/api/effector/clearNode
источник

T

The Fallen Phoenix in ☄️ effector
Я понимаю. Вопрос, не уберет ли лишнего, если у меня есть некоторая часть графа, которая "вечная", и я еще хочу считать вычисляемые узлы, которые зависят от обоих сразу.
источник

T

The Fallen Phoenix in ☄️ effector
От временного узла и постоянной части.
источник

T

The Fallen Phoenix in ☄️ effector
Не хватает интуиции о том, как именно очистка распространяется по графу. В тестах есть намеки, можно разобраться по исходникам.
источник

T

The Fallen Phoenix in ☄️ effector
Но этому место в документации
источник