diff options
author | Andreas Kling <kling@serenityos.org> | 2021-11-15 01:46:51 +0100 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-11-17 00:21:10 +0100 |
commit | 587f9af960daa9f003ec9e41751cdc4ce50b87dd (patch) | |
tree | 41bc5b51741dffcc23e3e4b63d4c17a37e2e03d7 /Userland/Libraries/LibJS/Runtime/JSONObject.cpp | |
parent | 304c03f457e294a3d756860325d93b809f50f7a6 (diff) | |
download | serenity-587f9af960daa9f003ec9e41751cdc4ce50b87dd.zip |
AK: Make JSON parser return ErrorOr<JsonValue> (instead of Optional)
Also add slightly richer parse errors now that we can include a string
literal with returned errors.
This will allow us to use TRY() when working with JSON data.
Diffstat (limited to 'Userland/Libraries/LibJS/Runtime/JSONObject.cpp')
-rw-r--r-- | Userland/Libraries/LibJS/Runtime/JSONObject.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Userland/Libraries/LibJS/Runtime/JSONObject.cpp b/Userland/Libraries/LibJS/Runtime/JSONObject.cpp index b7f4679b1d..ac3fc9cd3f 100644 --- a/Userland/Libraries/LibJS/Runtime/JSONObject.cpp +++ b/Userland/Libraries/LibJS/Runtime/JSONObject.cpp @@ -352,7 +352,7 @@ JS_DEFINE_NATIVE_FUNCTION(JSONObject::parse) auto reviver = vm.argument(1); auto json = JsonValue::from_string(string); - if (!json.has_value()) + if (json.is_error()) return vm.throw_completion<SyntaxError>(global_object, ErrorType::JsonMalformed); Value unfiltered = parse_json_value(global_object, json.value()); if (reviver.is_function()) { |