Skip to content

Commit c22cd34

Browse files
authored
Merge pull request #1 from Tsukuba-Programming-Lab/develop
fix: README
2 parents 57b85ec + b6b7809 commit c22cd34

File tree

2 files changed

+39
-3
lines changed

2 files changed

+39
-3
lines changed

README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
# Grower
2-
ブラウザ上で稼働する言語ランタイムのためのライブラリ(**G**eneral **R**untime **O**n **WE**b browser**R**s)
2+
Grower: **G**eneral **R**untime **O**n **WE**b browser**R**s
3+
4+
A Library for development language runtimes that run on Web Browsers.
35

46
## Structures
57

68
### grower-rs
79

8-
言語ランタイムのうち,WebAssembly コードとして動作する部分を実装するための Rust クレート.
10+
A Rust crate to implement parts of Language Runtimes running as WebAssembly codes.
911

1012
### grower-js
1113

12-
言語ランタイムのうち,JavaScript コードとして動作する部分を実装するための Rust クレート.
14+
A npm library to implement parts of Language Runtimes running as JavaScript codes.

grower-rs/README.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Grower
2+
Grower: **G**eneral **R**untime **O**n **WE**b browser**R**s
3+
4+
A Library for development language runtimes that run on Web Browsers.
5+
6+
7+
## Features
8+
9+
### core::jsni
10+
11+
An implementation of JSNI (JavaScript Native Interface). JSNI is a FFI for a linear-memory between WebAssembly Runtimes and JavaScript Runtimes. You may use this API to call JavaScript functions from Rust.
12+
13+
For example:
14+
15+
```rust
16+
use grower::core::jsni::*;
17+
18+
let ni = JavaScriptNativeInterface::new();
19+
20+
let return_values: Vec<JSNIValue> = ni.call("hogeFunc".to_string(), vec![
21+
JSNIValue::from(2 as i8),
22+
JSNIValue::from(1 as i16),
23+
JSNIValue::from(1 as i32),
24+
JSNIValue::from(1 as i64),
25+
JSNIValue::from(8 as u8),
26+
JSNIValue::from(16 as u16),
27+
JSNIValue::from(32 as u32),
28+
JSNIValue::from(64 as u64),
29+
JSNIValue::from(0.5 as f32),
30+
JSNIValue::from(6.4646464 as f64),
31+
JSNIValue::from("hoge".to_string()),
32+
JSNIValue::from(vec![1, 2, 3, 4, 5, 6, 7, 8]),
33+
]).await;
34+
```

0 commit comments

Comments
 (0)