@typescript_ru

Страница 406 из 669
andretshurotshka?❄️кде
20.11.2017
17:04:20
ето точно не про флоу)

Aldar
20.11.2017
18:47:21
Привет, вот у меня есть объект var obj = { "string": { item: "string" }, "string2": { item: "string" } } Передаю obj["string"].item в функцию которая принимает string - компилятор ругается, как побороть?

andretshurotshka?❄️кде
20.11.2017
18:49:40
какая ошибка

Aldar
20.11.2017
18:50:22
error TS7017: Element implicitly has an 'any' type because type '{ "Talk with Amanda": { item: string; }; "Sign up": { item: string; }; }' has no index signature.

Google
Ҫѐҏӗѫӑ
20.11.2017
18:50:26
лучше сразу в плейграунде

Vasiliy
20.11.2017
18:51:07
http://www.typescriptlang.org/play/

Aldar
20.11.2017
18:57:40
хм, в плейграунде все ок

https://stackoverflow.com/questions/32968332/how-do-i-prevent-the-error-index-signature-of-object-type-implicitly-has-an-an

Friedrich
21.11.2017
04:21:58
Ну, это теперь так в стандарте написано. Смирись :)

Moe
21.11.2017
04:24:26
Гайз, хочется посмотреть курсик Владилена Минина по TS. Где можно найти полную версию?

Alex
21.11.2017
04:49:11
Камрады, а почему в тайпскрипте сигнатура функции с арностью больше двух требует названия аргументов, и на что эти имена влияют? Например: почему вот так - нельзя: let myFunc: (number, string) => string а вот так - можно: let myFunc: (n: number, s: string) => string

John
21.11.2017
07:18:28
тайпскрипту нужно разруливать ситуации в которых можно писать и без типизации, я думаю для разделения этих случаев.

Alex
21.11.2017
07:52:31
А для функций-то ему какая разница? Передавать-то по имени ведь нельзя?

andretshurotshka?❄️кде
21.11.2017
07:57:51
ну документация же!)

John
21.11.2017
08:04:33
const func = (a, b): c => a.getC(b) const func = (first: a, second: b): c => first.getC(second) ну я имел в виду что если у тебя а и b, к примеру, типы (и это не ключевые слова, как в твоем примере) - то нельзя однозначно определить, аргументы это описаны, или типы аргументов. ведь JS файлы так же должны быть валидным TS кодом по определению.

хотя, если писать const f: (a, b) => c = (arg0, arg1): c => arg0.getC(art1) то по идее должно быть норм...

Google
John
21.11.2017
08:07:26
но я не транспайлер тайпскрипта

andretshurotshka?❄️кде
21.11.2017
08:07:44
это только про типы речь

const func: ({ getC: (string) => any }, string) => any = (a, b) => a.getC(b)

John
21.11.2017
08:10:19
я с ходу не вижу проблем в такой записи, но вот тс ругается, не понимает ее. значит есть какие-то ограничения и неоднозначность

в интерпретации такой записи

andretshurotshka?❄️кде
21.11.2017
08:10:40
нету)

в флоу все норм

John
21.11.2017
08:25:34
немного почитал трэд на гитхабе по этой теме,

Сергей
21.11.2017
08:28:14
https://medium.com/@jdolle/babel-7-beta-instructions-aed5cf17048b

John
21.11.2017
08:29:09
на данный момент будет конфликт, const f: (a, b) => any = (a: any, b: any): any => a const f: (a, b) => any = (arg0: a, arg1: b): any => arg0 https://github.com/Microsoft/TypeScript/issues/14173

ну чувак пишет в самом конце что изначально был заложен untyped function type. и теперь уже без нарушения обратной совместимости не внедрить такую фичу.

andretshurotshka?❄️кде
21.11.2017
08:38:24
UntypeScript)

Petr
21.11.2017
08:47:11
Вопрос: возьмём какую-нибудь популярную библиотеку (jQuery, lodash), установим её тайпинги (npm install @types/jquery @types/lodash), затем откроем helloworld.ts и начнём писать с использованием символа $ или _ - типы подхватываются компилятором, НЕ требуется никаких дополнительных телодвижений типа import * as $ from "jquery" или import * as _ from "lodash". Теперь я встаю на место автора некоей библиотеки (изначально пишу на TypeScript), хочу сгенерировать такие тайпинги, чтобы они подхватывались глобально как в примере с jquery и lodash. Как? Опция компилятора "declaration": true генерирует кучу мелких d.ts, но даже если я вручную положу их в node_modules/@types/mylib - ничего не подхватывается. Есть ещё утилита https://github.com/TypeStrong/dts-bundle которая склеивает мелкие .d.ts и оборачивает в declare module "имя_мелкого_файла_модуля" {...}, но глобально потом всё равно не могу использовать свою mylib по аналогии как это получается с jquery и lodash.

