@typescript_ru

Страница 38 из 669
Artur
07.08.2016
12:54:33
Мне повезло, у меня все завелось на @types.

Хотя там был некий косяк в react router, но всегда есть declaration merging.

Anatoly
08.08.2016
07:08:21
Ребят, какой самый лучший способ сгенерить документацию по проекту на ts ?

Алексей
08.08.2016
07:50:26
Присоединяюсь к вопросу

Google
Ostap
08.08.2016
07:52:02
+

Artur
08.08.2016
08:32:37
@chicoxyzzy ты вроде давал ссылку на проект для генерации доков для TS?

Дмитрий
08.08.2016
09:08:24
typedoc

Только его сайт сейчас лежит)

Алексей
08.08.2016
09:14:21
не видел ни 1 нормального решения на данный момент

утверждение что для TypeScript невозможно написать документацию - остаеться в силе

Roman
08.08.2016
09:25:55
ясно понятно

hlomzik
08.08.2016
21:56:01
Type '{ test: number; }' is not assignable to type '{ [s: string]: number; }'. Index signature is missing in type '{ test: number; }’. Это же определенно баг?

и вообще мне так не нравится такой синтаксис для дженериков обджекта...

hlomzik
08.08.2016
21:58:28
1.8.10

Aleh
08.08.2016
22:01:21
в 2 пофикшено вроде

https://github.com/Microsoft/TypeScript/wiki/What%27s-new-in-TypeScript#implicit-index-signatures

Google
hlomzik
08.08.2016
22:10:27
на 2 уже можно спокойно переходить?

я тут еще один баг нашел

как можно локально две версии установить, кстати? npm i typescript@2 ?

type TestPromise = Promise<Object> abstract class Test { abstract async fetchItems (): Promise<Object> abstract async fetchItems2 (): TestPromise }

Type 'TestPromise' is not a valid async function return type. (method) Test.fetchItems2(): Promise<Object>

Дмитрий
09.08.2016
01:08:37
и вообще мне так не нравится такой синтаксис для дженериков обджекта...
Угу, корявый пока что. { [s: string]: number; } - это не то, с чем хотелось бы иметь дело ежедневно ? Надеюсь, этим когда-нибудь займутся

Dreamerinnoise
09.08.2016
05:42:01
А вы используете промисы из стандартной библиотеки или bluebird? Если последние, то почему?

hlomzik
09.08.2016
09:10:15
а почему бы не просто Object<string>?

хотя можно самому же определить тип в глобальном d.ts, хм

hlomzik
09.08.2016
11:16:52
type HashMap<K,V> = {[s: K]: V}; :)
ну ключи можно только стрингами сделать, здесь очень редко бывают исключения)

Aleh
09.08.2016
11:17:06
это да

Алексей
09.08.2016
11:18:08
Symbol ( тоже если память не изменяет ) может быть ключом

Dreamerinnoise
09.08.2016
11:19:04
Ребята

А вы используете промисы из стандартной библиотеки или bluebird? Если последние, то почему?

Я видел тут у кого-то были проблемы с тайпингами

Aleh
09.08.2016
11:27:52
Ребята
я юзаю стандартные, их хватает)

Google
Roman
09.08.2016
11:29:09
Bluebird, потому что постоянно нужны map, all, дефолт обработка ошибок итд но не знаю как с тайпингами для него

Dmitry
09.08.2016
11:38:40
Bluebird реджектить может ещё

Вроде как

Я только лишь из-за этого хотел его попробовать поюзать

Но это очень редкие кейзы и я забил

Vasiliy
09.08.2016
12:33:41
реджектить в смысле они cancellable

hlomzik
09.08.2016
12:34:12
Не понимаю, кстати, как можно было фетч делать неотменяемым

Vasiliy
09.08.2016
12:35:21
да, тоже не понимаю почему

Aleh
09.08.2016
12:38:31
так отмена это ж просто игнорирование ответа

Vasiliy
09.08.2016
12:44:44
да,

