
Сергей
17.05.2017
13:23:27

Mike
17.05.2017
13:23:36
лол))
а чего, vscode уже моветон?

Narek
17.05.2017
13:24:10

Vasiliy
17.05.2017
13:24:19
спасибо за книжки!

Google

Mike
17.05.2017
13:24:22
а, ну это да

Narek
17.05.2017
13:25:27
Кстати, а кто как сериализует/десериализует модели?

Nikolay
17.05.2017
13:25:42
ну а как же, надо о чем-то написать на 200+ страниц. иначе не солидно как-то)

Anton
17.05.2017
13:26:14

Сергей
17.05.2017
13:27:41
ребят

Дмитрий
17.05.2017
13:27:46

Сергей
17.05.2017
13:27:51
как описать геттер в классе, который возвращает промис

Max
17.05.2017
13:28:16
:Promise<string>
не?

Narek
17.05.2017
13:28:32
ну да

Сергей
17.05.2017
13:28:49
[ts] An accessor cannot be declared in an ambient context.
я в d.ts пишу

Google

Max
17.05.2017
13:29:04
а я разу в ts

Narek
17.05.2017
13:29:12
а есть варианты?
можно вообще голыеобъекты юзать, некоторые вроде просто через as кастят

Max
17.05.2017
13:29:12
зачем эти полумеры )

Adam
17.05.2017
13:29:22
dts не надо вручную писать

Сергей
17.05.2017
13:29:51

Adam
17.05.2017
13:30:45
я вообще от js отказался, все сразу на ts пишу

Дмитрий
17.05.2017
13:30:46
Что я делаю не так?

Сергей
17.05.2017
13:30:54
http://www.cryptopro.ru/sites/default/files/products/cades/cadesplugin_api.js

Adam
17.05.2017
13:32:08
dts для сторонних библиотек или одна команда у вас на js, а другая на ts пишет?

Сергей
17.05.2017
13:32:28

Дмитрий
17.05.2017
13:32:38
экспортирует модуль

Adam
17.05.2017
13:32:53
тому, у кого проблемы с генерацией
dts можно получать через npm, а если код на ts, то dts не нужен

Narek
17.05.2017
13:34:31
попробуй вот так

Adam
17.05.2017
13:34:37
dts это механизм работы с js библиотеками

Сергей
17.05.2017
13:35:39
вродь работает
спасибо =)

Google

Сергей
17.05.2017
13:36:05
ts+cryptopro заставляют мою жопу пылать ярким пламенем

Narek
17.05.2017
13:36:48
это ты еще no implicit any не включал

Сергей
17.05.2017
13:37:23

Adam
17.05.2017
13:37:25
я лично не использую

Сергей
17.05.2017
13:37:25
всегда включен

Narek
17.05.2017
13:37:44
тогда беру слова назад))

Сергей
17.05.2017
13:37:46
ненавижу any

Narek
17.05.2017
13:38:07
иногда никак без него

Сергей
17.05.2017
13:38:09
есть знакомый пишет много где any
сук невозможно писать
тайпинги прост не писал никогда)

Narek
17.05.2017
13:39:06
вот кстати, кто знает как написать тип класса? Не экземпляра класса, а именно класса, чтобы я мог дергать статические методы, например

Aleh
17.05.2017
13:39:32
у нас в нескольких либках d.ts отлично генерятся

Adam
17.05.2017
13:39:32
класс и есть тип

Aleh
17.05.2017
13:39:50

Дмитрий
17.05.2017
13:39:51

Narek
17.05.2017
13:39:55
Вы не поняли
допустим мне нужно передавать в функцию не экземпляр класса
а именно класс

Дмитрий
17.05.2017
13:40:33
ХОТЯ

Google

Adam
17.05.2017
13:40:39
вы тут вообще программисты?

Narek
17.05.2017
13:40:51
А ты?

Max
17.05.2017
13:40:52

Aleh
17.05.2017
13:40:53
ну пускай у тебя есть класс
class A{
static test(): number
}
тип для него описать легко - type T = { test(): number }
function f(t: T): number { return t.test(); }
f(A)

Narek
17.05.2017
13:41:53
О, норм, наверное что-то поменяли

Admin
ERROR: S client not available

Adam
17.05.2017
13:41:55
как ты декларацию собрался передавать в метод?

Aleh
17.05.2017
13:42:26
работает до тех пор, пока в классе нет методов)

Max
17.05.2017
13:42:32
sec )

Narek
17.05.2017
13:43:33

Mike
17.05.2017
13:43:39
можно такое городить http://service.crazypanda.ru/v/clip2net/X/I/xdt8YSh2rH.png

Max
17.05.2017
13:43:53

Mike
17.05.2017
13:43:54
http://service.crazypanda.ru/v/clip2net/V/j/VeKO07xNBD.png

Aleh
17.05.2017
13:43:55

Narek
17.05.2017
13:44:20
твой вариант не совсем то, по факту T не есть A

Aleh
17.05.2017
13:44:29
короче правило простое - отталкивайтесь от того, что класс такой же объект как и другие, но у которого есть еще спец синтаксис для new

Adam
17.05.2017
13:44:42
класс - не объект, а ты не программист

Aleh
17.05.2017
13:44:42
DIP все дела

Google

Aleh
17.05.2017
13:45:17
стоит просто игнорить)

Narek
17.05.2017
13:45:22
ну например чтобы добавить статический метод в A - нужно будет его еще и в T добавить

Aleh
17.05.2017
13:45:38

Narek
17.05.2017
13:45:43
тоже не прокатит

Aleh
17.05.2017
13:45:58

Narek
17.05.2017
13:46:15
ну может я не понял, покажи что ты имеешь в виду?

Aleh
17.05.2017
13:46:39
ну может я не понял, покажи что ты имеешь в виду?
https://www.typescriptlang.org/play/index.html#src=class%20A%20%7B%0A%20%20%20%20static%20test()%3A%20void%20%7B%20%7D%0A%20%20%20%20static%20test2()%3A%20void%20%7B%20%7D%0A%7D%0A%0Afunction%20f(a%3A%20typeof%20A)%20%7B%0A%20%20%20%20a.test()%0A%20%20%20%20a.test2()%0A%7D%0A%0Af(A)

Friedrich
17.05.2017
13:48:31

Mike
17.05.2017
13:49:08
вариант с тайпофом подходит чтобы принять только один конкретный класс. Если нужно с шаблоном, то через интерфейс с factory как я выше писал

Adam
17.05.2017
13:49:25
class A {
static test(): void { }
static test2(): void { }
}
function f(a: A) {
A.test()
A.test2()
}
f(new A())

Aleh
17.05.2017
13:49:57

Mike
17.05.2017
13:50:14

Adam
17.05.2017
13:50:21
так да

Mike
17.05.2017
13:50:27
и на инстансе ясен пень нет статиков

Friedrich
17.05.2017
13:50:44
Но он не на инстансе их вызывает!

Adam
17.05.2017
13:50:48
класс не нужно передавать, статики вызываются именно так

Mike
17.05.2017
13:50:49
а