首页 > 解决方案 > 使用 wasm_bindgen 返回 typescript union

问题描述

假设我有以下 rust 结构:

struct NumberNode { 
    val: i64
}
struct StringNode {
    val: String
}

pub enum Node {
    Number(NumberNode),
    String(StringNode),
}

我想注释Node#[wasm_bindgen]以便我可以将它从 wasm 返回到 javascript。

这有点描述了我想在 javascript 中接收的结构。

enum NodeType { Number, String };

interface NumberNode { typ: NodeType.Number, val: number };
interface StringNode { typ: NodeType.String, val: string };

type Node = NumberNode | StringNode;

标签: typescriptrustunion-typeswasm-bindgenrust-wasm

解决方案


推荐阅读