Предупреждение : я никогда раньше не использовал Typescript.
Я работаю с веб-компонентами и заинтересован в создании файла, который определяет свойства (и, возможно, события)это повлияет на компонент.Я провел исследование Typescript, и мне нравится лаконичный способ описать форму объекта.Это то, что у меня есть до сих пор:
/* defining the keys (and which are optional) */
interface IX {
hidden?: boolean;
selected?: boolean;
disabled?: boolean;
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
onChange?: (event: any): void;
}
/* setting defaults */
export const ix: IX = {
hidden: false,
selected: false,
disabled: false,
}
Хотя я в настоящее время не использую Typescript в своем проекте (и при этом я не полностью убежден, что мне нужно, чтобы это работало), я ищурешение, которое будет принимать файл, похожий на приведенный выше, и выводить некоторую схему, которая определяет форму компонента.Возможно, что-то вроде этого:
export const ixShape = {
hidden: {
type: 'boolean',
optional: true,
'default': false,
},
/* and so on */
}
Это может происходить во время сборки, не обязательно во время выполнения.Если мне нужен такой пакет, как Rollup, я тоже могу это использовать.Какие решения существуют в настоящее время (если есть)?