169 похожих чатов

Доброго времени суток. В чате typescript'a спрашивала. Но может здесь

найдётся кто-то, кто может помочь.
Я пытаюсь реализовать дерево категорий. У меня есть перечисления всех категорий на каждом уровне.

Допустим
// 1 уровень
enum INode {
category1 = "Category 1",
category2 = "Category 2",
}
// 2 уровень
enum ICategory1{
subcategory1 = "Subcategory 1",
subcategory2 = "Subcategory 2",
}

enum ICategory2 {
subcategory3 = "Subcategory 3",
subcategory4 = "Subcategory 4",
}
// 3 уровень
enum ISubcategory1 {
subsubcategory1 = "Subsubcategory 3",
subsubcategory2 = "Subsubcategory 4",
}
// и так далее...
// Соотвественно мне нужно как можно более лаконично и точно описать тип.

interface ICategory<T extends string> {
name: ${T},
// Название категории содержится в перечислении
// Допустим для типа ICategory<ICategory1> это может быть "Subcategory 1"
categories?: Array<ICategory<`I + ${T[name}]}`>>
// Я пытаюсь задать тип возможных подкатегорий для "Subcategory 1" как ICategory<ISubcategory1>
// то есть взять ключ переданного name из перечисления, сделать его первую букву заглавной и добавить в начало I
// Вот так примерно 'I' + T[name].charAt(0).toUpperCase() + T[name].slice(1)
}

Пока ругается на name потому что "'name' refers to a value, but is being used as a type here. Did you mean 'typeof name'?"

Подскажите, пожалуйста, как я могла бы исправить эту ошибку или иным образом добится единого лаконичного и коректного типа для всех категорий?

4 ответов

6 просмотров

не понятно, покажите, пожалуйста, типовой пример.

Почему бы просто не передавать в интерфейс тип подкатегории?

Victoria- Автор вопроса
Sergei Sergeevich
Почему бы просто не передавать в интерфейс тип под...

потому что в одной категории содержатся разные подкатегории. и для каждой подкатегории есть свои. передать в интерфейс можно только union всех типов подкатегорий, а значит это теряет смысл, по тому что нет проверки на соответсвие конкретной, соответствующей имени

Victoria- Автор вопроса
Евгений Гений
не понятно, покажите, пожалуйста, типовой пример.

абсолюто любое дерево категорий подойдёт как пример

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

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта