All except `GetAsDictionary()`. Please use new shiny methods instead.
https://chromium.googlesource.com/chromium/src/+/master/base/values.h
atom/common/native_mate_converters/v8_value_converter.cc
v8::Isolate* isolate,
    const base::Value* value) const {
  switch (value->type()) {
    case base::Value::Type::NONE:
      return v8::Null(isolate);
    case base::Value::Type::BOOLEAN: {
      bool val = false;
      value->GetAsBoolean(&val);
      return v8::Boolean::New(isolate, val);
    }
    case base::Value::Type::INTEGER: {
      int val = 0;
      value->GetAsInteger(&val);
      return v8::Integer::New(isolate, val);
    }
    case base::Value::Type::DOUBLE: {
      double val = 0.0;
      value->GetAsDouble(&val);
      return v8::Number::New(isolate, val);
    }
    case base::Value::Type::STRING: {
      std::string val;
      value->GetAsString(&val);
      return v8::String::NewFromUtf8(isolate, val.c_str(),