be-enhanced
Version:
be-enhanced provides a base class that enables casting spells, or enhancing server-rendered DOM elements based on cross-cutting custom attributes
29 lines (22 loc) • 789 B
TypeScript
import {BEAllProps, IEnhancement} from '../trans-render/be/types';
import {AbsorbingObject} from '../trans-render/asmr/types';
export interface RenderingHTMLScriptElement extends HTMLScriptElement{
renderer: (vm: any, html: any) => any,
}
export interface EndUserProps extends IEnhancement<RenderingHTMLScriptElement>{
vm: any,
with: Array<string>,
}
export interface AP extends EndUserProps{
renderer: (vm: any, html: any) => any,
absorbingObject: AbsorbingObject
}
export type PAP = Partial<AP>;
export type BAP = AP & BEAllProps;
export type ProPAP = Promise<PAP>;
export interface Actions {
getRenderer(self: BAP): BAP;
doRender(self: BAP): void;
observe(self: BAP): ProPAP;
absorb(self: BAP, e?: Event): ProPAP;
}