@typescript_ru

Страница 451 из 669
Dmitrii
01.01.2018
22:18:58
Vasiliy
01.01.2018
22:19:06
enum Theme { Normal = 'normal', Action = 'action', } interface SomeProps { size: Size; theme: Theme; } applyMods({ size: Size.S, theme: Theme.Normal });

всмысле почему при инлайне все ок, а при выносе в объект - не ок?
потому что он не может понять, что это не строка, как бы

это можно заметить если сделать вот так: type Size = 'xs' | 's' | 'm'; type Theme = 'normal' | 'action'; const mods2 = { size: 's' as Size, theme: 'normal' as Theme, };

Google
andretshurotshka?❄️кде
01.01.2018
22:20:29
никак потому что тс не выводит call-site типы

Dmitrii
01.01.2018
22:20:50
примерно понял, спасибо

andretshurotshka?❄️кде
01.01.2018
22:20:57
в флоу норм

Dmitrii
01.01.2018
22:22:38
черт, а в тс так планируется делать?

andretshurotshka?❄️кде
01.01.2018
22:26:40
я как понял в тс архитектура не позволит, там же типы выводятся от AST, а в флоу граф

Friedrich
02.01.2018
06:40:41
Всем привет. Только начинаю вникать в ts, можно ли как-то заставить работать 3й случай? - https://clck.ru/CS7PU
Самое короткое решение: const mods2: SomeProps = { size: 's', theme: 'normal', }; applyMods(mods2); Оно лучше варианта с as, потому что не пытается обмануть компилятор — он тут риальне проверит соответствие литералов.

это можно заметить если сделать вот так: type Size = 'xs' | 's' | 'm'; type Theme = 'normal' | 'action'; const mods2 = { size: 's' as Size, theme: 'normal' as Theme, };
А вот тут конпилятор ничего проверять не будет, можно написать джигурду типа const mods2 = { size: 's-nonsense' as Size, theme: 'normal-nonexistent' as Theme, };

я как понял в тс архитектура не позволит, там же типы выводятся от AST, а в флоу граф
Позволит, если подумать. Тип у литерала просто должен выводиться корректно, а не как сейчас. Литерал вида { size: 's', theme: 'normal' } должен сразу иметь тип { size: 's'; theme: 'normal'; } (который дальше корректно приведётся в { size: 'xs' | 'x'; theme: ... }), а не { size: string; theme: string; }, как сейчас сделано. Конкретно этот случай архитектура как таковая вполне потянет.

serg
02.01.2018
15:00:17
Как настроить автоматически траспилинг ts в js, как только я запускаю дебаг в vsc? Это же в launch.json подкручивается... А что конкретно там нужно сделать?

serg
02.01.2018
17:35:25
tsc -w
Миш, ты точно понял суть вопроса?

serg
02.01.2018
18:36:34
а сам task как выглядит?

Google
Mykola
02.01.2018
18:37:00


serg
02.01.2018
18:37:29
так это package же...

а есть файл tasks.json в папке .vscode?

Mikhail
02.01.2018
18:38:26
а есть файл tasks.json в папке .vscode?
Ты как-то очень глубоко копаешь

Mykola
02.01.2018
18:38:38
а есть файл tasks.json в папке .vscode?
Нету такого. Погугля для чего он нужен

serg
02.01.2018
18:39:23
ну пока что рабочий вариант от мишана... надо запустить вотчер, и тогда уже видно после сохранения файла изменения прямо в js "на ходу"

serg
02.01.2018
18:40:34
Мой вариант рабочий попробуй.
сейчас. уже много перепробовал. но что-то всё не то как-то

Mykola
02.01.2018
18:41:08
Тоесть тебе нужно при запуске дебагера что бы ts файлы транспаились ?.

serg
02.01.2018
18:41:38
да, чтобы не запускать вручную tsc

ты перед запуком дебага, делаешь команду tsc?

Вот. видишь какая ошибка...



предлагает создать task

Как только я жму "Настроить задачу", то создаётся файл task.json

