Skip to content

Commit

Permalink
Add literal 'null', 'true' and 'false' consts to RawValue struct.
Browse files Browse the repository at this point in the history
  • Loading branch information
bheylin committed Dec 11, 2024
1 parent 7cce517 commit 9c9aa1f
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions src/raw.rs
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,14 @@ pub struct RawValue {
}

impl RawValue {
fn from_borrowed(json: &str) -> &Self {
/// A literal JSON null value as `RawValue`.
pub const NULL: &RawValue = RawValue::from_borrowed("null");
/// A literal JSON boolean true value as `RawValue`.
pub const TRUE: &RawValue = RawValue::from_borrowed("true");
/// A literal JSON boolean false value as `RawValue`.
pub const FALSE: &RawValue = RawValue::from_borrowed("false");

const fn from_borrowed(json: &str) -> &Self {
unsafe { mem::transmute::<&str, &RawValue>(json) }
}

Expand Down Expand Up @@ -148,7 +155,7 @@ impl ToOwned for RawValue {

impl Default for Box<RawValue> {
fn default() -> Self {
RawValue::from_borrowed("null").to_owned()
RawValue::NULL.to_owned()
}
}

Expand Down

0 comments on commit 9c9aa1f

Please sign in to comment.