Size: a a a

2020 July 04

TG

Timofey Goncharov in ☄️ effector
пытаюсь указать для переменной type Event который не принимает аргументы. а Event принимает обязательно дженерик. как быть?

Event<void> сделал и вроде прокатило
источник

AO

Aleksandr Osipov in ☄️ effector
Furrya Black
Это как классическая типизация и typescript) Вроде система типов, а вроде бэк с С# смотрит и глаза округляет.
А что с системой типов в TS не так, ну кроме того что она не очень дружна с номинальной типизацией, что в js то не особо надо
источник

AO

Aleksandr Osipov in ☄️ effector
Ну и есть там вариантностью нюансы
источник

AO

Aleksandr Osipov in ☄️ effector
Я правда в TS не специалист, просто интересно что не так с ним
источник

FB

Furrya Black in ☄️ effector
Aleksandr Osipov
Я правда в TS не специалист, просто интересно что не так с ним
Ну хз, вот про ооп в js и ts, который на выходе js
ts вообще не дружит с номинальной типизаций, он про структурную типизацию
class One {
 private field: String = 'private'
}

const one: One = new One()

// Type '2' is not assignable to type 'String'.
// Property 'field' is private and only accessible within class 'One'.
// one.field = 2

// Ok
// one.field = '2'

// Property 'field' is private and only accessible within class 'One'. yet
// Ok

one['field'] = '2'
// private? no problem =)
источник

FB

Furrya Black in ☄️ effector
Про приемы номинальной типизации в ts - это не про тс, это про то "как в тс сделать похожее поведение"
источник

AO

Aleksandr Osipov in ☄️ effector
Вообще странно что они ну можно сказать забили про номинальную типизацию
источник

FB

Furrya Black in ☄️ effector
просто в js это не надо (по их мнению это не приоритетная задача для тс)
источник

AO

Aleksandr Osipov in ☄️ effector
Наверное
источник

AO

Aleksandr Osipov in ☄️ effector
Но ведь для кого-то сделали синтаксис классов
источник

AO

Aleksandr Osipov in ☄️ effector
Но это не к TS а к tc39
источник

AO

Aleksandr Osipov in ☄️ effector
Хз зачем оно на фронте
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Timofey Goncharov
как формируется sid где можно подробнее узнать?
sid — это хэш от строки, содержащей позицию юнита в исходном коде, то есть

const foo = createEvent()

будет последовательно трансформирован в

const foo = createEvent({
 sid: '[0, 13] index.js'
})


и наконец в

const foo = createEvent({
 sid: '-l4shnk'
})
источник

D

Draft in ☄️ effector
🚀🔬 🚀🔬🚀🔬
sid — это хэш от строки, содержащей позицию юнита в исходном коде, то есть

const foo = createEvent()

будет последовательно трансформирован в

const foo = createEvent({
 sid: '[0, 13] index.js'
})


и наконец в

const foo = createEvent({
 sid: '-l4shnk'
})
а обратная трансформация возможна?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Draft
а обратная трансформация возможна?
в теории нет, на практике же, если тебе требуется локация для обработки через код, то с опцией бабель-плагина addLoc: true, она будет проставлена рядом с сидом в поле loc
источник

D

Draft in ☄️ effector
🚀🔬 🚀🔬🚀🔬
в теории нет, на практике же, если тебе требуется локация для обработки через код, то с опцией бабель-плагина addLoc: true, она будет проставлена рядом с сидом в поле loc
Понял, спасибо
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
к примеру, с помощью этого работает кликабельный аутлайн в репле и effector-inspector
источник

TG

Timofey Goncharov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
sid — это хэш от строки, содержащей позицию юнита в исходном коде, то есть

const foo = createEvent()

будет последовательно трансформирован в

const foo = createEvent({
 sid: '[0, 13] index.js'
})


и наконец в

const foo = createEvent({
 sid: '-l4shnk'
})
а если у меня какая-то фабрика которая создает евенты для разных нужд в одном и том же месте?
источник

🚀🚀

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

TG

Timofey Goncharov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
с фабриками сложнее, конфигурация фабрики для ssr смещает удобство работы в сторону инлайн-решений
а sid не юзается нигде кроме как в fork?
источник