Appearance
Prop Manager
ts
import { PropManager, type PropContext } from "@dpg.gg/core/renderer";Overview
Вспомогательный класс Renderer для Traverse, расширяемый системой middleware. Он предназначен для обработки входящего списока свойств.
В Traverse он используется для обработки аттрибутов props и events
Methods
use(...middlewares)
- Arg middlewares - принимает одну или несколько Middleware функций
Нужен для расширения базового поведения при выполнении assign или run методов. Например назначение preact компонентов в зависимости от типа элемента:
ts
pm.use((ctx, next) => {
if (ctx.name === "style") {
console.log("styles:", ctx.value);
}
return next();
});async run(ctx)
- Arg
ctx: { name: string, value: any }- Входной объект
Используется для вызова всех middleware, присвоенных к экземпляру
Прямой необходимости в его использовании из вне нет, он автоматически выполняется при вызове метода assign
async assign(list)
- Arg
list: Record<string, any>- Объект фомата ключ:значение над которым нужно провести манипуляции
Формирует объект, применяя к нему middlewares
ts
const props = await pm.assign(node.props);