blob: 92bfe8594b07e0b636740eafb0bbf227231053d2 [file] [log] [blame]
// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Demo library to ensure that serde_json_lenient is working independently of
// its integration with Chromium.
use serde_json_lenient::{Result, Value};
#[cxx::bridge]
mod ffi {
extern "Rust" {
fn serde_works() -> bool;
}
}
fn serde_works() -> bool {
parses_ok().unwrap_or_default()
}
fn parses_ok() -> Result<bool> {
let data = r#"
{
"name": "Slartibartfast",
"planets": [ "Magrathea" ]
}"#;
let v: Value = serde_json_lenient::from_str(data)?;
Ok(v["name"] == "Slartibartfast" && v["planets"][0] == "Magrathea")
}