@typescript_ru

Страница 614 из 669
Александр
22.05.2018
07:24:21
как вариант использовать myvar as numberp[]
за такое линтами по рукам бьют

Aleksey
22.05.2018
07:25:35
за такое линтами по рукам бьют
не, ну то что проблема в скрипте это понятно

но если очень хочется

Alex
22.05.2018
08:53:31
ребятб я научился писать на TypeScript. могу ли я теперь быть сверхчеловеком?

Google
Igor
22.05.2018
08:55:11
нет

Igor
22.05.2018
08:55:18
ты не научился

Igor
22.05.2018
09:00:04
Sergey
22.05.2018
09:02:30
Приходи после того как выучишь PureScript ?
А поцчему не Reason? Там сразу двух зайцев одним окамлом

Andrew
22.05.2018
09:09:09
Приходи после того как выучишь PureScript ?
Я думал все сверхчеловеки давно на лиспе фигачат

Sergey
22.05.2018
09:10:42
Моя резольвента твердеет

Aram
22.05.2018
09:12:56
Господа, кто-то сталкивался с TS4023?

Anton
22.05.2018
09:13:57
Надо экспортить типы, которые используеются в тех типах или значениях, которые ты экспортишь :)

Aram
22.05.2018
09:14:23
Я экспорту вообще все

То есть export * from...

Есть допустим модуль UI, у него в главном файле импортируются и экспортируются все модельки import * as Models from './models' export {Models} Другой модуль пользуется этими модельками import {Models} from 'ui' export const getSome = (some: Models.Some) =>... И вот тут на getSome идёт TS4023

Не могу понять где именно проблема

Google
Anton
22.05.2018
09:23:50
У тебя "другой модуль" экспортипрует getSome, которая использует Models.Some. Надо в этом модуле экспортить export {Models} тоже

Aleh
22.05.2018
09:24:28
Оо

Aram
22.05.2018
09:25:33
Anton
22.05.2018
09:26:39
Проблема именно в этом, 100%, и решается она экспортом используемых типов

Aram
22.05.2018
09:29:11
Проблема решается когда импортишь используемый тип напрямую, то есть через import {Some} from 'ui/models/Some'

Но мне бы хотелось использовать главный файл модуля как фасад, поэтому такой вариант записи не желателен

Aleh
22.05.2018
09:30:20
Проблема решается когда импортишь используемый тип напрямую, то есть через import {Some} from 'ui/models/Some'
это вероятно баг, потому что экспортить используемые из других модулей типы не надо

если нет в issues, то стоит добавить

Aram
22.05.2018
09:33:53
если нет в issues, то стоит добавить
К сожалению, скорее всего уже не актуальный issue будет, так как в компании мы используем ts 2.3.3...

Aleh
22.05.2018
09:35:36
https://www.typescriptlang.org/play/index.html#src=declare%20module%20%22a%22%20%7B%0D%0A%20%20%20%20export%20type%20Key%20%3D%20%22test%22%0D%0A%20%20%20%20export%20type%20S%20%3D%20%22test2%22%0D%0A%7D%0D%0A%0D%0Adeclare%20module%20%22b%22%20%7B%0D%0A%20%20%20%20import%20*%20as%20Models%20from%20%22a%22%0D%0A%20%20%20%20export%20%7B%20Models%20%7D%0D%0A%7D%0D%0A%0D%0Adeclare%20module%20%22c%22%20%7B%0D%0A%20%20%20%20import%20%7B%20Models%20%7D%20from%20%22b%22%0D%0A%20%20%20%20export%20const%20f%3A%20(key%3A%20Models.Key)%20%3D%3E%20string%0D%0A%7D

ну да, в playground не воспроизводится

Denis
22.05.2018
09:39:01
https://github.com/Microsoft/TypeScript/issues/13219

че думаете пацаны

Aleh
22.05.2018
09:39:38
не нужно

Denis
22.05.2018
09:39:53
почему

Sergey
22.05.2018
09:40:45
Что-то похоже на Checked Exceptions в Java или как они там

В джаве от этого выли

Aleh
22.05.2018
09:41:07
эксепшены неявно пробрасываются через все уровни, поэтому ты не можешь ничего гарантировать

ну т.е. это еще хуже, чем просто типы в тс

Google
Aleh
22.05.2018
09:41:57
короче для такого лучше использовать Either например

Max
22.05.2018
09:43:13
в питоне работает ок

Aleh
22.05.2018
09:43:34
Denis
22.05.2018
09:43:58
хмм, я просто смотрю на это с точки зрения декларативности, чтобы повысить читаемость

Max
22.05.2018
09:44:42
?
try: do_something() catch MyException: … catch AnotherException: … catch Excepton: // broad …

Sergey
22.05.2018
09:45:03
Это немного чёто не то

Это просто исключения, ну, как везде

Max
22.05.2018
09:45:36
эммм

Aleh
22.05.2018
09:45:51
вопрос про описание того, что функция может бросать

Sergey
22.05.2018
09:45:52
А чекед - потребитель ОБЯЗАН обработать бросаемые методом исключения, которые он объявил

