about summary refs log tree commit diff
path: root/third_party/nix/src/libexpr/value-to-json.cc
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2022-05-18T15·39+0200
committerclbot <clbot@tvl.fyi>2022-05-19T14·08+0000
commitd127f9bd0e7b9b2e0df2de8a2227f77c0907468d (patch)
tree68455040d88b8e0c2817601db88ede450873ff8e /third_party/nix/src/libexpr/value-to-json.cc
parentc85291c602ac666421627d6934ebc6d5be1b93e1 (diff)
chore(3p/nix): unvendor tvix 0.1 r/4098
Nothing is using this now, and we'll likely never pick this up again,
but we learned a lot in the process.

Every now and then this breaks in some bizarre way on channel bumps
and it's just a waste of time to maintain that.

Change-Id: Idcf2f5acd4ca7070ce18d7149cbfc0d967dc0a44
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5632
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: lukegb <lukegb@tvl.fyi>
Autosubmit: tazjin <tazjin@tvl.su>
Diffstat (limited to 'third_party/nix/src/libexpr/value-to-json.cc')
-rw-r--r--third_party/nix/src/libexpr/value-to-json.cc91
1 files changed, 0 insertions, 91 deletions
diff --git a/third_party/nix/src/libexpr/value-to-json.cc b/third_party/nix/src/libexpr/value-to-json.cc
deleted file mode 100644
index a338d4eed79a..000000000000
--- a/third_party/nix/src/libexpr/value-to-json.cc
+++ /dev/null
@@ -1,91 +0,0 @@
-#include "libexpr/value-to-json.hh"
-
-#include <cstdlib>
-#include <iomanip>
-
-#include "libexpr/eval-inline.hh"
-#include "libutil/json.hh"
-#include "libutil/util.hh"
-
-namespace nix {
-
-void printValueAsJSON(EvalState& state, bool strict, Value& v,
-                      JSONPlaceholder& out, PathSet& context) {
-  checkInterrupt();
-
-  if (strict) {
-    state.forceValue(v);
-  }
-
-  switch (v.type) {
-    case tInt:
-      out.write(v.integer);
-      break;
-
-    case tBool:
-      out.write(v.boolean);
-      break;
-
-    case tString:
-      copyContext(v, context);
-      out.write(v.string.s);
-      break;
-
-    case tPath:
-      out.write(state.copyPathToStore(context, v.path));
-      break;
-
-    case tNull:
-      out.write(nullptr);
-      break;
-
-    case tAttrs: {
-      auto maybeString =
-          state.tryAttrsToString(noPos, v, context, false, false);
-      if (maybeString) {
-        out.write(*maybeString);
-        break;
-      }
-      auto i = v.attrs->find(state.sOutPath);
-      if (i == v.attrs->end()) {
-        auto obj(out.object());
-        StringSet names;
-        for (auto& j : *v.attrs) {
-          names.insert(j.second.name);
-        }
-        for (auto& j : names) {
-          auto [_, a] = *v.attrs->find(state.symbols.Create(j));
-          auto placeholder(obj.placeholder(j));
-          printValueAsJSON(state, strict, *a.value, placeholder, context);
-        }
-      } else {
-        printValueAsJSON(state, strict, *i->second.value, out, context);
-      }
-      break;
-    }
-
-    case tList: {
-      auto list(out.list());
-      for (unsigned int n = 0; n < v.listSize(); ++n) {
-        auto placeholder(list.placeholder());
-        printValueAsJSON(state, strict, *(*v.list)[n], placeholder, context);
-      }
-      break;
-    }
-
-    case tFloat:
-      out.write(v.fpoint);
-      break;
-
-    default:
-      throw TypeError(format("cannot convert %1% to JSON") % showType(v));
-  }
-}
-
-void printValueAsJSON(EvalState& state, bool strict, Value& v,
-                      std::ostream& str, PathSet& context) {
-  JSONPlaceholder out(str);
-  printValueAsJSON(state, strict, v, out, context);
-}
-
-}  // namespace nix