js

Macro js 

Source
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( };