js!() { /* proc-macro */ }Expand description
A macro that validates JavaScript syntax at compile time.
This macro accepts JavaScript code and validates its syntax during compilation. If the JavaScript is invalid, a compile-time error is produced with details about the syntax error.
§Output Type
- Without interpolation: Returns
&'static str - With interpolation: Returns
String
§Examples
§Simple Expression
ⓘ
use viewpoint_js::js;
let code: &str = js!{ 1 + 2 };
assert_eq!(code, "1 + 2");§Arrow Function
ⓘ
use viewpoint_js::js;
let code = js!{ () => window.innerWidth };§With Interpolation
ⓘ
use viewpoint_js::js;
use viewpoint_js_core::ToJsValue;
let selector = ".my-class";
let code: String = js!{ document.querySelector(#{selector}) };§Invalid JavaScript (Compile Error)
ⓘ
use viewpoint_js::js;
// This will produce a compile-time error because the JavaScript is invalid
let code = js!{ function( };