feat: add wit-bindgen-sample

This commit is contained in:
2022-07-16 23:38:51 +08:00
parent dd45671b35
commit b0e1a89020
7 changed files with 242 additions and 0 deletions

1
__wasm/wit-bindgen-sample/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
wit-bindgen

View File

@@ -0,0 +1,3 @@
git clone https://github.com/bytecodealliance/wit-bindgen.git

View File

@@ -0,0 +1 @@
fetch: func(config: string) -> string

View File

@@ -0,0 +1,207 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "anyhow"
version = "1.0.58"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bb07d2053ccdbe10e2af2995a2f116c1330396493dc1269f6a91d0ae82e19704"
[[package]]
name = "async-trait"
version = "0.1.56"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96cf8829f67d2eab0b2dfa42c5d0ef737e0724e4a82b01b3e292456202b19716"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "bitflags"
version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "engine"
version = "0.1.0"
dependencies = [
"wit-bindgen-gen-core",
"wit-bindgen-rust",
]
[[package]]
name = "heck"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
dependencies = [
"unicode-segmentation",
]
[[package]]
name = "id-arena"
version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005"
[[package]]
name = "memchr"
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
[[package]]
name = "proc-macro2"
version = "1.0.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7"
dependencies = [
"unicode-ident",
]
[[package]]
name = "pulldown-cmark"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ffade02495f22453cd593159ea2f59827aae7f53fa8323f756799b670881dcf8"
dependencies = [
"bitflags",
"memchr",
"unicase",
]
[[package]]
name = "quote"
version = "1.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804"
dependencies = [
"proc-macro2",
]
[[package]]
name = "syn"
version = "1.0.98"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "tinyvec"
version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
dependencies = [
"tinyvec_macros",
]
[[package]]
name = "tinyvec_macros"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
[[package]]
name = "unicase"
version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
dependencies = [
"version_check",
]
[[package]]
name = "unicode-ident"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "15c61ba63f9235225a22310255a29b806b907c9b8c964bcbd0a2c70f3f2deea7"
[[package]]
name = "unicode-normalization"
version = "0.1.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6"
dependencies = [
"tinyvec",
]
[[package]]
name = "unicode-segmentation"
version = "1.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99"
[[package]]
name = "unicode-xid"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04"
[[package]]
name = "version_check"
version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
[[package]]
name = "wit-bindgen-gen-core"
version = "0.1.0"
dependencies = [
"anyhow",
"wit-parser",
]
[[package]]
name = "wit-bindgen-gen-rust"
version = "0.1.0"
dependencies = [
"heck",
"wit-bindgen-gen-core",
]
[[package]]
name = "wit-bindgen-gen-rust-wasm"
version = "0.1.0"
dependencies = [
"heck",
"wit-bindgen-gen-core",
"wit-bindgen-gen-rust",
]
[[package]]
name = "wit-bindgen-rust"
version = "0.1.0"
dependencies = [
"async-trait",
"bitflags",
"wit-bindgen-rust-impl",
]
[[package]]
name = "wit-bindgen-rust-impl"
version = "0.1.0"
dependencies = [
"proc-macro2",
"syn",
"wit-bindgen-gen-core",
"wit-bindgen-gen-rust-wasm",
]
[[package]]
name = "wit-parser"
version = "0.1.0"
dependencies = [
"anyhow",
"id-arena",
"pulldown-cmark",
"unicode-normalization",
"unicode-xid",
]

View File

@@ -0,0 +1,13 @@
[package]
name = "engine"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[lib]
crate-type = ['cdylib']
[dependencies]
wit-bindgen-gen-core = { path = '../wit-bindgen/crates/gen-core' }
wit-bindgen-rust = { path = '../wit-bindgen/crates/rust-wasm' }

View File

@@ -0,0 +1,15 @@
wit_bindgen_rust::export!("../exports.wit");
wit_bindgen_rust::import!("../container.wit");
struct Exports;
impl exports::Exports for Exports {
fn eval_javascript(s: String) -> String {
// let a = container::fetch("");
"".into()
}
}
fn fetch_from_host(config: &str) -> String {
container::fetch(config)
}

View File

@@ -0,0 +1,2 @@
eval-javascript: func(script: string) -> string