Aleh
21.11.2017
08:48:49
Вопрос: возьмём какую-нибудь популярную библиотеку (jQuery, lodash), установим её тайпинги (npm install @types/jquery @types/lodash), затем откроем helloworld.ts и начнём писать с использованием символа $ или _ - типы подхватываются компилятором, НЕ требуется никаких дополнительных телодвижений типа import * as $ from "jquery" или import * as _ from "lodash". Теперь я встаю на место автора некоей библиотеки (изначально пишу на TypeScript), хочу сгенерировать такие тайпинги, чтобы они подхватывались глобально как в примере с jquery и lodash. Как? Опция компилятора "declaration": true генерирует кучу мелких d.ts, но даже если я вручную положу их в node_modules/@types/mylib - ничего не подхватывается. Есть ещё утилита https://github.com/TypeStrong/dts-bundle которая склеивает мелкие .d.ts и оборачивает в declare module "имя_мелкого_файла_модуля" {...}, но глобально потом всё равно не могу использовать свою mylib по аналогии как это получается с jquery и lodash.
Посмотри тайпинги jq, там рядом с declare module стоит declare var

Petr
21.11.2017
08:50:15
Посмотри тайпинги jq, там рядом с declare module стоит declare var
да, изучал их вдоль и поперёк. Но с jquery дело в том, что их изначально пишут вручную - в целом понятно как они работают. У меня же проект-библиотека изначально на TypeScript, я не хочу писать (или дописывать) .d.ts файл вручную, я хочу его сгенерировать!

Aleh
21.11.2017
08:51:26
Вопрос: возьмём какую-нибудь популярную библиотеку (jQuery, lodash), установим её тайпинги (npm install @types/jquery @types/lodash), затем откроем helloworld.ts и начнём писать с использованием символа $ или _ - типы подхватываются компилятором, НЕ требуется никаких дополнительных телодвижений типа import * as $ from "jquery" или import * as _ from "lodash". Теперь я встаю на место автора некоей библиотеки (изначально пишу на TypeScript), хочу сгенерировать такие тайпинги, чтобы они подхватывались глобально как в примере с jquery и lodash. Как? Опция компилятора "declaration": true генерирует кучу мелких d.ts, но даже если я вручную положу их в node_modules/@types/mylib - ничего не подхватывается. Есть ещё утилита https://github.com/TypeStrong/dts-bundle которая склеивает мелкие .d.ts и оборачивает в declare module "имя_мелкого_файла_модуля" {...}, но глобально потом всё равно не могу использовать свою mylib по аналогии как это получается с jquery и lodash.
Ну вот рядом с declare генерь константу

Petr
21.11.2017
08:51:48
более того, допустим я согласился рядом вручную добавить declare const ml: MyLib;

здесь MyLib должен быть интерфейсом или типом. Но в тех тайпингах, что генерируются с помощью "declaration": true или TypeStrong/dts-bundle нет никакх интерфейсов! Там есть declare module "mylib" { внутри много экспортов разных функций }

Google
Petr
21.11.2017
08:55:50
я бы с удовольствием изучил тайпинги и скрипты их генерации у какой-ниубдь библиотеки написанной на TypeScript, которые сразу доступны глобально в виде переменной (по аналогии как это работает с jquery или lodash). Кто знает такие репозитории на github?

Kirill
21.11.2017
09:53:07
Пацаны, а можно сделать вот такой тип? Есть interface s { s1: type1[]; s2: type2[]; s3: type3[]; } Мне нужно получить тип который обходит по всем ключам интерфейса и делает юнион (|) В итоге конечный тип type t = type1[] | type2[] | type3[]

Kirill
21.11.2017
09:57:38
type Values<T> = T[keyof T]
Огонь, спасибо.

Стандартного нет такого в тс?

andretshurotshka?❄️кде
21.11.2017
09:58:14
вроде нет

Сергей
21.11.2017
13:17:35
эт спамер

иль бот

Aleh
21.11.2017
13:17:51
или ts разработчик!

Ҫѐҏӗѫӑ
21.11.2017
13:19:26
может даже хацкелъ

Сергей
21.11.2017
13:19:34
в описание гляньте

Morsik
21.11.2017
13:19:42
>...чет скучно..пишите в WhatsApp +79685423056 ? и развеселите идрис, определенно

Ҫѐҏӗѫӑ
21.11.2017
13:19:48
кок!

Aleh
21.11.2017
13:20:09
coq для лохов, которым не скучно

Alex
21.11.2017
13:22:17
Ну логика то вполне понятна. Многие думают, что у IT'шников много денег, но мало секса

Ҫѐҏӗѫӑ
21.11.2017
13:27:33
а на самом деле все наоборот

