@typescript_ru

Страница 192 из 669
Andrey
28.03.2017
19:24:54
спасибо :)

Petr
28.03.2017
19:38:16
Чат, wtf? простой код const allForms: string[] = variants.reduce((acc, item: IItem) => { const { form } = item; acc.push(form); return acc; }, []); Ругается на третью строку, что Argument of type 'string' is not assignable to parameter of type 'never'.
у тебя начальное значение для. acc задано как [] - это массив из значений never! Естесвенно ты не можешь сделать push значения типа string в массив значений never

пиши reduce(..., [] as string[])

Andrey
28.03.2017
19:39:20
Google
Andrey
28.03.2017
19:39:27
пиши reduce(..., [] as string[])
спасибо большое :)

@petrmyazin да, и мне нравится твой подкаст … не забрасывай :)

Petr
28.03.2017
19:41:46
ok! Сегодня вот выпуск записал!

Сергей
29.03.2017
13:54:38
Всем привет

Aleh
29.03.2017
13:55:07
привет)

Сергей
29.03.2017
13:55:14
есть ts2 проект установил не ts пакет в node_modules тайпингов для него нет написал свой .d.ts файл, куда его положить, чтобы всё ок?))

Artur
29.03.2017
13:56:24
Сергей
29.03.2017
13:56:36
не прокатило. всё равно ругается

Artur
29.03.2017
13:56:54
Или положить в любое место, но добавить в "files" в tsconfig.json

Сергей
29.03.2017
13:57:21
[ts] Could not find a declaration file for module 'MyModule'. '/home/name/projects/crypto/node_modules/MyModule/my-module.js' implicitly has an 'any' type.

а как называться должен?

Google
Artur
29.03.2017
13:58:29
declare module "MyModule" { ... } ?

Сергей
29.03.2017
13:58:41
declare module 'MyModule' { export function foo(data: string): string; }

Artur
29.03.2017
13:58:50
А импортишь как?

import * from "MyModule"?

Сергей
29.03.2017
13:59:12
import { foo } from 'MyModule'

Artur
29.03.2017
13:59:31
Ты точно нигде не ипмортишь MyModule/my-module?

Сергей
29.03.2017
14:00:47
добавил files: [ 'typings/mymodule.d.ts' ] заработало

но выглядит костыльно

компилер понимает, а вот VsCode нет

Artur
29.03.2017
14:01:27
vscode использует для "понимания" компилер

Сергей
29.03.2017
14:03:09
во, спасибо!

не мой был выбор писать на ts

Artur
29.03.2017
14:07:05
не мой был выбор писать на ts
Тот кто выбрал, сделал правильный выбор!

andretshurotshka?❄️кде
29.03.2017
14:09:16
Artur
29.03.2017
14:09:24
лол
кек

Сергей
29.03.2017
14:10:17
Тот кто выбрал, сделал правильный выбор!
да ну... я тут с типами трахаюсь уже почти неделю и ещё столько же буду а без типов и с тестами уже дописал бы на ramda

Artur
29.03.2017
14:10:37
Например для меня будет ровно наоборот - на ramda писал бы хз сколько времени, ан ts - быстрее.

Google
Artur
29.03.2017
14:11:18
Но вообще да, без типов писать быстрее

andretshurotshka?❄️кде
29.03.2017
14:11:21
а почему бы не писать на рамде вместе с тс)

Сергей
29.03.2017
14:11:29
Только потому что тебе не знакома технология.
я впринципе с типами очень дружу, приходилось и на плюсах и на яве писать, раст тренирую. Но блин, в js быстрее писать в фп стиле

а почему бы не писать на рамде вместе с тс)
да потому что интерфейсы нужно описать каждого измененного типа. во вторых заказчик хочет на классах и наследовании. ему дико, что можно вызывать просто функции

Artur
29.03.2017
14:12:14
Мне на js писать нифга не быстрее

andretshurotshka?❄️кде
29.03.2017
14:12:17
Не обязательно же все типизировать, хватит input и output

Сергей
29.03.2017
14:12:32
в общем, спасибо!

