Skip to content

Commit 2fd853a

Browse files
committed
fix: js snippets
1 parent cd9de32 commit 2fd853a

File tree

7 files changed

+32
-28
lines changed

7 files changed

+32
-28
lines changed

helpers/react-dom-import.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * as ReactDOM from "react-dom";

helpers/react-import.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * as React from "react";

helpers/use-state-import.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import * as React from "react";
2+
export { React };
3+
export function use_state_object(initial_value) {
4+
const [state, set_state] = React.useState(initial_value);
5+
return { value: state, setter: { set_state } };
6+
}
7+
export function use_state_auto_clean(initial_value, clean) {
8+
const obj = use_state_object(initial_value);
9+
const state = obj.value;
10+
React.useEffect(() => {
11+
clean(state);
12+
}, [state]);
13+
}

helpers/use-state.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
export function use_state_object(initial_value) {
2+
const [state, set_state] = React.useState(initial_value);
3+
return { value: state, setter: { set_state } };
4+
}
5+
export function use_state_auto_clean(initial_value, clean) {
6+
const obj = use_state_object(initial_value);
7+
const state = obj.value;
8+
React.useEffect(() => {
9+
clean(state);
10+
}, [state]);
11+
}

src/macro_import.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#[cfg(feature = "import-react")]
22
macro_rules! wasm_bindgen_react {
33
($($b:item)+) => {
4-
#[wasm_bindgen]
4+
#[wasm_bindgen(module = "/helpers/react-import.js")]
55
extern "C" {
66
$($b)+
77
}
@@ -11,7 +11,7 @@ macro_rules! wasm_bindgen_react {
1111
#[cfg(not(feature = "import-react"))]
1212
macro_rules! wasm_bindgen_react {
1313
($($b:item)+) => {
14-
#[wasm_bindgen(inline_js = r#"export * as React from "react";"#)]
14+
#[wasm_bindgen]
1515
extern "C" {
1616
$($b)+
1717
}

src/react_dom.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use wasm_bindgen::prelude::*;
33
#[cfg(feature = "import-react")]
44
macro_rules! wasm_bindgen_react_dom {
55
($($b:item)+) => {
6-
#[wasm_bindgen]
6+
#[wasm_bindgen(module = "/helpers/react-dom-import.js")]
77
extern "C" {
88
$($b)+
99
}
@@ -13,7 +13,7 @@ macro_rules! wasm_bindgen_react_dom {
1313
#[cfg(not(feature = "import-react"))]
1414
macro_rules! wasm_bindgen_react_dom {
1515
($($b:item)+) => {
16-
#[wasm_bindgen(inline_js = r#"export * as ReactDOM from "react-dom";"#)]
16+
#[wasm_bindgen]
1717
extern "C" {
1818
$($b)+
1919
}

src/use_state/macro_helpers.rs

Lines changed: 2 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,7 @@
11
#[cfg(feature = "import-react")]
22
macro_rules! wasm_bindgen_react_state_helpers {
33
($($b:item)+) => {
4-
#[wasm_bindgen(inline_js = r#"
5-
import * as React from "react";
6-
export { React };
7-
export function use_state_object(initial_value) {
8-
const [state, set_state] = React.useState(initial_value);
9-
return { value: state, setter: { set_state } };
10-
}
11-
export function use_state_auto_clean(initial_value, clean) {
12-
const obj = use_state_object(initial_value);
13-
const state = obj.value;
14-
React.useEffect(() => { clean(state) }, [state]);
15-
}
16-
"#)]
4+
#[wasm_bindgen(module = "/helpers/use-state-import.js")]
175
extern "C" {
186
$($b)+
197
}
@@ -23,17 +11,7 @@ macro_rules! wasm_bindgen_react_state_helpers {
2311
#[cfg(not(feature = "import-react"))]
2412
macro_rules! wasm_bindgen_react_state_helpers {
2513
($($b:item)+) => {
26-
#[wasm_bindgen(inline_js = r#"
27-
export function use_state_object(initial_value) {
28-
const [state, set_state] = React.useState(initial_value);
29-
return { value: state, setter: { set_state } };
30-
}
31-
export function use_state_auto_clean(initial_value, clean) {
32-
const obj = use_state_object(initial_value);
33-
const state = obj.value;
34-
React.useEffect(() => { clean(state) }, [state]);
35-
}
36-
"#)]
14+
#[wasm_bindgen(module = "/helpers/use-state.js")]
3715
extern "C" {
3816
$($b)+
3917
}

0 commit comments

Comments
 (0)