feat(tvix/eval): contextful JSON operations
`toJSON` transform a Nix structure into a JSON string. For each context in that Nix structure, the JSON string must possess it. Thus, it is necessary to take the union of all contexts and attach it to the final structure. Unfortunately, the return type of `into_json` is a serde's JSON object, not a string. Therefore, it is not possible to reuse `NixString` machinery. Context tests are reinforced as Nix does not test those behaviors. Fixes b/393. Change-Id: I5afdbc4e18dd70469192c1aa657d1049ba330149 Signed-off-by: Ryan Lahfa <tvl@lahfa.xyz> Reviewed-on: https://cl.tvl.fyi/c/depot/+/11266 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
This commit is contained in:
parent
45cf7ae657
commit
863c4207cc
11 changed files with 102 additions and 33 deletions
|
|
@ -137,7 +137,7 @@ fn value_variant_to_xml<W: Write>(w: &mut EventWriter<W>, value: &Value) -> Resu
|
|||
| Value::Blueprint(_)
|
||||
| Value::DeferredUpvalue(_)
|
||||
| Value::UnresolvedPath(_)
|
||||
| Value::Json(_)
|
||||
| Value::Json(..)
|
||||
| Value::FinaliseRequest(_) => {
|
||||
return Err(ErrorKind::TvixBug {
|
||||
msg: "internal value variant encountered in builtins.toXML",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue