Чертеж
Множество представлений конфигурации называется чертежом (Blueprint)
Чертеж состоит из:
- Конфигурации (HtmlOptions|boolean|string|Function|Promise)
- Смеси чертежей
Чертеж Html имеет два генерика: скоуп и события.
export default () : InferBlueprint<unknown> => {
return {
css: 'my-button',
tag: 'button',
templates: {
icon: {
tag: 'i'
}
}
}
}
Угадывание (Blueprint/InferBlueprint)
Поскольку определение типов должно идти сверху вниз, то необходимо задавать это направление. К сожалению, typescript не имеет механизмом для управления inferring, поэтому приходится использовать два типа чертежей:
Blueprintобычный чертежInferBlueprintчертеж-подсказка для угадывания. Фактически он подавляет inferring от вложенных типов
Смешивание (mix)
Для смешивания типов используется метод mix
tip
Если строго следовать именованиям, то этот метод должен называться mixBlueprints. Но, поскольку он используется довольно часто, а другие способы смешивания явно не применяются, то он сокращен до mix