1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//! The boundary between the framework and the script module of the
//! platform.
//!
//! One file per group of functions, as the script module groups them. Each
//! holds the imports (functions of the script module, called from here) and
//! the exports (functions of the framework, called by the script module).
//! Objects of the page are opaque [`JsObject`] handles; nothing outside this
//! module and the render targets touches them except to pass them back.
//!
//! [`thread_proxy`] is the one file that is not about the script module: it
//! crosses from one thread of the module to another, and asks the script
//! only for what the runtime carried to the main thread.
/// An object of the web page, held by the framework without looking inside.
pub type JsObject = JsValue;
/// `value` unless it is `null` or `undefined`.
pub