Size: a a a

2021 March 27

Вт

Ві тя in Frontend UA
я пробовал так но пока не идет    
   type StrLen<S extends string> = S extends { length: infer A } ? A : 'dunno'
источник

Вт

Ві тя in Frontend UA
источник

EO

Eugene Obrezkov in Frontend UA
Alexey Raspopov
Смотрю примеры Hegel.js и даже не подозревал что ТС настолько ограничен
А в чем ограничение заключается? У тебя параметр fn не типизирован, но при этом ты его дальше вызываешь как функцию. То же самое с arg.

Добавляешь им типов и дальше всё выводится само без проблем.
источник

EO

Eugene Obrezkov in Frontend UA
Ві тя
или может сразу подскажи как посчитать string length в типах
источник

EO

Eugene Obrezkov in Frontend UA
Ві тя
я пробовал так но пока не идет    
   type StrLen<S extends string> = S extends { length: infer A } ? A : 'dunno'
у тебя тип string unbounded, его length всегда будет number, а не конкретная длина
источник

Вт

Ві тя in Frontend UA
В точности оно, я тоже думал массив юзнуть но сил не было после работы думать)
источник

Вт

Ві тя in Frontend UA
Попробуй вывести substring еще
источник

Вт

Ві тя in Frontend UA
в интернете есть решение для слайса начала строки первых 32 символов
источник

EO

Eugene Obrezkov in Frontend UA
Ві тя
Попробуй вывести substring еще
М?
источник

Вт

Ві тя in Frontend UA
type Substr<S extends string, F extends number, T extends number>

Substr<‘abc’, 0, 2> = ‘ab’
источник

EO

Eugene Obrezkov in Frontend UA
Ві тя
type Substr<S extends string, F extends number, T extends number>

Substr<‘abc’, 0, 2> = ‘ab’
Не решал, но можно
источник

EO

Eugene Obrezkov in Frontend UA
Рекурсия нужна, кортеж в качестве аккумулятора и в принципе придумать можно как сделать
источник

AR

Alexey Raspopov in Frontend UA
Eugene Obrezkov
А в чем ограничение заключается? У тебя параметр fn не типизирован, но при этом ты его дальше вызываешь как функцию. То же самое с arg.

Добавляешь им типов и дальше всё выводится само без проблем.
Ограничение в том что в этом коде флоу и хегель сами могут тип вывести)
источник

AR

Alexey Raspopov in Frontend UA
Возможно ты слишком давно на тайпскрипте и не видишь очевидного, я хз
источник

EO

Eugene Obrezkov in Frontend UA
Alexey Raspopov
Ограничение в том что в этом коде флоу и хегель сами могут тип вывести)
я в основном пишу на расте, тайпскрипте, С (включая хобби проекты)
источник

EO

Eugene Obrezkov in Frontend UA
там такое не канает, у тебя неполная сигнатура
источник

EO

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

EO

Eugene Obrezkov in Frontend UA
если эту часть вывести неявно по тому как используют, то это может быть ошибочно, разработчики часто ошибаются
источник

EO

Eugene Obrezkov in Frontend UA
просто взять и сказать что вот этот параметр функция, потому что её тут пытаются вызвать - это может быть поспешный вывод
источник

AR

Alexey Raspopov in Frontend UA
Ты серьёзно? Тут же очевидный кусок кода
источник