@typescript_ru

Страница 587 из 669
Дмитрий
26.04.2018
13:47:58
Если сделать нормальные тесты данного типа, с false positive и false negative то выяснится что он успешно их проваливает

Потому что в доке чёрным по белому сказано, как работают disjoint unions)

Google
Дмитрий
26.04.2018
13:50:56
И даже если это можно выводить тем или иным образом, матчинг по полю (как предполагается когда вы работаете с disjoint), кардинально повышает надёжность и стабильность вывода типа

Max
26.04.2018
14:42:04
а где это в доке сказано, не нашел

Sukhrob
26.04.2018
15:25:55


Текст ошибки: Argument of type '(this: void, animal: Animal) => any' is not assignable to parameter of type '(this: void, value: Animal, index: number, obj: Animal[]) => value is T'. Signature '(this: void, animal: Animal): any' must be a type predicate.

Aleh
26.04.2018
15:29:16
function isDog(a: Animal): a is Dog { return a instanceof Dog } ... return animals.find(isDog)

Sukhrob
26.04.2018
15:30:07
Или дисджоинт юнион.
Это что такое?

Alice
26.04.2018
15:31:12
Это что такое?
class Animal {} class Dog ... { type: 'dog' } class Cat ... { type: 'cat' } ... ... x.type === 'dog' Должно работать вроде.

Sukhrob
26.04.2018
15:32:40
что-то не то... Мне нужно исправить только 15-ую строку.

Alice
26.04.2018
15:33:10
Но дисджоинт юнионы всяко лучше, имхо.

Sukhrob
26.04.2018
15:34:06
Алексей
26.04.2018
15:34:25
Можешь у флагов внутри классов тип поставить

Google
Sukhrob
26.04.2018
15:34:25
Ну тогда инстансоф.
увы, ничего не поменялось...

Дмитрий
26.04.2018
15:34:54
Но дисджоинт юнионы всяко лучше, имхо.
Оба варианта — ад хок костыли для sum type

Sukhrob
26.04.2018
15:35:52
Дело в том, что если пользоваться методом Array.find() то проблем нет. Но когда я хочу задать тип: Array.find< T > ( ) То выясняется, что предикат-то я не могу написать по феншую.... В этом проблема. А не в классах анимал, дог и кэт.

Alice
26.04.2018
15:35:55
Оба варианта — ад хок костыли для sum type
Ну дисджоинт юнионы лучше хотя бы тем, что работают не только с инстансами классов.

Sukhrob
26.04.2018
15:37:12
Есть у кого примеры, как пользоваться: Array.find< T > ( ) ?

andretshurotshka?❄️кде
26.04.2018
15:43:33
мимо

goo.gl/623G1j

Дмитрий
26.04.2018
15:46:04
Еее бивариантность

andretshurotshka?❄️кде
26.04.2018
15:48:46
о

в стрикт функциях в другоом месте ошибка

Дмитрий
26.04.2018
15:49:40
Лол, а там же правда ошибка

andretshurotshka?❄️кде
26.04.2018
15:50:14
а нет

там же

Дмитрий
26.04.2018
15:51:11
Некорректно говорить что после функции .find у тебя будет тип T, только T | void

Без стрикта тс на это клал с пробором)

Sukhrob
26.04.2018
15:51:36
Нашел решение

все оказалось просто

andretshurotshka?❄️кде
26.04.2018
15:52:23
Без стрикта тс на это клал с пробором)
нельзя опции сохранять в ссылке))

Google
andretshurotshka?❄️кде
26.04.2018
15:52:57
Sukhrob
26.04.2018
15:53:10


и все, предикат написан верно а содержимое предиката это уже другая история, потому я его сократил до true

Дмитрий
26.04.2018
15:54:05
Еее касты

Sukhrob
26.04.2018
15:54:11
Ура! Еще один камень машинописи сгрызен!

Юра
26.04.2018
15:54:24
да этож чуш

Дмитрий
26.04.2018
15:54:39
ето обман

Юра
26.04.2018
15:54:50
https://i.gyazo.com/d230ca90a4f6a9a9042e753806c1993a.png

и смысл этой функции

andretshurotshka?❄️кде
26.04.2018
15:55:31
>это уже другая история

не читай тред, пости мемы

Юра
26.04.2018
15:56:23
axios для редакса)

Юра
26.04.2018
15:56:24
ага)

Sukhrob
26.04.2018
15:57:10
https://i.gyazo.com/d230ca90a4f6a9a9042e753806c1993a.png
у тебя на картинке Array.find ( ) а мне нужно было изучить Array.find< T > ( )

разница большая

Юра
26.04.2018
15:57:32
я тебе скинул транспилинный вариант

