Size: a a a

2020 April 18

UU

Unhappy Unknown in Frontend UA
источник

UU

Unhappy Unknown in Frontend UA
Eugene Obrezkov
хм... а это можно как-то реализовать на том что есть в тс?
А це вже бачив?
источник

IT

Ivan Tytarenko in Frontend UA
Eugene Obrezkov
как вы думаете, а можно ли сделать у TypeScript что-то типа последовательного расширения информации в типах (я не знаю как это правильно называется, если вообще такое есть)

пример, я хочу, чтобы автокомплит и система типов понимала, какие имена фигур были добавлены через билдер

SlideBuilder
 .withShape('Name #1')
 .withShape('Name #2')
 .withOrder('Type check here that only Name #1 or Name #2 could be here')
о, мне нужно бы подобное, но для type guard
источник

IT

Ivan Tytarenko in Frontend UA
но 99% что такое невозможно
источник

EO

Eugene Obrezkov in Frontend UA
Ivan Tytarenko
но 99% что такое невозможно
это возможно, более того, это реализуемо, более того я и сам могу такое реализовать - вопрос в том, есть ли такое в TypeScript 🙂
источник

IT

Ivan Tytarenko in Frontend UA
типа

assert(value).isNumber().isBetween(2, 6).isInArray([1,2,3,4])
источник

EO

Eugene Obrezkov in Frontend UA
Вот Игорь вроде подтолкнул в правильном направлении, как это называется в терминологии типов
источник

IT

Ivan Tytarenko in Frontend UA
value изначально unknown
источник

IT

Ivan Tytarenko in Frontend UA
после прохождение подобной цепочки - должен быть number
источник

IT

Ivan Tytarenko in Frontend UA
Eugene Obrezkov
это возможно, более того, это реализуемо, более того я и сам могу такое реализовать - вопрос в том, есть ли такое в TypeScript 🙂
ну я про ТС, не в целом
источник

IT

Ivan Tytarenko in Frontend UA
в целом то ясно
источник

EO

Eugene Obrezkov in Frontend UA
Ivan Tytarenko
типа

assert(value).isNumber().isBetween(2, 6).isInArray([1,2,3,4])
мне как раз посложнее надо, что-то типа:

параметр функции Х должен иметь union type аргументов всех вызовов функции Y
источник

EO

Eugene Obrezkov in Frontend UA
псевдокод

withY(1)
withY(2)
withY(3)
withX(n: 1 | 2 | 3)
источник

IT

Ivan Tytarenko in Frontend UA
Eugene Obrezkov
мне как раз посложнее надо, что-то типа:

параметр функции Х должен иметь union type аргументов всех вызовов функции Y
У меня такой кейс тоже по идее может быть.
Там в принципе, необходим механизм благодаря которому, ты можешь вкинуть любой тайпгард и он адекватно отработает. Значит может быть отец небо, мать земля, море и Аллах
источник

IT

Ivan Tytarenko in Frontend UA
потенциально
источник

EO

Eugene Obrezkov in Frontend UA
вникнул, чуть не то
источник

EO

Eugene Obrezkov in Frontend UA
Eugene Obrezkov
псевдокод

withY(1)
withY(2)
withY(3)
withX(n: 1 | 2 | 3)
вот как хотелось бы
источник

UU

Unhappy Unknown in Frontend UA
Eugene Obrezkov
вот как хотелось бы
А як цей білдер буде використовуватися? Може генерувати потрібний інтерфейс/typeunion окремим скріптом який буде класти його в файл поряд
источник

UU

Unhappy Unknown in Frontend UA
Чи саме ідея в тому щоб в редакторі було зручно і правильно без тестів і запускання коду? Тоді можна написати плагін редактору
источник

EO

Eugene Obrezkov in Frontend UA
Unhappy Unknown
А як цей білдер буде використовуватися? Може генерувати потрібний інтерфейс/typeunion окремим скріптом який буде класти його в файл поряд
кодген не подойдет
источник