tvl-depot/tvix/serde
Ryan Lahfa 863c4207cc 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
2024-04-13 10:11:18 +00:00
..
examples feat(tvix/serde): add an example using nixpkgs/lib 2024-02-20 12:13:45 +00:00
src feat(tvix/eval): contextful JSON operations 2024-04-13 10:11:18 +00:00
.skip-subtree feat(tvix/serde): add an example application to the project 2023-01-31 13:11:28 +00:00
Cargo.toml fix(tvix): Represent strings as byte arrays 2024-01-31 14:51:49 +00:00
default.nix feat(tvix/serde): initial Nix->serde::Deserialize impl 2023-01-02 22:24:43 +00:00