Skip to content

Compiler Adapter

HydratorCompilerAdapter

hyderator adapter for all real dom operations methods should start with: hyd_comp_

Source code in zenaura/client/hydrator/compiler_adapter.py
class HydratorCompilerAdapter:
    """
        hyderator adapter for all real dom operations
        methods should start with:
        hyd_comp_
    """        
    def hyd_comp_get_keyed_uuid(
        self,
        id : str, 
        key : str
    ):
        """
            compiler operation : wraps compiler.getKeyedUID 
        """
        return compiler.getKeyedUID(
            id=id, 
            key=key,
        )

    def hyd_comp_compile_render(
        self,
        comp: Component,
    ):
        """
            compiler operation : wraps compiler compile, returns str "HTMLElement"
            compile node
        """
        return compiler.compile(
                comp.render(), 
                id=comp.id,
                zenaura_dom_mode=True
            )

    def hyd_comp_compile_children(
        self,
        children: List[Node],
        id: str,
        zenaura_dom_mode: bool,
        key: str=""
    ):
        """
            compiler operation : wraps compiler compile, returns str "HTMLElement"
            compiles node children
        """
        return compiler.compile(
            children, 
            id=id,
            zenaura_dom_mode=True,
        )

    def hyd_comp_compile_page(self, page: Page) -> str:
        """
            compiler operation : wraps compiler compile, returns str "HTMLElement"
            compiles page children
        """
        html = io.StringIO()
        for comp in page.children:
            html.write(
                compiler.compile(
                    comp.render(), 
                    comp.id,
                    zenaura_dom_mode=True,
                )
            )
        return html.getvalue()

hyd_comp_compile_children(children, id, zenaura_dom_mode, key='')

compiler operation : wraps compiler compile, returns str "HTMLElement" compiles node children

Source code in zenaura/client/hydrator/compiler_adapter.py
def hyd_comp_compile_children(
    self,
    children: List[Node],
    id: str,
    zenaura_dom_mode: bool,
    key: str=""
):
    """
        compiler operation : wraps compiler compile, returns str "HTMLElement"
        compiles node children
    """
    return compiler.compile(
        children, 
        id=id,
        zenaura_dom_mode=True,
    )

hyd_comp_compile_page(page)

compiler operation : wraps compiler compile, returns str "HTMLElement" compiles page children

Source code in zenaura/client/hydrator/compiler_adapter.py
def hyd_comp_compile_page(self, page: Page) -> str:
    """
        compiler operation : wraps compiler compile, returns str "HTMLElement"
        compiles page children
    """
    html = io.StringIO()
    for comp in page.children:
        html.write(
            compiler.compile(
                comp.render(), 
                comp.id,
                zenaura_dom_mode=True,
            )
        )
    return html.getvalue()

hyd_comp_compile_render(comp)

compiler operation : wraps compiler compile, returns str "HTMLElement" compile node

Source code in zenaura/client/hydrator/compiler_adapter.py
def hyd_comp_compile_render(
    self,
    comp: Component,
):
    """
        compiler operation : wraps compiler compile, returns str "HTMLElement"
        compile node
    """
    return compiler.compile(
            comp.render(), 
            id=comp.id,
            zenaura_dom_mode=True
        )

hyd_comp_get_keyed_uuid(id, key)

compiler operation : wraps compiler.getKeyedUID

Source code in zenaura/client/hydrator/compiler_adapter.py
def hyd_comp_get_keyed_uuid(
    self,
    id : str, 
    key : str
):
    """
        compiler operation : wraps compiler.getKeyedUID 
    """
    return compiler.getKeyedUID(
        id=id, 
        key=key,
    )