@typescript_ru

Страница 230 из 669
Aleh
15.05.2017
10:48:42
не норм

там много чего сделано, но он не работает полностью

вроде их наработки юзают в pr для babylon, но я не смотрел код еси честно

Сергей
15.05.2017
10:50:42
чтоб бабилон мог парсить тс?

Google
Max
15.05.2017
10:52:44
что такое babylon?

Dreamerinnoise
15.05.2017
10:53:00
парсер

Max
15.05.2017
10:53:01
https://github.com/babel/babylon

оно?

Dreamerinnoise
15.05.2017
10:54:24
Да

Max
15.05.2017
11:50:57


тут завезли внезапно

само показывает имя аргумента

само

Artur
15.05.2017
11:51:27
само показывает имя аргумента
а для php было ещё в прошлой версии

Max
15.05.2017
11:51:54
сорян, мне говна в жс-е хватает )

Artur
15.05.2017
11:54:21
Google
Max
15.05.2017
11:54:31
угу (

парни

а почему не рекомендуется I префикс ставаить?

для интерфейсов

Artur
15.05.2017
12:26:16
Ну вот смотри, function handleSomething(something: ISomething) - какой здесь смысл в I? Это может быть как тип, так и интерфейс, так и класс

Грубо говоря, есть название сущности: Something. Всё остальное - лишний мусор вокруг

Max
15.05.2017
12:26:52
ну вот у меня импорт идет import {AppStore} from "features/FormBuilder/reducer";

Artur
15.05.2017
12:26:56
Точно также можно сказать про префикс Abstract например для абстрактных классов

Max
15.05.2017
12:27:12
я пока не посмотрю как используется я не могу сказать что это — интерфейс или класс

Dreamerinnoise
15.05.2017
12:27:36
IItem

Vladimir
15.05.2017
12:28:10
Учитывая что в TS нет разницы между интерфейсом и классом

Max
15.05.2017
12:28:51
Artur
15.05.2017
12:29:02
да вот хз
Вот и ответ )

Vladimir
15.05.2017
12:29:04
да ну?))
Ну да

Max
15.05.2017
12:29:11
сформулирую щас

Сергей
15.05.2017
12:29:44


Vladimir
15.05.2017
12:30:15
Ну не в этом смысле же

Google
Vladimir
15.05.2017
12:30:18
Всмлысе типов

Artur
15.05.2017
12:30:27
Короче, проблема нейминга интерфейсов-реализаций должна решаться (на мой взгляд) так: Интерфейс/тип описывает общий кейз применения сущности, например: Mailer. А вот класс, реализующий интерфейс, должен в названии содержать уточнение, например: SmtpMailer, FakeMailer, MailerLogger и так далее

Сергей
15.05.2017
12:30:28
тупняк =(

Artur
15.05.2017
12:31:23
I, Interface, Abstract в названии - признак того, что чувак не подумал при написании хорошо

Aleh
15.05.2017
12:31:26
Учитывая что в TS нет разницы между интерфейсом и классом
класс можно делать номинальным через модификаторы доступа)

к - костыли

Pavel
15.05.2017
12:33:11
мне вообще кажется странным использование слова Interface для того, что оно подразумевает в тс

но это наверно после джавы

Vladimir
15.05.2017
12:34:09
Оно подразумевает ровно то же, что и в джаве

Aleh
15.05.2017
12:35:07
только структурное

Pavel
15.05.2017
12:36:49
а тут это просто сахар для чекинга

Vladimir
15.05.2017
12:37:30
Чет ничего не понял

Там есть отличия, но суть одна и та же

Pavel
15.05.2017
12:39:32
это субъективно просто, в голове есть некий диссонанс когда задумываешься о реализации интерфейса в свойствах, а не в методах

ну точнее не только в методах

Google
Aleh
15.05.2017
12:39:56
ну так-то в жаве это такой же сахар для чекинга

Nikita
15.05.2017
12:40:05
I, Interface, Abstract в названии - признак того, что чувак не подумал при написании хорошо
смотрел код от майкрософт и в их ts линтер конфиге рекомендуют использовать I в начале

Artur
15.05.2017
12:40:42
В symfony тоже советуют писать Interface, Abstract

Но там нет ответа на вопрос "зачем?"

Pavel
15.05.2017
12:41:17
мы кстати используем I для всяких IPropsState, IPropsDispatch, IProps - в рамках файла с компонентом быстро глаза цепляются

в остальных случаях по названию сущности

Admin
ERROR: S client not available

Pavel
15.05.2017
12:44:34
вообще от тайпскрипта ощущения двоякие, особенно после того как тебе в рантайме выпадает moment is not a function и ты потом обнаруживаешь тысячу способов подключить момент в тс, при этом каждый пишет свой

Aleh
15.05.2017
12:46:42
это вы allowSynteticDefault сделали?

ну т.е. вы компилятору сказали "пацан, я это сам похендлю" и не похендлили)

Pavel
15.05.2017
12:47:32
да нет, не сказали

Boris
15.05.2017
12:53:05
Такие же мысли постоянно

мне вообще кажется странным использование слова Interface для того, что оно подразумевает в тс

Max
15.05.2017
12:53:32
Ну вот это описане структуры данных по сути

Наверное поэтому хочется отделить

Aleh
15.05.2017
12:56:51
Ну вот это описане структуры данных по сути
не, это описание объекта, методы там все дела

Max
15.05.2017
15:29:42
а что должна возвращать async функция которая возвращает массив строк?



Google
Сергей
15.05.2017
15:31:58
промис

Max
15.05.2017
15:31:59
Promise<string[]>

Сергей
15.05.2017
15:32:05
да

Max
15.05.2017
15:32:05
да, так заработало

Олег
15.05.2017
15:39:29
Но почему так

Сергей
15.05.2017
15:39:46
async возвращает промис, по стандарту

Dreamerinnoise
15.05.2017
15:39:51
Потому что асинк должна возвращать промис

Alexander
15.05.2017
15:43:40
потому что async-функция не может сразу вернуть значение по определению

соответственно, возвращает промис

Олег
15.05.2017
15:47:33
Я понял, спасибо)

Max
15.05.2017
17:33:22


а тут как обойти?

а все

вижу

const axiosMock = new (jest.fn<AxiosMock>());

ну и конструкция

Dreamerinnoise
15.05.2017
17:36:14
нормальная

Artur
15.05.2017
17:37:06
const axiosMock = new (jest.fn<AxiosMock>());
const axiosMock: AxiosMock = new jest.fn() Или что там возвращается

Max
15.05.2017
17:37:59
не, там сложнее

function fn<T>(implementation?: Function): Mock<T>; … interface Mock<T> extends Function, MockInstance<T> { new (): T; (...args: any[]): any; }

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