#wasm-bindgen #typescript #import #definition #generate #fly #typescript-wasm-bindgen

typescript-wasm-bindgen-codegen

解析 TypeScript 文件并实时生成 wasm-bindgen JavaScript 导入

2 个版本

0.1.1 2021 年 3 月 31 日
0.1.0 2021 年 3 月 5 日

18#fly

每月 26 次下载
2 个 crate 中使用

MIT 许可证

18KB
391

typescript-wasm-bindgen

开发中,许多方面尚未实现。

直接在您的 wasm rust 应用程序中导入 TypeScript 定义。

用法

// src/index.ts

export function test(): void {
  console.log("test");
}

build.rs

// build.rs

use std::path::PathBuf;

use typescript_wasm_bindgen::build_typescript_wasm_binding;

fn main() {
    build_typescript_wasm_binding(&PathBuf::from("./ts/test_function.ts"), "test").unwrap();
}
// lib.rs

use typescript_wasm_bindgen::import_typescript_wasm_binding;
use wasm_bindgen::prelude::{wasm_bindgen, JsValue};

import_typescript_wasm_binding!("test_function");

proc_macro

// wasm/src/lib.rs

use typescript_wasm_bindgen::typescript;
use wasm_bindgen::prelude::wasm_bindgen;

typescript!("../src/index.ts", "index");

// `typescript!` macro expands like following:
//
// #[wasm_bindgen(module = "index")]
// extern "C" {
//     fn test();
// }

示例

简单

依赖项

~4–10MB
~107K SLoC