@typescript_ru

Страница 579 из 669
Ҫѐҏӗѫӑ
16.04.2018
08:38:59
это не оператор

andretshurotshka?❄️кде
16.04.2018
08:40:09
А все, вспомнил че там

Max
16.04.2018
08:44:26
Операнд)

Google
Adam
16.04.2018
08:47:59
Что за «плюсик?»

Насколько я знаю, из операторов только инфиксный восклицательный знак появился

После операнда

Aleh
16.04.2018
08:49:33
Насколько я знаю, из операторов только инфиксный восклицательный знак появился
https://github.com/Microsoft/TypeScript/wiki/What's-new-in-TypeScript#improved-control-over-mapped-type-modifiers

Adam
16.04.2018
08:50:06
ого

Vlad
16.04.2018
09:20:33
Ребята а почему я не могу используя knex в тайпскрипте при конфигурации Knex у меня нет поля extensions

this.knex = Knex({ client: 'pg', connection: { charset: 'utf8', database: postgresSettings.database, host: postgresSettings.host, password: postgresSettings.password, user: postgresSettings.user }, searchPath: [this.pgs.schema], migrations: { directory: ${__dirname}/migrations, extensions: ['ts', 'js'] } });

sanqa
16.04.2018
13:06:45
interface IOrderBookItem { buy: { price: number; number: number; size: number; }; sell: { price: number; number: number; size: number; }; } парни описал такой интерфейс, но ругается на error TS2339: Property 'buy' does not exist on type 'OrderBookItem[]'., c sell точно так же

и конструктор export class OrderBookItem implements IOrderBookItem { buy: { price: number; number: number; size: number; }; sell: { price: number; number: number; size: number; }; constructor(buy: { price: 0, number: 0, size: 0 }, sell: { price: 0, number: 0, size: 0 }) {}

Vitaliy
16.04.2018
13:19:33
> price: 0,

а покажи место использования?

ошибку показывает с массивом

может ты переменной IOrderBookItem присваиваешь массив, или что-то в этом роде

Google
sanqa
16.04.2018
14:19:06
ну вообще да

массив с 2 объектами buy и sell

Max
16.04.2018
14:20:49
пасаны а как нормально вернуть класс? class Something { static firstName = 'Max' } console.log(Something.firstName) const getClass = (): new () => Something => Something const NewClass = getClass() console.log(NewClass.firstName)

последняя строка падает

Vitaliy
16.04.2018
14:36:18
(): typeof Something => Something;

Max
16.04.2018
14:38:15
хм, сек

ок, работает

я уже по-другому переписал, но спасибо

была проеблема с typeof давно просто

https://github.com/Microsoft/TypeScript/issues/18252

Kirill
16.04.2018
14:39:53


Max
16.04.2018
14:40:23
а почему должен?

Дмитрий
16.04.2018
14:40:44
пасаны а как нормально вернуть класс? class Something { static firstName = 'Max' } console.log(Something.firstName) const getClass = (): new () => Something => Something const NewClass = getClass() console.log(NewClass.firstName)
С тс иногда такое тоже случается: если не мешать выводу типов то как ни странно всё работает как есть))

Max
16.04.2018
14:40:59
дим, я тайпинг для либы пишу )

там не получится "оставить как есть" :(

ну вроде победил

Дмитрий
16.04.2018
14:41:25
Аа, ну тут тогда загон, да

Я недавно про это же тут спрашивал

Max
16.04.2018
14:41:38
export function getProvider<Store extends SharedStore>( name: string, StoreClass?: new(storeName: string, initialState?: any) => Store ): { new(): EnhancedComponent<Store> connect<TOuterProps, TMappedProps>(mapStoreToProps: MapStateToProps<Store, TOuterProps, TMappedProps>): ComponentDecorator<Store, TOuterProps> }

добрый вечер

Google
Max
16.04.2018
14:41:59
через полгода опять буду 2 часа в это въезжать

Дмитрий
16.04.2018
14:42:35
О да, этому коду определённо не хватает ещё синтаксических матюков)

?

Max
16.04.2018
14:42:46
ага

Дмитрий
16.04.2018
14:43:31
Блин, степень полиморфизма connect в react-redux уже третий год травмирует людей

