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
return nullptr;
  if (val->IsDate()) {
    v8::Date* date = v8::Date::Cast(*val);
    v8::Local<v8::Value> toISOString =
        date->Get(v8::String::NewFromUtf8(isolate, "toISOString"));
    if (toISOString->IsFunction()) {
      v8::Local<v8::Value> result =
          toISOString.As<v8::Function>()->Call(val, 0, nullptr);
      if (!result.IsEmpty()) {
        v8::String::Utf8Value utf8(result->ToString(context).ToLocalChecked());
        return new base::Value(std::string(*utf8, utf8.length()));
      }
    }
  }
  if (val->IsRegExp()) {
    if (!reg_exp_allowed_)
      
      return FromV8Object(val->ToObject(context).ToLocalChecked(), state,
                          isolate);
    return new base::Value(
        *v8::String::Utf8Value(val->ToString(context).ToLocalChecked()));
  }
  
  if (val->IsArray())
    return FromV8Array(val.As<v8::Array>(), state, isolate);
  if (val->IsFunction()) {
    if (!function_allowed_)
      
      return nullptr;