4 个版本
0.2.0 | 2024 年 8 月 12 日 |
---|---|
0.1.2 | 2024 年 7 月 20 日 |
0.1.1 | 2024 年 4 月 21 日 |
0.1.0 | 2024 年 4 月 6 日 |
#808 在 Rust 模式
每月 436 次下载
用于 rsjsonnet
645KB
16K SLoC
rsjsonnet-front
一个位于 rsjsonnet-lang 和外部世界之间的 Rust 库。提供源加载和错误打印功能。
lib.rs
:
为 Jsonnet 解释器提供前端(加载源文件和打印错误)的库。
示例
let source = b"local add_one(x) = x + 1; add_one(2)";
// Create a session, which will contain a `rsjsonnet_lang::program::Program`.
let mut session = rsjsonnet_front::Session::new();
// Load a virtual (i.e., not from the file system) source file into the program
let Some(thunk) = session.load_virt_file("<example>", source.to_vec()) else {
// `Session` printed the error for us
return;
};
// Evaluate it
let Some(value) = session.eval_value(&thunk) else {
// `Session` printed the error for us
return;
};
assert_eq!(value.as_number(), Some(3.0));
// Manifest the value
let Some(json_result) = session.manifest_json(&value, false) else {
// `Session` printed the error for us
return;
};
assert_eq!(json_result, "3");
依赖项
~2–11MB
~122K SLoC