Создать форму из машинописного интерфейса - PullRequest
1 голос
/ 26 июня 2019

Предупреждение : я никогда раньше не использовал 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, я тоже могу это использовать.Какие решения существуют в настоящее время (если есть)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...