2 个版本

0.3.1 2019 年 7 月 5 日
0.3.0 2019 年 7 月 5 日

#28 in #intern

Download history 90/week @ 2024-03-11 44/week @ 2024-03-18 84/week @ 2024-03-25 80/week @ 2024-04-01 34/week @ 2024-04-08 25/week @ 2024-04-15 56/week @ 2024-04-22 59/week @ 2024-04-29 32/week @ 2024-05-06 53/week @ 2024-05-13 69/week @ 2024-05-20 27/week @ 2024-05-27 35/week @ 2024-06-03 19/week @ 2024-06-10 26/week @ 2024-06-17 26/week @ 2024-06-24

107 每月下载量
6 个 crate(直接使用 2 个) 中使用

MIT 许可

7KB
108

一个用于处理 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)编写的其他 crate

  • js-object 创建 JavaScript 对象的宏
  • soa-vec 具有元组 API 的数组布局结构体
  • second-stack Rust 内存分配器,用于大型切片,这些切片不会逃离堆栈。

依赖

~0.7–1.4MB
~29K SLoC