Sukhrob
26.04.2018
15:57:59
и смысл этой функции
а по поводу смысла я уже не раз писал: > а содержимое предиката это уже другая история, потому я его сократил до true и ранее: > Пример сильно утрирован. Но думаю смысл не потерялся.

я тебе скинул транспилинный вариант
у меня вопрос был про тайпскрипт и про то как использовать вариант Array.find< T > ( )

зачем было показывать что он там перевел?

Damir
26.04.2018
15:59:42
Typescript охуенен ?

Google
Sukhrob
26.04.2018
16:00:10
не читай тред, пости мемы
а по русски? ниче не понял. Что за тред? почему вместо внятного текста мемы постить????

andretshurotshka?❄️кде
26.04.2018
16:09:00
эт я не тебе ответил)

Le
26.04.2018
16:16:45
find<Dog>().isDog какой-то странный код

дженерики с рантаймом намешаны

Sukhrob
26.04.2018
16:17:13
find<Dog>().isDog какой-то странный код
сколько можно писать??? вот еще раз пишу: а по поводу смысла я уже не раз писал: > а содержимое предиката это уже другая история, потому я его сократил до true и ранее: > Пример сильно утрирован. Но думаю смысл не потерялся.

дженерики с рантаймом намешаны
что такое дженерики и рантайм?

Admin
ERROR: S client not available

Sukhrob
26.04.2018
16:18:18
я просто хотел было пофиксить, но это что-то нефиксабельное
я же пофиксил свой код. И выше написал что конкретно и почему.

Le
26.04.2018
16:18:43
ну ладна

Sukhrob
26.04.2018
16:21:09
дженерики с рантаймом намешаны
что такое дженерики и рантайм?

ну ладна
Я в след. раз по другому код распишу. Абстрактный код похоже никто не понимает, даже если прокомментируешь его(

Le
26.04.2018
16:22:58
что такое дженерики и рантайм?
про дженерики на оф. сайте глава есть, рантайм это грубо говоря выполняемый код, сам жс

Sukhrob
26.04.2018
16:23:22
> дженерики по английски как термин то звучит?

Aleh
26.04.2018
16:23:36
https://www.typescriptlang.org/play/index.html#src=interface%20Animal%20%7B%20%7D%0D%0Aclass%20Dog%20%7B%0D%0A%20%20%20%20isDog%20%3D%20true%0D%0A%7D%0D%0A%0D%0Afunction%20isDog(a%3A%20Animal)%3A%20a%20is%20Dog%20%7B%0D%0A%20%20return%20a%20instanceof%20Dog%0D%0A%7D%0D%0Afunction%20f(animals%3A%20Animal%5B%5D)%20%7B%0D%0A%20%20%20%20return%20animals.find(isDog)%0D%0A%7D%0D%0A

Le
26.04.2018
16:23:40
generics

Sukhrob
26.04.2018
16:24:31
обобщения что-ли?

Le
26.04.2018
16:25:01
ну наверно это так переводится

я вообще имел в виду, что Dog передается не как аргумент функции, а как аргумент дженерика

Google
Le
26.04.2018
16:27:19
и непонятно зачем и как это должно работать

Sukhrob
26.04.2018
16:29:42
Le
26.04.2018
16:31:39
пример абстрактный))) был...
ну это понятное дело, но в доках тоже примеры абстрактные, но рабочие

Sukhrob
26.04.2018
16:32:04
переборщил значит)

Dmitrii
26.04.2018
16:48:23
как загрузить tsconfig с помощью ts? интересует обработка extends

в общем хочется передать путь до tsconfig файла, а получить уже результирующий json (с раскрытыми extends)

andretshurotshka?❄️кде
26.04.2018
17:04:33
https://github.com/ikatyang/tsconfig-extends

Евгений
27.04.2018
07:17:35
Всем добра! Подскажите как быть с циклическими зависимостями? В файле a.ts есть класс А, там объявлено что у него есть свойство с типом B. B описывается в b.ts и в конструторе ожидает получить параметр типа A ?

Евгений
27.04.2018
07:36:27
*** file a.ts import { B } from './b'; console.log('*-*--*', B) // Function B() .... export class A { private threads: B[] = []; } *** file b.ts import { A } from './a'; console.log('*-*--*', A); // undefined export class Thread { constructor(private a?: A) { } }

Евгений
27.04.2018
07:42:01
проблема с пустым модулем

Sukhrob
27.04.2018
07:42:10
> console.log('*-*--*', A); // undefined если это проблема, то да, при рекурсии будет проблема пустого модуля. Это никак не решается. Перепроектируйте свои классы.

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