@typescript_ru

Страница 290 из 669
Дмитрий
18.07.2017
17:35:51
Так это не то
Похоже под описание — какой-то тип, за которым неважно что происходит

Aleh
18.07.2017
17:36:07
В ts можно аля declare class YourOpaqueType { // ваш тип тут private someUselessThingToMakeItNominal: {} }

Костыли костылики

Почему классы структурные конечно вообще загадка)

Google
Andrew
19.07.2017
07:40:38
Почему классы структурные конечно вообще загадка)
А как, нужно было сделать две разные модели типизации для классов и интерфейсов? По-моему это было бы очень сложно

В первую очередь сложно для понимания \ запоминания

Aleh
19.07.2017
07:43:59
Andrew
19.07.2017
07:44:26
Типы появились в какой версии-то? 1.4?

Aleh
19.07.2017
07:46:00
Хз, до 1.5 не следил за изменениями

А так instanceof ломает эти структурные проверки

Andrew
19.07.2017
07:46:54
Неявная реализация интерфейсов это вообще киллер-фича TS

Aleh
19.07.2017
07:47:24
Ну тогда типы номинальные, если они позже появились

Andrew
19.07.2017
07:48:13
Мне вообще пока не до конца понятно, зачем было вводить концепцию типов, если уже есть классы и интерфейсы

Единственное для чего они удобнее - это type X = A | B

andretshurotshka?❄️кде
19.07.2017
08:02:16
Скорее зачем интерфейсы)

Andrew
19.07.2017
08:22:42
Скорее зачем интерфейсы)
Они были с самого начала

Google
Artur
19.07.2017
08:53:17
Это баг
Ну велком в ишью, может убедите

andretshurotshka?❄️кде
19.07.2017
08:58:58
Andrew
19.07.2017
09:00:50
И что)
Смысл ломать обратную совместимость ради того, чтобы заменить шило на мыло?

andretshurotshka?❄️кде
19.07.2017
09:03:08
Так если типы убирать ты тоже ломаешь)

Andrew
19.07.2017
09:04:22
Я не говорю что их можно убрать, я скорее недоумеваю зачем их добавили, хотя на тот момент интерфейсы давно были

andretshurotshka?❄️кде
19.07.2017
09:06:20
Просто типы мощнее чем интерфейс, классы от них имплементить давно можно, mapped types только в типах работают

andretshurotshka?❄️кде
19.07.2017
09:07:02
Сергей
19.07.2017
09:07:47
неделю-две назад

andretshurotshka?❄️кде
19.07.2017
09:09:16


?

Andrew
19.07.2017
09:09:50
Я не вижу какого-то фундаментального ограничения, почему mapped types не могли бы работать внутри интерфейсов

Просто наплодили сущностей и теперь их тяжелее поддерживать

Сергей
19.07.2017
09:10:40
там да

косяк

An index signature parameter type must be 'string' or 'number'.

Kirill
19.07.2017
10:06:29
Привет. Вот тут чувак делает типизацию hoc и использует шаблонную функцию для этого. Но потом он не специализирует её при вызове. Как туда интерфейс пропсов сам попадает? https://medium.com/@DanHomola/react-higher-order-components-in-typescript-made-simple-6f9b55691af1#2b5b

Google
andretshurotshka?❄️кде
19.07.2017
10:15:29
вывод типа?)

Kirill
19.07.2017
10:44:03
Только не пойму как он работает в данном случае, если в hoc передаётся компонент без указания типа.

Сергей
19.07.2017
10:45:16
Vladimir
19.07.2017
10:55:43
https://twitter.com/vkurchatkin/status/887621471492812801

Artur
19.07.2017
11:09:54
https://twitter.com/vkurchatkin/status/887621471492812801
Компилю в последний ес, транспилю баьелем

Vladimir
19.07.2017
11:11:24
Ну так можно, да

Andrew
19.07.2017
11:14:32
https://twitter.com/vkurchatkin/status/887621471492812801
По-моему это как раз ожидаемое поведение, учитывая что в обычном javascript: '?'.length == 2 '?'.split('').length == 2

Vladimir
19.07.2017
11:15:00
Приведенный код должен работать по другому

Andrew
19.07.2017
11:20:54
Интересно, а как Babel решает эту проблему?

Вот тут написано что реализовать это на ES5 сложно: https://stackoverflow.com/a/21409165/1293168

Vladimir
19.07.2017
11:22:52
Бабель решает эту проблему

Но ему нужен полифил

Vladimir
19.07.2017
11:23:50
Это ответ на stackoverflow необоснован

from
19.07.2017
11:28:49


@syabro ты как-то решил?

Max
19.07.2017
11:40:42
Э

Просто импортом



@types/lodash стоят?

from
19.07.2017
11:43:20
не, так я не хочу, я хочу import throttle from 'lodash/throttle'

Google
from
19.07.2017
11:43:24
Max
19.07.2017
11:43:30
ну хоти :)

from
19.07.2017
11:46:10
...

Nikolay
19.07.2017
11:46:53
import throttle from 'lodash.throttle' можно так

Admin
ERROR: S client not available

from
19.07.2017
11:48:01
import throttle from 'lodash.throttle' можно так
а так ругается в рантайме: throttle_1.default is not a function

Dmitry
19.07.2017
11:48:07
Кто шарит во flow, почему в interface нельзя указывать ?option параметры, а в type можно?

Dmitry
19.07.2017
11:49:33
теперь только TS? :)

Nikolay
19.07.2017
11:49:42
а так ругается в рантайме: throttle_1.default is not a function
да, косякнул, там немного другой синтаксис import throttle = require('lodash.throttle') будет

andretshurotshka?❄️кде
19.07.2017
11:52:51
from
19.07.2017
11:53:02
* as throttle
читай сначала

вопрос же с этого начался

andretshurotshka?❄️кде
19.07.2017
11:53:15
Бабелом мб скомпилить

from
19.07.2017
11:53:35
короче ладно

дурацкий у вас typescript

Nikolay
19.07.2017
11:54:01
Не надо так писать
почему? Это как раз workaround для ситуаций, когда модуль экспортируется как module.exports = Module

Google
Dreamerinnoise
19.07.2017
11:54:14
Это устаревший костыль

andretshurotshka?❄️кде
19.07.2017
11:54:33
А есть новый костыль?

Roman
19.07.2017
11:54:49
теперь только TS? :)
да, заголовок никак не поменяют

from
19.07.2017
11:54:50
видимо пока нет https://github.com/DefinitelyTyped/DefinitelyTyped/issues/14267

Max
19.07.2017
13:52:47


ктонить юзает tslint? Может знаете как отключить требование trailing-comma после ...rest?

вроде в eslint такое пофиксили, а тут походу баг, либо я не нашел настройки

Дмитрий
19.07.2017
13:53:54
да, заголовок никак не поменяют
С заголовком всё ок, видишь там минус вместо плюса

Roman
19.07.2017
13:54:24
люди вот путаются и паникуют

Сергей
19.07.2017
13:54:49
@admin

поменяйте имя чата)

Vasiliy
19.07.2017
13:56:14
XD

Сергей
19.07.2017
13:58:09
ахаха)))

Дмитрий
19.07.2017
13:58:39
Бест ?

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