MCPcopy
hub / github.com/reflex-dev/reflex / CallScript

Function CallScript

tests/integration/test_call_script.py:16–360  ·  view source on GitHub ↗

A test app for browser javascript integration.

()

Source from the content-addressed store, hash-verified

14
15
16def CallScript():
17 """A test app for browser javascript integration."""
18 from pathlib import Path
19
20 import reflex as rx
21
22 inline_scripts = """
23 let inline_counter = 0
24 function inline1() {
25 inline_counter += 1
26 return "inline1"
27 }
28 function inline2() {
29 inline_counter += 1
30 console.log("inline2")
31 }
32 function inline3() {
33 inline_counter += 1
34 return {inline3: 42, a: [1, 2, 3], s: 'js', o: {a: 1, b: 2}}
35 }
36 async function inline4() {
37 inline_counter += 1
38 return "async inline4"
39 }
40 """
41
42 external_scripts = inline_scripts.replace("inline", "external")
43
44 class CallScriptState(rx.State):
45 results: rx.Field[list[str | dict | list | None]] = rx.field([])
46 inline_counter: rx.Field[int] = rx.field(0)
47 external_counter: rx.Field[int] = rx.field(0)
48 value: str = "Initial"
49 last_result: rx.Field[int] = rx.field(0)
50
51 @rx.event
52 def call_script_callback(self, result):
53 self.results.append(result)
54
55 @rx.event
56 def call_script_callback_other_arg(self, result, other_arg):
57 self.results.append([other_arg, result])
58
59 @rx.event
60 def call_scripts_inline_yield(self):
61 yield rx.call_script("inline1()")
62 yield rx.call_script("inline2()")
63 yield rx.call_script("inline3()")
64 yield rx.call_script("inline4()")
65
66 @rx.event
67 def call_script_inline_return(self):
68 return rx.call_script("inline2()")
69
70 @rx.event
71 def call_scripts_inline_yield_callback(self):
72 yield rx.call_script(
73 "inline1()", callback=CallScriptState.call_script_callback

Callers

nothing calls this directly

Calls 2

PathClass · 0.85
replaceMethod · 0.80

Tested by

no test coverage detected