import flet as ft from js_execution import js_execution_router async def eval_js(self: ft.Page, js_code: str) -> str: async with js_execution_router.create_dynamic_endpoint(js_code) as context: self.launch_url(context.endpoint, web_window_name=context.hidden_iframe_name) return await context.result_future def extend_flet_page(): if not hasattr(ft.Page, 'eval_js'): ft.Page.eval_js = eval_js