[−]Struct holochain_wasmer_guest::JsonString
track json serialization with the rust type system!
JsonString wraps a string containing JSON serialized data
avoid accidental double-serialization or forgetting to serialize
serialize any type consistently including hard-to-reach places like OptionFrom
trait to move between types
- moving to/from String, str, JsonString and JsonString simply (un)wraps it as raw JSON data
- moving to/from any other type must offer a reliable serialization/deserialization strategy
Methods
impl JsonString
pub fn null() -> JsonString
a null JSON value
e.g. represents None when implementing From<Option
pub fn empty_object() -> JsonString
pub fn is_null(&self) -> bool
pub fn from_json(s: &str) -> JsonString
pub fn to_bytes(&self) -> Vec<u8>
achieves the same outcome as serde_json::to_vec()
pub fn from_bytes(bytes: Vec<u8>) -> JsonString
Trait Implementations
impl Clone for JsonString
fn clone(&self) -> JsonString
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for JsonString
impl<'de> Deserialize<'de> for JsonString
fn deserialize<__D>(
__deserializer: __D
) -> Result<JsonString, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
__deserializer: __D
) -> Result<JsonString, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
impl Display for JsonString
impl Eq for JsonString
impl<'a> From<&'a JsonError> for JsonString
fn from(v: &JsonError) -> JsonString
impl<'a> From<&'a WasmError> for JsonString
[src]
fn from(v: &WasmError) -> JsonString
[src]
impl<'a> From<&'a WasmResult> for JsonString
[src]
fn from(v: &WasmResult) -> JsonString
[src]
impl From<&'static str> for JsonString
fn from(s: &str) -> JsonString
impl From<()> for JsonString
fn from(()) -> JsonString
impl From<JsonError> for JsonString
fn from(v: JsonError) -> JsonString
impl From<Option<String>> for JsonString
fn from(o: Option<String>) -> JsonString
impl<T> From<Option<T>> for JsonString where
T: Debug + Serialize + Into<JsonString>,
T: Debug + Serialize + Into<JsonString>,
fn from(o: Option<T>) -> JsonString
impl From<RawString> for JsonString
it should always be possible to Jsonify RawString, if not something is very wrong
fn from(raw_string: RawString) -> JsonString
impl<E> From<Result<String, E>> for JsonString where
E: Into<JsonString>,
E: Into<JsonString>,
fn from(result: Result<String, E>) -> JsonString
impl From<Result<String, String>> for JsonString
fn from(result: Result<String, String>) -> JsonString
impl<T, E> From<Result<T, E>> for JsonString where
E: Into<JsonString>,
T: Into<JsonString>,
E: Into<JsonString>,
T: Into<JsonString>,
fn from(result: Result<T, E>) -> JsonString
impl<T> From<Result<T, String>> for JsonString where
T: Into<JsonString>,
T: Into<JsonString>,
fn from(result: Result<T, String>) -> JsonString
impl From<Value> for JsonString
fn from(v: Value) -> JsonString
impl<T> From<Vec<T>> for JsonString where
T: Serialize,
T: Serialize,
fn from(vector: Vec<T>) -> JsonString
impl From<WasmError> for JsonString
[src]
fn from(v: WasmError) -> JsonString
[src]
impl From<WasmResult> for JsonString
[src]
fn from(v: WasmResult) -> JsonString
[src]
impl From<bool> for JsonString
fn from(u: bool) -> JsonString
impl From<i32> for JsonString
fn from(u: i32) -> JsonString
impl From<u128> for JsonString
fn from(u: u128) -> JsonString
impl From<u32> for JsonString
fn from(u: u32) -> JsonString
impl From<u64> for JsonString
fn from(u: u64) -> JsonString
impl Hash for JsonString
fn hash<__H>(&self, state: &mut __H) where
__H: Hasher,
__H: Hasher,
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl PartialEq<JsonString> for JsonString
fn eq(&self, other: &JsonString) -> bool
fn ne(&self, other: &JsonString) -> bool
impl Serialize for JsonString
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
impl StructuralEq for JsonString
impl StructuralPartialEq for JsonString
impl<'a> TryFrom<&'a JsonString> for WasmResult
[src]
type Error = JsonError
The type returned in the event of a conversion error.
fn try_from(
json_string: &JsonString
) -> Result<WasmResult, <WasmResult as TryFrom<&'a JsonString>>::Error>
[src]
json_string: &JsonString
) -> Result<WasmResult, <WasmResult as TryFrom<&'a JsonString>>::Error>
impl<'a> TryFrom<&'a JsonString> for WasmError
[src]
type Error = JsonError
The type returned in the event of a conversion error.
fn try_from(
json_string: &JsonString
) -> Result<WasmError, <WasmError as TryFrom<&'a JsonString>>::Error>
[src]
json_string: &JsonString
) -> Result<WasmError, <WasmError as TryFrom<&'a JsonString>>::Error>
impl<'a> TryFrom<&'a JsonString> for JsonError
type Error = JsonError
The type returned in the event of a conversion error.
fn try_from(
json_string: &JsonString
) -> Result<JsonError, <JsonError as TryFrom<&'a JsonString>>::Error>
json_string: &JsonString
) -> Result<JsonError, <JsonError as TryFrom<&'a JsonString>>::Error>
impl TryFrom<JsonString> for WasmError
[src]
type Error = JsonError
The type returned in the event of a conversion error.
fn try_from(
json_string: JsonString
) -> Result<WasmError, <WasmError as TryFrom<JsonString>>::Error>
[src]
json_string: JsonString
) -> Result<WasmError, <WasmError as TryFrom<JsonString>>::Error>
impl TryFrom<JsonString> for WasmResult
[src]
type Error = JsonError
The type returned in the event of a conversion error.
fn try_from(
json_string: JsonString
) -> Result<WasmResult, <WasmResult as TryFrom<JsonString>>::Error>
[src]
json_string: JsonString
) -> Result<WasmResult, <WasmResult as TryFrom<JsonString>>::Error>
impl TryFrom<JsonString> for JsonError
type Error = JsonError
The type returned in the event of a conversion error.
fn try_from(
json_string: JsonString
) -> Result<JsonError, <JsonError as TryFrom<JsonString>>::Error>
json_string: JsonString
) -> Result<JsonError, <JsonError as TryFrom<JsonString>>::Error>
impl TryInto<JsonStringOption<String>> for JsonString
type Error = JsonError
The type returned in the event of a conversion error.
fn try_into(
self
) -> Result<JsonStringOption<String>, <JsonString as TryInto<JsonStringOption<String>>>::Error>
self
) -> Result<JsonStringOption<String>, <JsonString as TryInto<JsonStringOption<String>>>::Error>
impl<T> TryInto<JsonStringOption<T>> for JsonString where
T: Into<JsonString> + DeserializeOwned,
T: Into<JsonString> + DeserializeOwned,
type Error = JsonError
The type returned in the event of a conversion error.
fn try_into(
self
) -> Result<JsonStringOption<T>, <JsonString as TryInto<JsonStringOption<T>>>::Error>
self
) -> Result<JsonStringOption<T>, <JsonString as TryInto<JsonStringOption<T>>>::Error>
impl<E> TryInto<Result<String, E>> for JsonString where
E: Into<JsonString> + DeserializeOwned,
E: Into<JsonString> + DeserializeOwned,
type Error = JsonError
The type returned in the event of a conversion error.
fn try_into(
self
) -> Result<Result<String, E>, <JsonString as TryInto<Result<String, E>>>::Error>
self
) -> Result<Result<String, E>, <JsonString as TryInto<Result<String, E>>>::Error>
impl TryInto<Result<String, String>> for JsonString
type Error = JsonError
The type returned in the event of a conversion error.
fn try_into(
self
) -> Result<Result<String, String>, <JsonString as TryInto<Result<String, String>>>::Error>
self
) -> Result<Result<String, String>, <JsonString as TryInto<Result<String, String>>>::Error>
impl<T, E> TryInto<Result<T, E>> for JsonString where
E: Into<JsonString> + DeserializeOwned,
T: Into<JsonString> + DeserializeOwned,
E: Into<JsonString> + DeserializeOwned,
T: Into<JsonString> + DeserializeOwned,
type Error = JsonError
The type returned in the event of a conversion error.
fn try_into(
self
) -> Result<Result<T, E>, <JsonString as TryInto<Result<T, E>>>::Error>
self
) -> Result<Result<T, E>, <JsonString as TryInto<Result<T, E>>>::Error>
impl<T> TryInto<Result<T, String>> for JsonString where
T: Into<JsonString> + DeserializeOwned,
T: Into<JsonString> + DeserializeOwned,
Auto Trait Implementations
impl RefUnwindSafe for JsonString
impl Send for JsonString
impl Sync for JsonString
impl Unpin for JsonString
impl UnwindSafe for JsonString
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: Deserialize<'de>,
[src]
T: Deserialize<'de>,
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
fn equivalent(&self, key: &K) -> bool
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,