т.е. можно что-то типа того сделать (пример из https://medium.com/@matthiasak/state-of-the-union-js-d664bdbffd14#.x7nhwnduh)

const cancellable = f => (...args) => { let result = f(...args), aborted = false let promise = new Promise((res,rej) => { result.then(d => { return aborted ? rej('aborted') : res(d) }).catch(e => rej(e)) }) promise.abort = () => aborted = true return promise } blah = cancellable(fetch)

Ivan
09.08.2016
12:50:22
промис отменили, а fetch запрос так висеть и будет?

Vladimir
09.08.2016
13:03:55
промис нельзя отменить

pofigizm
09.08.2016
13:04:11
+ у blah().then() не будет метода .abort

Vladimir
09.08.2016
13:05:29
можно сделать CancellablePromise extends Promise в теории

hlomzik
09.08.2016
13:08:52
так отмена это ж просто игнорирование ответа
именно отмену запроса было бы здорово иметь

Aleh
09.08.2016
13:09:34
Vladimir
09.08.2016
13:10:09
ну http обычно так отменяют

hlomzik
09.08.2016
13:10:15
сокет закрыть или что?
что-то вроде того. я не знаю) и это должно быть заботой Fetch API, а не моей)

Google
Vladimir
09.08.2016
13:10:20
интересно, что xhr делает

Aleh
09.08.2016
13:10:56
ну, откровенно говоря, для большинства кому нужна отмена, реализация через закрытие сокета это приятно, но необязательно

достаточно заигнорить респонс)

hlomzik
09.08.2016
13:12:00
юзер кликнул на кнопку, запустились сто фетчей, а юзер взял и ушел на другую страницу, где нужна еще сотня фетчей, но они будут ждать, потому что первую сотню не отменить

Aleh
09.08.2016
13:12:14
очевидно надо не делать сотню фетчей

:)

Vladimir
09.08.2016
13:12:29
ну по таймауту все равно сокет закроется

hlomzik
09.08.2016
13:12:51
ну по таймауту все равно сокет закроется
да он скорее просто загрузит запрос до конца. он же считает себя нужным

Aleh
09.08.2016
13:12:59
в браузерах ж гигантские таймауты, не?

Vladimir
09.08.2016
13:13:12
ммм, ну по умолчанию может быть

hlomzik
09.08.2016
13:13:12
очевидно надо не делать сотню фетчей
а так можно было бы делать :)

и с аяком так и делали)

Aleh
09.08.2016
13:13:23
Vladimir
09.08.2016
13:13:30
по моему ограничение на количество сокетов тоже есть

hlomzik
09.08.2016
13:13:34
не в смысле сотню запросов, а отмену при ненадобности

4 или 8

ну, нет)
почему нет?

Aleh
09.08.2016
13:14:22
ну это какая-то отстойная идея держать десятки параллельных запросов

потом фейсбук опять скажет, что http говно

нет, я не спорю, что вероятно где-то есть кейсы

Google
Aleh
09.08.2016
13:15:33
типа там биржи всякие, когда надо не только событие словить, но и проверить, что не говно прилетело или просто несколько источников, ноо

это не случай пользователь кликнул и пытается уйти)

hlomzik
09.08.2016
14:10:17
The left-hand side of a 'for...of' statement cannot use a type annotation это вот еще почему? типа активное автоопределение?

только вот у меня там for (let scope of Object.values(scopes)), который дает any

ну т.е. я не понимаю запрета определения типа в for..in и for..of

Ярослав
09.08.2016
17:53:32
Через символ

Aleh
09.08.2016
18:29:15
попробовал remap-istanbul, чет он мало строчек показывает по итогу

в файле на 62 строки говорит, что у вас 4 строки

hlomzik
09.08.2016
18:40:15
Потому что ты можешь динамически подставить свой итератор
Ну так в том-то и дело! Я хочу указать итоговый тип!

У меня истанбул фигню какую-то по строкам показывал, но правильно указывал число проходов. Ориентировался по ним.

Aleh
09.08.2016
18:42:05
число проходов?

Ярослав
09.08.2016
18:42:36
Ну так в том-то и дело! Я хочу указать итоговый тип!
Если ты его укажешь, то тайпскрипт не сможет его нормально проверить. То есть по сути это будет кастинг любого типа к тому, который ты указываешь

hlomzik
09.08.2016
18:43:17
число проходов?
Ну сколько раз исполнялась строка. Не знаю термина)

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