@typescript_ru

Страница 233 из 669
Сергей
17.05.2017
13:23:27
там еще про typings :)
надо почитать :D

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

Narek
17.05.2017
13:24:10
а чего, vscode уже моветон?
просто как-то странно писать как настроить vscode в книжке про паттерны, мне кажется

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
dts не надо вручную писать
долго переписывать оч странный файл

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

Дмитрий
17.05.2017
13:30:46
dts не надо вручную писать
у меня автоматическая генерация в 1 проекте из 10 работает

Что я делаю не так?

Сергей
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: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
класс и есть тип

Дмитрий
17.05.2017
13:39:51
dts можно получать через npm, а если код на ts, то dts не нужен
У меня есть проект на TS. Экспортируется (и, собственно, публикуется) npm-модуль. Этот модуль потом используется в другом TS-проекте (устанавливается через npm) -> d.ts нужен =)

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

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 добавить

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())

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
а

Страница 233 из 669