Artur
29.03.2017
14:14:08
но выглядит костыльно
Есть не костыльное решение: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html#types-typeroots-and-types

Сергей
29.03.2017
14:14:23
ооо, спасибо

Artur
29.03.2017
14:14:42
Только дефинишен переписать надо будет, убрав верхний declare module "MyModule"

И на будущее, у typescript есть опция --traceResolution, которая показывает где ts ищет файлы определений

Сергей
29.03.2017
14:16:06
блин он не ищет в директории в которой я указал ((



а он не ищет впринципе в ./typings

andretshurotshka?❄️кде
29.03.2017
14:29:40
У меня ощущение что эта фича не работает

Я тоже пытался так делать)

Сергей
29.03.2017
14:30:41
https://gist.github.com/LestaD/310f5a1e772f831c1b876ee5d181beaa

Вот поэтому и не хочу юзать отдельный язык Уж лучше flow как надстройку

Google
Сергей
29.03.2017
14:31:31
Это сказки)
какие сказки?

Aleh
29.03.2017
14:31:46
какие сказки?
Про надстройку

andretshurotshka?❄️кде
29.03.2017
14:32:22
allowJs и поехали

Сергей
29.03.2017
14:33:05
Про надстройку
flow это надстройка над js а не отдельный язык если можешь доказать что это не так, давай

Admin
ERROR: S client not available

Artur
29.03.2017
14:34:03
Я не понимаю почему надо вдруг использовать flow, только потому что он не отдельный язык

Сергей
29.03.2017
14:34:03
Ts тоже самое что flow
совсем не тоже самое

Artur
29.03.2017
14:34:10
Это чо, стакое преимущество?

andretshurotshka?❄️кде
29.03.2017
14:34:43
Сергей
29.03.2017
14:34:51
Ts тоже самое что flow
flow вводит только типы он работает НАД js, а не меняет его Учитывая что flow работает сквозь babel то и работают все фичи которые нужны

Aleh
29.03.2017
14:34:55
А по фичам?)
Только по багам)

Artur
29.03.2017
14:35:28
а он не ищет впринципе в ./typings
"typeRoots": ["./.typings/types", "./node_modules/@types"], "paths": { "*": ["./.typings/types/*"], "src/*": ["./src/*"] }, Вот кусочек моего конфига

Так работает

andretshurotshka?❄️кде
29.03.2017
14:35:31
Только по багам)
Я про ковариантность и контравариантность)

Google
Сергей
29.03.2017
14:36:22
Всё то же самое применимо к typescript
эм а ничего что у него разные варианты компилятора? Что он берет СВОЙ синтасис и компилирует его в JS

andretshurotshka?❄️кде
29.03.2017
14:36:33
флоу повезло в бабел попасть и все)

Aleh
29.03.2017
14:36:45
Сергей
29.03.2017
14:37:11
Artur
29.03.2017
14:37:19
но не меняет старый
ts тоже не меняет старый

Сергей
29.03.2017
14:37:26
флоу повезло в бабел попасть и все)
у них есть возможность работать БЕЗ бабеля

ts тоже не меняет старый
выйдут декораторы, что будет делать ts? выпускать версию 3 ?

Artur
29.03.2017
14:37:49
То есть flow можно запустить без предкомпиляции и всё будет работать?

Artur
29.03.2017
14:38:06
выйдут декораторы, что будет делать ts? выпускать версию 3 ?
а что не так с декораторами? Они работают только с флагами

Сергей
29.03.2017
14:38:18
Dreamerinnoise
29.03.2017
14:38:26
Поэтому они под флагом

Artur
29.03.2017
14:38:29
Ну да, и их нет в дефолте ts

Aleh
29.03.2017
14:38:38
Так то, что тс умеет немного в стейжи это хорошо

Artur
29.03.2017
14:38:51
Возвращаемся к теме надстроек. Чем тут лучше flow?

Aleh
29.03.2017
14:39:14
Лучше к исходному вопросу, там чет ошибка с typeRoots

Сергей
29.03.2017
14:39:14
Возвращаемся к теме надстроек. Чем тут лучше flow?
если нужен плагин бабеля с ts у тебя появляется 2 компилятора

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