44 个版本

0.28.0 2024 年 1 月 25 日
0.27.0 2023 年 11 月 2 日
0.26.1 2023 年 3 月 21 日
0.24.1 2022 年 9 月 12 日
0.17.0 2020 年 7 月 28 日

16 in #wasmer

Download history 535/week @ 2024-04-23 202/week @ 2024-04-30 268/week @ 2024-05-07 721/week @ 2024-05-14 545/week @ 2024-05-21 467/week @ 2024-05-28 465/week @ 2024-06-04 176/week @ 2024-06-11 199/week @ 2024-06-18 339/week @ 2024-06-25 80/week @ 2024-07-02 176/week @ 2024-07-09 559/week @ 2024-07-16 315/week @ 2024-07-23 524/week @ 2024-07-30 322/week @ 2024-08-06

1,774 个月下载量
用于 36 个 crate (14 直接)

MIT 许可证

290KB
7K SLoC

此 crate 包含 WebAssembly 接口类型 (简称 WIT) 的实现。它由 5 个部分组成:

  1. 类型:用于表示 WIT 类型及其值的表示。
  2. AST:用于将 WIT 语言表示为一棵树(这实际上并不是抽象的)。这是语言的中心表示。
  3. 解码器:用于从特定的数据表示中读取 AST;例如,decoders::binary::parse 从二进制中读取 AST
  4. 编码器:用于将 AST 写入特定的格式;例如,encoders::watAST 写入表示 WIT 的文本格式的字符串。
  5. 解释器:WIT 定义了一个称为适配器的概念。适配器包含一系列 指令。因此,更详细地说,该模块包含以下内容:
    • 一个非常轻量且通用的堆栈实现,仅公开解释器所需的操作,
    • 一个基于堆栈的解释器,由以下定义:
      • 一个将一系列指令转换成一系列可执行指令的编译器,
      • 一个堆栈,
      • 运行时包含“调用输入”(解释器的参数)、堆栈和WebAssembly实例(包含导出、导入、内存、表等),
    • 一个假设的WebAssembly运行时,表示为一组枚举、类型和特质——基本上这是运行时需要查看的部分,以便使用wasmer-interface-types crate——。

依赖关系

~3.5–5MB
~97K SLoC