Aleh
22.05.2018
09:45:56
а не про catch по типу

Max
22.05.2018
09:46:07
а, неправильно понял тогда

Sukhrob
22.05.2018
14:22:27


andretshurotshka?❄️кде
22.05.2018
14:23:45
лол

удачи

Sukhrob
22.05.2018
14:23:50




andretshurotshka?❄️кде
22.05.2018
14:26:25
Type '{ [Symbol.iterator](): IterableIterator<number>; }' is not an array type.

Sukhrob
22.05.2018
14:27:53
Type '{ [Symbol.iterator](): IterableIterator<number>; }' is not an array type.
но [...this.manager] уже является массивом.

Google
andretshurotshka?❄️кде
22.05.2018
14:28:06


я даже спред не могу сделать

Sukhrob
22.05.2018
14:28:18
и мне нужно, чтобы была информация о типе элемента массива

я даже спред не могу сделать
у меня работает. Компилирует. И без ошибок выполняется. Мало того, этих примеров много в интернете (но не для тайпскрипта, а просто для JS)

я даже спред не могу сделать
щаз попробую в плейграунде сделать

я даже спред не могу сделать
странно, имитация моего класса не удалась. А каким образом вот это тогда работает? http://plnkr.co/edit/8BV20knte9zIjC1fIp7k?p=preview А в тайпскрипте это уже не работает.

andretshurotshka?❄️кде
22.05.2018
14:37:02
тайпскрипт не умеет просто))

Admin
ERROR: S client not available

Sukhrob
22.05.2018
14:37:29
тайпскрипт не умеет просто))
но ведь то что работает в JS по идее должно работать в TS?...

andretshurotshka?❄️кде
22.05.2018
14:37:37
ну нет))

тс может не понимать какой тип

Sukhrob
22.05.2018
14:37:57
тогда вопрос в типизации. Как правильно описать итератор для ... ?

Сергей
22.05.2018
14:38:14
тайпскрипт не умеет просто))

Sukhrob
22.05.2018
14:38:31
Сергей
22.05.2018
14:38:38
итераторы

andretshurotshka?❄️кде
22.05.2018
14:38:50
https://flow.org/try/#0GYVwdgxgLglg9mAVAAgOYFMzoE4EMroDK6AjiJhOgBQDOUu2UANMpgCYCUyA3gFDIDk-QQOBxsyKgBt0UZDGQBeZHQZQA3POQAeZe00wA1Ia58RIgJ4x0UtvPXCRAX0dDnr1zLk1S5SOiVkAG0AOjCMLDwCYjIKagAmJgBWDgBdB0EgA

в флоу норм

с другой стороны флоу не умеет символы

Sukhrob
22.05.2018
14:40:09
итераторы
у него уже есть Iterator, IterableIterator... и прочие. теоретически может. это мы не умеем... ладно, пошел дальше копать гуглить яндексить

с другой стороны флоу не умеет символы
флоу меня как-то мало интересует... хотелось бы то же блюдо, но на ТС)

Google
andretshurotshka?❄️кде
22.05.2018
14:41:37
хм

а какой таргет в плэйграунде?

Sukhrob
22.05.2018
14:43:55
а какой таргет в плэйграунде?
http://www.typescriptlang.org/play/index.html#src=class%20Manager%20%7B%0D%0A%20%20%20%20*%5BSymbol.iterator%5D()%3A%20IterableIterator%3Cnumber%3E%20%7B%0D%0A%09%09yield%201%3B%0D%0A%09%09yield%202%3B%0D%0A%09%09yield%203%3B%0D%0A%09%7D%0D%0A%7D%0D%0A%0D%0A%0D%0Aconst%20manager1%20%3D%20new%20Manager%3B%0D%0A%0D%0Aconst%20numbers%20%3D%20%5B...manager1%5D%3B%0D%0A%0D%0A

andretshurotshka?❄️кде
22.05.2018
14:45:10


Sukhrob
22.05.2018
14:47:02
а какой таргет в плэйграунде?
что-то не смог найти таргет...

andretshurotshka?❄️кде
22.05.2018
14:47:25
"target": "es6"

Sukhrob
22.05.2018
14:47:36
что это? Как это заработало?

andretshurotshka?❄️кде
22.05.2018
14:47:45
"target": "es6"
в конфиге

Sukhrob
22.05.2018
14:47:59
"target": "es6"
где конфиг в плейграунде???

andretshurotshka?❄️кде
22.05.2018
14:48:21
нигде)

это вскод

Sukhrob
22.05.2018
14:48:53
это вскод
у меня и стоит "target": "es6", а вопрос в чем?

но элемент массива не определяет как number[]

а какая тут IDE работает?

andretshurotshka?❄️кде
22.05.2018
14:51:03
VSCode

Sukhrob
22.05.2018
14:51:08
andretshurotshka?❄️кде
22.05.2018
14:51:15
странно)

Sukhrob
22.05.2018
14:51:21
у меня IDEA вот это показывает... щаз гляну в vscode

andretshurotshka?❄️кде
22.05.2018
14:51:32
а версия тс?

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