Size: a a a

2020 October 12

PM

Pavel 🦇 Malyshev in Svelte [svelt]
это варнинг о том, что данный селектор не используется в шаблоне компонента и будет удален после компиляции
источник

М

Макс in Svelte [svelt]
Однако, он используется
источник

М

Макс in Svelte [svelt]
Такие ворнинги проскакивают даже в местах, где кода нет. Просто enter
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
это может быть просто строчки не верные подсвечиваются. такое бывает к сожалению
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
вообще если уверен что используется, значит видимо не понимает финальный селектор.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
ты прописывал пусть до node рантайма в настройки расширения VS Code?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
для scss используешь svelte-preprocess?
источник

М

Макс in Svelte [svelt]
использую, да. svelte.config.js имеется. Однако, здесь нужен путь до node рантайма?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Макс
использую, да. svelte.config.js имеется. Однако, здесь нужен путь до node рантайма?
ага
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
типа если юзаешь node-sass и не прописать сюда путь до рантайма ноды, то он будет юзать ноду которую юзает электрон-приложение vs code
источник

RS

Ruslan Shakirov in Svelte [svelt]
function safe_not_equal(a, b) {
 return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');
}
источник

RS

Ruslan Shakirov in Svelte [svelt]
Для чего тут a != a ?
источник

RS

Ruslan Shakirov in Svelte [svelt]
Проверяем является ли первый аргумент NaN ?
источник

n

neadmin in Svelte [svelt]
Pavel 🦇 Malyshev
А точнее?
Все классы либы наследуются от некого Observable.
Таким образов у всех потомков есть события change и error.
С событиями почти все решается тремя строчками кода: дополнение списка событий недостающими, подписка на список событий при создании компоненты и отписка при уничтожении.
Утилиты рулят, хотя эти три строчки приходится дублировать во всех комопнентах (пока только тех, где это нужно уже сейчас, а просто в теории).

Но есть методы, типа changed и dispatchEvent, scale, simplify, transform, translate и т.д. с переменным числом параметров.
Не все преобразования данных можно повторить, а затем предать измененные данные в компонент.
И потом, много времени уходит внутри либы на перевод из входного формата во внутренний и перерисовку (в некоторых случаях объект либы пересоздается, т.к. изменение не всех параметром предусмотрено после создания экземпляра) - использование этих функций дает значительное ускорение.

Описание каждой из функций, это примерно три строчки:
`export function simplify( arg0, arg1, arg2, arg3 ) {
  return _unit.simplify( arg0, arg1, arg2, arg3 );
}`
И так 5-10 раз в 20-30 компонентах... иногда с добавлением каких-то проверок или ожидания.
Этим методы нужны для решения задач. Они занимают вроде бы не много места, зато дублируются в паре десятков компонентов...

Можно вставлять в слот доп.комопнент, отвечающий за вызов той или иной функции родителя. Но не все функции обратимы, и, казалось бы логичная отмена функции удалением из слота не всегда возможна, либо требует дополнительного расхода памяти для хранения исходного состояния данных. Да и просто странным выглядит вызов функции компонента генерацией вложенного компонента, ведь бывает нужно вызвать одну функцию, а бывает нужна последовательнось, при том что некоторые завершаются не синхронно... за несколько часов работы получится длинная портянка вложенных компонентов. Можно обойтись и одним копонентом, если забить на обратимость функции, как при вызове экспортной функции и даже ловить return через событие... Такая схема сильно усложняет код.

Есть мнение, что нужно написать одну функцию, аля getUnit - возвращающею экземпляр созданного в компоненте объекта либы и дальше в коде творить все что вздумается, но опять же эту функцию требуется повторить в каждом помпоненте-обертке... а хотелось бы написать один раз и унаследовать...

Т.е. в идеале нужно что бы у всех копонент экспортировалась минимум одна, одна и та же (возвращающая экземпляр объекта созданного в компоненте) , функция, а при onMount / onDestroy дергались функции подписки и отписки от событий...

Это легко решается наследованием, но его нет...
А как это решить композицией компонентов?
источник

n

neadmin in Svelte [svelt]
ух ты... что то много написал 🤗
источник

n

neadmin in Svelte [svelt]
... и это только вершина айсберга ((
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
честно говоря не понял какое отношение это имеет к свелт)
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
что это вообще за методы такие, классы, обсервераблы )
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
такое ощущение, что какое-то решение на наследовании пытаются натянуть на композицию
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
а это принципиально разные подходы имхо
источник