Macro ruwren::create_module
source · macro_rules! create_module { ( $( class($mname:expr) $name:ty => $md:ident { $( $si:ident($lbls:ident $($sgns:expr),+) $id:ident ),* } )+ module => $modl:ident ) => { ... }; (@md static $id:ident $lbls:ident $md:ident $($sgns: expr),+) => { ... }; (@md instance $id:ident $lbls:ident $md:ident $($sgns: expr),+) => { ... }; (@sgn fn $nom:expr, $arity:expr) => { ... }; (@sgn getter $name:expr) => { ... }; (@sgn setter $name:expr) => { ... }; (@fn static $name:ty => $s:ident) => { ... }; (@fn instance $name:ty => $inf:ident) => { ... }; }
Expand description
Creates a Wren module
Creates a function at $modl::publish_module, that takes a &mut
[ModuleLibrary
]
and handles [Module
] object creation and registration
Also internally creates all the necessary extern “C” functions for Wren’s callbacks
See examples folder for the syntax