TRen208
@TRen208

Как исправить ошибку «Создание экземпляра типа является слишком глубоким и, возможно, бесконечным.ts(2589)» в моем случае?

61084b899a4cb001464103.png


Я находил ответы типа таких:
61084cc0a6611312954766.png


Но не понимаю как мне его использовать.
Были такие попытки, но они возвращали ошибку.


61084c6db45e5291103997.png
61084d1f8d07f505083364.png


Переход на старый версии мне не нужен.
Что делать, не знаю. Помогите ))
  • Вопрос задан
  • 486 просмотров
Решения вопроса 1
bingo347
@bingo347 Куратор тега TypeScript
Crazy on performance...
TypeScript лимитирует вложенность рекурсии, дабы тайпчекер работал быстро и не зависал.
Можно уменьшить вложенность, если обрабатывать за раз сразу по несколько частей:
type Split<S extends string, D extends string = ''> = S extends ''
    ? []
    : S extends `${infer H0}${D}${infer H1}${D}${infer H2}${D}${infer H3}${D}${infer H4}${D}${infer H5}${D}${infer Tail}`
        ? [H0, H1, H2, H3, H4, H5, ...Split<Tail, D>]
        : S extends `${infer H0}${D}${infer H1}${D}${infer H2}${D}${infer H3}${D}${infer Tail}`
            ? [H0, H1, H2, H3, ...Split<Tail, D>]
            : S extends `${infer H0}${D}${infer Tail}`
                ? [H0, ...Split<Tail, D>]
                : never;

https://www.typescriptlang.org/play?#code/C4TwDgpg...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы