Size: a a a

TypeScript — русскоговорящее сообщество

2020 March 12

M

MaxGraey in TypeScript — русскоговорящее сообщество
ну а теперь сделай function join<TToken extends { kind: string }>(…). Вместо string можешь еще более уточнить. И будет у тебя работать только с типами у которых есть свойство kind, а не только пропсы. Плюс ты можешь еще и в рантайме проверить теперь соответствие структуры и типа объекта (ну или сделать сопоставление шаблону)
источник

YD

Yakov Dalinchuk in TypeScript — русскоговорящее сообщество
MaxGraey
ну а теперь сделай function join<TToken extends { kind: string }>(…). Вместо string можешь еще более уточнить. И будет у тебя работать только с типами у которых есть свойство kind, а не только пропсы. Плюс ты можешь еще и в рантайме проверить теперь соответствие структуры и типа объекта (ну или сделать сопоставление шаблону)
Хороший вариант, но он мне тоже несколько не подходит. А если так подумать, что задача простая - принимать объект которые принадлежит одному из конкрентых типов и вторым аргументом список свойств этого объекта… Не ужели это сложно сделать в тайпскприте?
источник

M

MaxGraey in TypeScript — русскоговорящее сообщество
Yakov Dalinchuk
Хороший вариант, но он мне тоже несколько не подходит. А если так подумать, что задача простая - принимать объект которые принадлежит одному из конкрентых типов и вторым аргументом список свойств этого объекта… Не ужели это сложно сделать в тайпскприте?
А ты вообще представляешь как бы ты такое сделал в другом ЯП? Ocaml, Haskell, Rust например?
источник

YD

Yakov Dalinchuk in TypeScript — русскоговорящее сообщество
MaxGraey
А ты вообще представляешь как бы ты такое сделал в другом ЯП? Ocaml, Haskell, Rust например?
У меня нет опыта. Я просто смотрю на саму задачу и мне кажется она не такая сложная.
источник

M

MaxGraey in TypeScript — русскоговорящее сообщество
Учитывай еще, что TS полностью построен на структурной типизации
источник

VS

Vitalii Solodilov in TypeScript — русскоговорящее сообщество
Yakov Dalinchuk
Хороший вариант, но он мне тоже несколько не подходит. А если так подумать, что задача простая - принимать объект которые принадлежит одному из конкрентых типов и вторым аргументом список свойств этого объекта… Не ужели это сложно сделать в тайпскприте?
А чем тебе extends не подошел?
источник

YD

Yakov Dalinchuk in TypeScript — русскоговорящее сообщество
Потому что у меня внутри этой функции используется другая (`join`), которая как раз принимает только определенные типы (`Tokens.AnyToken`)
источник

M

MaxGraey in TypeScript — русскоговорящее сообщество
Так ты покажи сигнатуру этой функции хотя бы
источник

YD

Yakov Dalinchuk in TypeScript — русскоговорящее сообщество
MaxGraey
Так ты покажи сигнатуру этой функции хотя бы
я показал. или ты про join?
источник

M

MaxGraey in TypeScript — русскоговорящее сообщество
про join
источник

YD

Yakov Dalinchuk in TypeScript — русскоговорящее сообщество
источник

YD

Yakov Dalinchuk in TypeScript — русскоговорящее сообщество
Она тоже простая
источник

Ti

Time is the side effect in TypeScript — русскоговорящее сообщество
export default
источник

AB

Alexander Bareyko in TypeScript — русскоговорящее сообщество
Ты перешёл на темную сторону?
источник

Ti

Time is the side effect in TypeScript — русскоговорящее сообщество
Alexander Bareyko
Ты перешёл на темную сторону?
Не)))
источник

A

Alex CherryTea in TypeScript — русскоговорящее сообщество
источник

YD

Yakov Dalinchuk in TypeScript — русскоговорящее сообщество
похоже я чего-то не знаю
источник

A

Alex CherryTea in TypeScript — русскоговорящее сообщество
@risenforces сходи побей авторов этого рула для еслинта ))
источник

Ti

Time is the side effect in TypeScript — русскоговорящее сообщество
Да, конченное правило
Специально для аирбнб сделали походу
источник

Ti

Time is the side effect in TypeScript — русскоговорящее сообщество
Yakov Dalinchuk
похоже я чего-то не знаю
источник