Abdulvakhab
02.01.2018
18:58:49
Привет ребята, как заставить сафари читать файл в папке? Пробовал писать <script src="sample.ts"></script> <script src="./sample.ts"></script>

Каюсь js



ENAMETOOLONG
02.01.2018
21:38:00
локальные ресурсы можно открывать только с локальных HTML страничек. Мне кажется что у тебя поднят сервер

Google
Bender
02.01.2018
22:33:51
http://www.ozon.ru/context/detail/id/2457392/ Читал кто?

sne18
02.01.2018
22:37:01
Читал и применял

Aleh
02.01.2018
22:40:51
это словарь, не очень полезная штука

гораздо практичнее посмотреть на принципы за этими решениями, чем на сами решения

Bender
02.01.2018
22:52:07
Читал кто?

Yuri
02.01.2018
22:54:48
Теперь грех не прочитать

Abdulvakhab
02.01.2018
22:55:36
Я нет, но спасибо за книгу:)

Bender
02.01.2018
22:55:47
Знал что понравится)

andretshurotshka?❄️кде
02.01.2018
22:55:56
В пине висело когда-то

Ostap
03.01.2018
13:23:11
есть вопрос по тайпингам. есть либа (моя). у меня есть dependency которое без тайпингов. я добавил typeRoots и там .d.ts файл. у меня все компилиться и тдтп. но вот в dist у меня лежат все мои тайпинги но нету d.ts файлов, поэтому все кто юзают мою либу получают болт в виде "Could not find a declaration file for module"

кто-то сталкивался ?

Admin
ERROR: S client not available

Ostap
03.01.2018
13:26:42
{ "compilerOptions": { "moduleResolution": "node", "target": "es5", "module": "es2015", "lib": [ "es2015", "es2016", "es2017", "dom" ], "strict": true, "sourceMap": true, "declaration": true, "allowSyntheticDefaultImports": true, "jsx": "react", "experimentalDecorators": true, "emitDecoratorMetadata": false, "declarationDir": "dist/types", "outDir": "compiled", "typeRoots": [ "node_modules/@types", "src/types" ] }, "include": [ "src" ] }

я же говорю. мои .d.ts есть а вот пустышки для внешних либ — нету

Олег
03.01.2018
13:29:20
помойму у тебя ошибка в том что твои интерфейсы содержат ссылки на интерфейсы твоей зависимости

поэтому тс пытается найти декларацию для них и не может

либо устрани это, либо экспорти интерфейсы зависимости

Ostap
03.01.2018
13:30:27
помойму у тебя ошибка в том что твои интерфейсы содержат ссылки на интерфейсы твоей зависимости
не очень понял вот репо https://github.com/Strikersoft/poa интересует почему нету в dist/types всего что есть в src/types

Google
Олег
03.01.2018
13:32:42
я бы спросил зачем декларации в отдельную папку кладешь

Ostap
03.01.2018
13:33:32
а где их хранить ?

те которые для библиотек

Олег
03.01.2018
13:34:09
рядом с файлами которым они принадлежат

Aleh
03.01.2018
13:34:23
или в npm(node_modules)

Ostap
03.01.2018
13:34:38
может я чего-то не понимаю, но декларации моего кода авто-генерируються

в моем коде есть зависимости, в которых нет тайпингов

у себя я решаю это через typeRoots + .d.ts файлы в отдельной папке

но юзать это человек с typescript который сделал npm install my-lib не может

Олег
03.01.2018
13:37:04
потому что ему все равно что у тебя там в конфиге

Ostap
03.01.2018
13:37:10
+++

как это пофиксить :)

Олег
03.01.2018
13:37:30
выше написал

Ostap
03.01.2018
13:43:34
выше написал
мда, я наверное очень туплю. ткни в пример пожайлуйста

Ҫѐҏӗѫӑ
03.01.2018
13:58:14
@aquahawk https://github.com/JasonHuang3D/AJC-Flash-WebAssembly-Examples

мб тебе пригодится чем-то

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