#javascript #intern #wasm-bindgen #interning

js-intern

一个用于 intern JavaScript 原始数据的宏

4 个版本 (2 个重大更改)

0.3.1 2019 年 7 月 5 日
0.2.1 2019 年 6 月 24 日
0.2.0 2019 年 6 月 24 日
0.1.0 2019 年 6 月 22 日

272缓存 中排名

Download history 57/week @ 2024-03-24 40/week @ 2024-03-31 28/week @ 2024-04-07 21/week @ 2024-04-14 50/week @ 2024-04-21 54/week @ 2024-04-28 21/week @ 2024-05-05 42/week @ 2024-05-12 66/week @ 2024-05-19 24/week @ 2024-05-26 31/week @ 2024-06-02 11/week @ 2024-06-09 22/week @ 2024-06-16 18/week @ 2024-06-23 10/week @ 2024-06-30 49/week @ 2024-07-07

每月下载 100
4 crates 中使用

MIT 许可证

13KB
146

一个用于 intern JavaScript 原始数据的宏。

存储每个不同 JavaScript 原始数据的一个副本。例如,js_intern!("string") 评估为 &JsValue,但只使用一个堆分配,并且首次评估表达式时,将 utf-8 Rust 字符串转换为一个 utf-16 JavaScript 字符串。此外,值在整个程序中进行了去重。因此,每次在程序中使用 js_intern!(1.0) 时,都使用相同的 JavaScript 数字实例。

支持的类型

  • &'static str 例如:js_intern!("str")
  • f64f32u8u16u32i8i16i32 例如:js_intern(1.0)
  • bool 例如:js_intern(true)

相关

如果您喜欢这个,您可能还会喜欢 Zac Burns(That3Percent)的这些其他 Crates

  • js-object 创建 JavaScript 对象的宏
  • soa-vec 带有 Vec 元组 API 的数组布局的 struct
  • second-stack Rust 大切片内存分配器,这些切片不会逃离栈。

依赖关系

~0.8–1.5MB
~30K SLoC