Size: a a a

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

2021 January 18

АИ

Артем Ильченко... in TypeScript — русскоговорящее сообщество
Apache DOG™
В тс есть механизмы каста жс обьектов  в интерфейсы ТС?
typeof obj
источник

И

Иван in TypeScript — русскоговорящее сообщество
Apache DOG™
В тс есть механизмы каста жс обьектов  в интерфейсы ТС?
const foo = { bar: 0 } as const

type Foo = typeof foo
источник

AD

Apache DOG™ in TypeScript — русскоговорящее сообщество
у меня нет foo в исходном коде, он ко мне подсовывается в рантайме
источник

AD

Apache DOG™ in TypeScript — русскоговорящее сообщество
т.е. ваять обычный тайпкаст as и проверять результат?
источник

YK

Yuri Kostin in TypeScript — русскоговорящее сообщество
TS-а в рантайме нет
источник

И

Иван in TypeScript — русскоговорящее сообщество
Apache DOG™
у меня нет foo в исходном коде, он ко мне подсовывается в рантайме
тайпскрипта нет в рантайме. вычислять типы из динамических данных нет смысла, потому что в тс нет динамики
источник

AD

Apache DOG™ in TypeScript — русскоговорящее сообщество
мне нужно 1) вызвать метод из API 2) проверить результат
источник

И

Иван in TypeScript — русскоговорящее сообщество
Apache DOG™
мне нужно 1) вызвать метод из API 2) проверить результат
гугли custom type guards. или возьми готовое под это дело — yup, joi, io-ts
источник

AD

Apache DOG™ in TypeScript — русскоговорящее сообщество
депенденси тоже бы желательно 0 результат надо собирать в один файлик, по этому и пишу ручками
источник

AT

Alex Tuor4eg in TypeScript — русскоговорящее сообщество
Всем привет
Подскажите как правильно в TS описать класс, где в конструкторе выполняются некоторые операции? Например:
export class App {
 constructor() {
   this.express = express();

как в этом случае описать this.express?
источник

M

Mike in TypeScript — русскоговорящее сообщество
class App {
  express: нужный тип
  constructor()...
источник

И

Иван in TypeScript — русскоговорящее сообщество
Alex Tuor4eg
Всем привет
Подскажите как правильно в TS описать класс, где в конструкторе выполняются некоторые операции? Например:
export class App {
 constructor() {
   this.express = express();

как в этом случае описать this.express?
express: ReturnType<typeof express>
источник

И

Иван in TypeScript — русскоговорящее сообщество
Apache DOG™
депенденси тоже бы желательно 0 результат надо собирать в один файлик, по этому и пишу ручками
если надо собирать в один файлик, то нужно сборщик настроить. а не ручками писать)
источник

AT

Alex Tuor4eg in TypeScript — русскоговорящее сообщество
Иван
express: ReturnType<typeof express>
ага, спасибо, работает
а вынести это в интерфейс чтобы не писать внутри класса возможно?
источник

И

Иван in TypeScript — русскоговорящее сообщество
Alex Tuor4eg
ага, спасибо, работает
а вынести это в интерфейс чтобы не писать внутри класса возможно?
type alias
источник

И

Иван in TypeScript — русскоговорящее сообщество
Alex Tuor4eg
ага, спасибо, работает
а вынести это в интерфейс чтобы не писать внутри класса возможно?
а. в интерфейс
источник

И

Иван in TypeScript — русскоговорящее сообщество
Alex Tuor4eg
ага, спасибо, работает
а вынести это в интерфейс чтобы не писать внутри класса возможно?
ну да, возможно. пробовал?
источник

AT

Alex Tuor4eg in TypeScript — русскоговорящее сообщество
ну я вот сделал интерфейс
interface AppInterface {
 express: any
}

и потом class App implements AppInterface
так не работает, или я неправильно понял?
источник

AT

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

ВЛ

Владимир Линкевич... in TypeScript — русскоговорящее сообщество
тебе нужно было опить внутри класса
источник