Max
16.04.2018
14:43:50
ну да, тот же самый коннект :)

Kirill
16.04.2018
14:44:00
а почему должен?
Почему {...state, c: 1} совместим с типом State? Поля c ведь нету в State.

Дмитрий
16.04.2018
14:44:14
А там ж ещё connectAdvanced есть, ууух

Max
16.04.2018
14:44:27
О, спасибо)
пожалуйста, но за что? :)

Andrey
16.04.2018
14:44:38
пожалуйста, но за что? :)
Буду фанам ts это показывать)

Andrey
16.04.2018
14:44:57
Когда они будут говорить про лаконичность и чистоту ts)

Дмитрий
16.04.2018
14:45:02
Они j[et.n ghjcnj

Max
16.04.2018
14:45:13
ну если в такой пиздец не лезть то более менее

Сергей
16.04.2018
14:45:30
Artur
16.04.2018
14:45:32
С mobx вообще норм заходит, в нём такого писать не приходится )

Max
16.04.2018
14:45:32
интересно как на флоу будет выглядеть

Max
16.04.2018
14:45:59
Артур, у меня свой стейт-менеджер и я для него пишу тайпинги

Google
Andrey
16.04.2018
14:46:05
Дмитрий
16.04.2018
14:46:08
Потому что люди проект свой типизируют, а не рынок захватывают

Max
16.04.2018
14:48:25
через typeof прилетает новый пиздец



ладно, оставлю через new пока

странно правда

Дмитрий
16.04.2018
14:49:41
Мне показали иное решение, но я чёт оказался не готов такое тащить в тайпинги

Admin
ERROR: S client not available

Max
16.04.2018
14:49:47
покаж

я рисковый парень

Дмитрий
16.04.2018
14:51:09
Кстати, вот по поводу вот этого вот скрина

Допустим, я хочу универсальное решение, то бишь чтобы выводилось и на тайпскрипте

В флоу этот код описан вот так declare export class FSM<Data, Ctx> { when<D: Data, S: Ctx>( data: Class<D>, state: Class<S>, (data: D, state: S) => Ctx, ): this; } А как объявить Class<D> в тс? Уже всё из головы вылетело)

class Foo {} // Это ссылка на инстанс const foo: Foo = new Foo() // Это ссылка на сам класс const bar = Foo typeof bar // => Class<Foo> Вот мне нужно для любого дженерика сказать, что мы имеем вот этот вот самый bar для данного типа,

export interface Class<T> extends Function { new (...args: any[]): T; }

Я кстати тебе изначальный скрин и кидал)

Max
16.04.2018
14:51:55
да, но через new не работает доступ к статикам

у меня так и есть тащемта



Дмитрий
16.04.2018
14:52:41
Кейс для интерфейса

Google
Max
16.04.2018
14:52:52
ну вынесу я это в интерфейс

будет то же самое, просто будет еще и интерфейс

Дмитрий
16.04.2018
14:53:43
А, хотя да

Блин, дно

Сергей
16.04.2018
14:54:03
жесть какая

Max
16.04.2018
14:54:31
да похуй закоммичу и не буду это тыкать палкой еще полгода

наружу аккуратно торчать все будет :)

Anton
16.04.2018
14:59:47
Может кто помочь?
Это утиная типизация :) Если все поля, необходимые State'у есть - оно нам подходит

Anton
16.04.2018
15:01:17
Перечитай моё сообщение ещё раз :) лишние нас не интересуют, это не проблема

Max
16.04.2018
15:01:46
Так я ведь ещё и лишнее кидаю.
вот те упрощенный вариант примера

Anton
16.04.2018
15:01:54
главное, чтобы тип был не Уже, чем нам надо. Шире можно

Max
16.04.2018
15:01:57
упс

щас

Andrey
16.04.2018
15:02:07
Надеюсь, что аналогия ясна.

Kirill
16.04.2018
15:02:19
Это утиная типизация :) Если все поля, необходимые State'у есть - оно нам подходит
Если сделаешь через обычную функцию, а не колбэк, то ругаться будет

Max
16.04.2018
15:03:11
а хм

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