Eugene
21.11.2017
16:59:09
Вопрос: возьмём какую-нибудь популярную библиотеку (jQuery, lodash), установим её тайпинги (npm install @types/jquery @types/lodash), затем откроем helloworld.ts и начнём писать с использованием символа $ или _ - типы подхватываются компилятором, НЕ требуется никаких дополнительных телодвижений типа import * as $ from "jquery" или import * as _ from "lodash". Теперь я встаю на место автора некоей библиотеки (изначально пишу на TypeScript), хочу сгенерировать такие тайпинги, чтобы они подхватывались глобально как в примере с jquery и lodash. Как? Опция компилятора "declaration": true генерирует кучу мелких d.ts, но даже если я вручную положу их в node_modules/@types/mylib - ничего не подхватывается. Есть ещё утилита https://github.com/TypeStrong/dts-bundle которая склеивает мелкие .d.ts и оборачивает в declare module "имя_мелкого_файла_модуля" {...}, но глобально потом всё равно не могу использовать свою mylib по аналогии как это получается с jquery и lodash.
А разве это не особенность @types?

Admin
ERROR: S client not available

Eugene
21.11.2017
17:02:02
Вопрос: возьмём какую-нибудь популярную библиотеку (jQuery, lodash), установим её тайпинги (npm install @types/jquery @types/lodash), затем откроем helloworld.ts и начнём писать с использованием символа $ или _ - типы подхватываются компилятором, НЕ требуется никаких дополнительных телодвижений типа import * as $ from "jquery" или import * as _ from "lodash". Теперь я встаю на место автора некоей библиотеки (изначально пишу на TypeScript), хочу сгенерировать такие тайпинги, чтобы они подхватывались глобально как в примере с jquery и lodash. Как? Опция компилятора "declaration": true генерирует кучу мелких d.ts, но даже если я вручную положу их в node_modules/@types/mylib - ничего не подхватывается. Есть ещё утилита https://github.com/TypeStrong/dts-bundle которая склеивает мелкие .d.ts и оборачивает в declare module "имя_мелкого_файла_модуля" {...}, но глобально потом всё равно не могу использовать свою mylib по аналогии как это получается с jquery и lodash.
Коль речь немного зашла про тайпинги и их генерацию, подкину ещё собственный велик - может кому-то пригодится https://github.com/timocov/dts-bundle-generator

Google
Ghost
21.11.2017
18:01:10
Привет всем! Не могли бы подкинуть уроков/видео о TypeScript?

Moe
21.11.2017
18:20:46
гайз, я ленивый - что означает значок вопроса? interface Iterator<T> { next(value?: any): IteratorResult<T>; return?(value?: any): IteratorResult<T>; throw?(e?: any): IteratorResult<T>; }

Mike
21.11.2017
18:21:34
необязательное полу

На итераторе обязан быть некст, который модет принимпть параметр а может и нет. И может иметь коллбек видимо на рreturn и throw а может не иметь, и параметр в них тоже не обязателен

Mike
21.11.2017
18:25:10
смотри у next нет вопросика

значит next существует обязательно. Но параметр уже с вопросиком - не обязателен

Moe
21.11.2017
18:25:40
смотри у next нет вопросика
а! )) ептель - я и не заметил!!

Mike
21.11.2017
18:25:55
а у throw и return есть вопросик

нутыпонел

Moe
21.11.2017
18:26:09
теперь все понял - благодарю ))

Mike
21.11.2017
18:26:51
ваще странный итератор, это откуда такой?

хотя что-то в нём есть

Moe
21.11.2017
18:27:19
ваще странный итератор, это откуда такой?
http://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-3.html

Mike
21.11.2017
18:27:27
а

Moe
21.11.2017
18:27:51
версия старая?

Mike
21.11.2017
18:28:13
не просто забыл что их туда впилили, не пользуюсь

у меня свои итераторы для списков и деревьев, со счётчиком ссылок и пулингом

andretshurotshka?❄️кде
21.11.2017
18:29:34
лол

Google
Moe
21.11.2017
18:32:12
еще такой вопросик смотрю курсик с Udemy по TS автор показывает настройки компилятора и использование noEmitOnError я в своем учебном проектике сгенерировал tsconfig.json через tsc --init, но что-то такой опции noEmitOnError не нахожу там, даже закомиченой ( ?

Mike
21.11.2017
18:32:50
любые опции отсюда работают в tsconfig https://www.typescriptlang.org/docs/handbook/compiler-options.html

я старый самолёт, пишу конфиги сам

Ghost
21.11.2017
18:33:45
Как указать компилятору, где искать тайпинги?

Moe
21.11.2017
18:34:54
любые опции отсюда работают в tsconfig https://www.typescriptlang.org/docs/handbook/compiler-options.html
ага - увидел ) впилить опцию какую надо в tsconfig.json - и будет счастье? )

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