typescript-wasm-bindgen-codegen

Crates.iotypescript-wasm-bindgen-codegen
lib.rstypescript-wasm-bindgen-codegen
version0.1.1
sourcesrc
created_at2021-03-05 11:24:19.753576
updated_at2021-03-31 06:28:36.339865
descriptionParse typescript file and generates wasm-bindgen javascript import on the fly
homepage
repositoryhttps://github.com/dlunch/typescript-wasm-bindgen
max_upload_size
id364294
size17,035
Inseok Lee (Matt) (dlunch)

documentation

README

typescript-wasm-bindgen

WIP, many aspects not yet implemented.

Import typescript definitions directly in your wasm rust app.

Usage

// 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();
// }

Examples

simple

Commit count: 73

cargo fmt