pub enum JsonValue {
Null,
Bool(bool),
Number(SharedString),
String(SharedString),
Array(Vec<JsonValue>),
Object(Vec<(SharedString, JsonValue)>),
Redacted(SharedString),
}Expand description
A JSON value, plus the one thing JSON cannot say: that a subtree is being withheld on purpose.
Variants§
Null
Bool(bool)
Number(SharedString)
The number exactly as the document wrote it.
String(SharedString)
Array(Vec<JsonValue>)
Object(Vec<(SharedString, JsonValue)>)
Members in document order. A repeated key is kept, not collapsed.
Redacted(SharedString)
Present, and not shown. Carries a description of the shape and no part of the value.
Implementations§
Source§impl JsonValue
impl JsonValue
pub fn number(text: impl Into<SharedString>) -> Self
pub fn string(text: impl Into<SharedString>) -> Self
pub fn array(items: impl IntoIterator<Item = JsonValue>) -> Self
pub fn object( members: impl IntoIterator<Item = (impl Into<SharedString>, JsonValue)>, ) -> Self
Sourcepub fn redacted(shape: impl Into<SharedString>) -> Self
pub fn redacted(shape: impl Into<SharedString>) -> Self
Withholds a subtree, described by a shape the caller wrote.
Sourcepub fn redacted_from(value: &JsonValue, cx: &App) -> Self
pub fn redacted_from(value: &JsonValue, cx: &App) -> Self
Measures a value and keeps only the measurement.
The value is consumed here and never stored, which is what makes this safe to call with the secret itself: what comes back holds a sentence about the shape and nothing of the content.
pub fn kind(&self) -> ValueKind
Trait Implementations§
impl Eq for JsonValue
impl StructuralPartialEq for JsonValue
Auto Trait Implementations§
impl Freeze for JsonValue
impl RefUnwindSafe for JsonValue
impl Send for JsonValue
impl Sync for JsonValue
impl Unpin for JsonValue
impl UnsafeUnpin for JsonValue
impl UnwindSafe for JsonValue
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more