
Artur
23.01.2018
18:34:31
Хоть выше и стоит фильтр, но видимо на тайпинги он никак не влияет

Maksim
23.01.2018
18:40:49

Artur
23.01.2018
18:48:26

Maksim
23.01.2018
18:56:07

Google

Maksim
23.01.2018
18:56:16
Ее в этом случае лучше отключить или есть какой-то способ обойти эту проверку? (через хитрый as в параметрах или еще как-то)
просто проверка то полезная по сути, поэтому не хочется отключать, но в данном случае она только палки в колеса ставит

Artur
23.01.2018
18:56:57
Но не уверен что это в принципе возможно
Я бы в subscribe всегда ждал Event и внутри скастовал бы к NavigationEnd

Maksim
23.01.2018
18:58:36
ну да, как вариант

Kelin
23.01.2018
19:32:46
Разве нижнее не отбрасывает необходимость писать остальные 3?

Mike
23.01.2018
19:50:56
Тут такое дело. Если сигнатур больше одной то работают все кроме последней
Последняя супер общая для реализации внутри. А три верхних допускают использование любой из них. Но каждая жестче чем нижняя
Ts резолвит их сверху вниз в порядке указания, какая подошла ту и заюзает

Artur
23.01.2018
20:32:59

Google

Mike
23.01.2018
20:34:05
жа, не обратил внимания. Но и тут в d.ts это имеет смысл
так как разные return types
стоп
нет

Kelin
23.01.2018
20:58:42
сложно

Max
24.01.2018
12:43:15
declare module 'object-path-immutable' {
type Path = string | string[]
interface WrappedObject<T> {
set(path?: Path, value?: any): WrappedObject<T>
push(path?: Path, value?: any): WrappedObject<T>
del(path?: Path): WrappedObject<T>
assign(path?: Path, source?: T): WrappedObject<T>
value(): T
}
export default function immutable<T>(obj: T): WrappedObject<T>
}
если импортирую как
import immutable from 'object-path-immutable' то получаю undefined

Aleh
24.01.2018
12:44:02
в компайл-тайме или в рантайме?

Max
24.01.2018
12:44:09
если импортирую как
import * as immutable from 'object-path-immutable'
то работает, но имею
TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'typeof 'object-path-immutable'' has no compatible call signatures.
в рантайме

Aleh
24.01.2018
12:44:38
либо исправь тайпинги, либо исправь tsconfig

Max
24.01.2018
12:44:39
второе в компайле

Aleh
24.01.2018
12:45:43
что именно? :)
в тайпингах у тебя написано, что есть некий дефолтный экспорт, а это не так, можно в tsconfig поставить allowSyntheticDefaultImports

Max
24.01.2018
12:46:01
хм, а как правильнее?
я могу и тайпинги поправить

Aleh
24.01.2018
12:46:20
ну вообще в тайпингах должно быть чето типа export = yourFunction
для таких вот nodejs модулей

Max
24.01.2018
12:46:40
тогда имею

Google

Aleh
24.01.2018
12:47:12
ты мержишь тайпинги?

Max
24.01.2018
12:47:17
сек
https://github.com/syabro/object-path-immutable/blob/master/object-path-immutable.d.ts
короче либа отдает дефолтный враппер и пучок функций
было все ок пока дефолтный враппер не понадобился
:/

Aleh
24.01.2018
12:48:53
type ObjectPathImmutable = {
(): Blablah
set(): BlahBlah
}
declare const exports: ObjectPathImmutable
export = exports
чето такое

Max
24.01.2018
12:49:33
хм
сеек
про { (): T } не додумался

Aleh
24.01.2018
12:49:50
ну либо пофикси в либе, чтоб она риал дефолтный отдавала)

D
24.01.2018
12:50:31
Как вариант еще использовать что-то с больше чем 180 старов, если проект и сроки позволяют. Типо https://github.com/mweststrate/immer

Max
24.01.2018
12:52:29
не, мне интерфейс иммера не нравится
@mkusher заработало, спасибо
declare module 'object-path-immutable' {
const exports: ObjectPathImmutable
export default exports
}
через дефолтный сделал

Aleserche
24.01.2018
13:15:20
http://www.typescriptlang.org/play/index.html#src=class%20BaseClass%20%7B%0D%0A%20%20%20%20constructor(public%20id%3A%20number)%20%7B%0D%0A%20%20%20%20%20%20%20%20this.id%20%3D%20id%3B%0D%0A%20%20%20%20%7D%0D%0A%7D%0D%0A%0D%0Alet%20b%20%3D%20new%20BaseClass(128)%3B почему задваивает? В доках посмотрел и в issue, пока не нашел. Может кто знает

Igor
24.01.2018
13:18:40
Потому что ты сам задваиваешь

Aleserche
24.01.2018
13:18:53
Да, уже понял

Google

Ҫѐҏӗѫӑ
24.01.2018
16:42:03
https://codewithstyle.info/typescript-discriminated-union-types/

Andrew
24.01.2018
17:42:25
для нормального фп
Нафига нужны кортежи, если есть куда более удобные анонимные интерфейсы?

Admin
ERROR: S client not available

andretshurotshka?❄️кде
24.01.2018
17:44:18
в аргументах функции у тебя не будет анонимных интерфейсов
...args все такое
вообще я думал для тайплевел итерации сделали

Max
24.01.2018
17:45:55

andretshurotshka?❄️кде
24.01.2018
17:46:04

Max
24.01.2018
17:46:12
(...args: string[])

andretshurotshka?❄️кде
24.01.2018
17:46:17
рест то есть

Andrew
24.01.2018
17:46:27
А, кстати да, теперь можно будет проверять частичное применение
Хотя не, стоп
Args это же тупо массив произвольного размера
А кортежи - структура для хранения фиксированного числа объектов потенциально разных типов

andretshurotshka?❄️кде
24.01.2018
17:50:47
сможешь складывать кортежи на тайплевеле
чо нет

Сергей
24.01.2018
17:50:49
любых типов

Andrew
24.01.2018
17:51:20

andretshurotshka?❄️кде
24.01.2018
17:52:18
не там tycho01 костылил
он же и добавил кортежи фиксированного размера

Google

Andrew
24.01.2018
17:53:37
Ну щас вроде как можно условия в тайплевеле использовать
Осталось только зависимые типы притащить

andretshurotshka?❄️кде
24.01.2018
17:56:09
если добавят спред
для таплов
в типах
то можно будет пилить всякую хренотень

Morsik
24.01.2018
17:58:01

andretshurotshka?❄️кде
24.01.2018
17:58:37
https://github.com/Microsoft/TypeScript/issues/6229
там вроде хотели path типизировать

Ҫѐҏӗѫӑ
24.01.2018
22:47:05
хуево без овнера

Mike
24.01.2018
22:50:45
совсем админов не осталось?