[][src]Struct sval_json::Writer

pub struct Writer<W>(_);

A stream for writing structured data as json.

The stream internally wraps a std::io::Write.

Examples

Create an owned json stream:

use sval::stream::OwnedStream;
use sval_json::Writer;

let mut stream = OwnedStream::new(Writer::new(Vec::<u8>::new()));
stream.any(42)?;
let json = stream.into_inner().end()?;

assert_eq!(Some("42"), str::from_utf8(&json).ok());

Methods

impl<W> Writer<W> where
    W: Write
[src]

pub fn new(out: W) -> Self[src]

Create a new json stream.

pub fn is_valid(&self) -> bool[src]

Whether the stream has seen a complete, valid json structure.

pub fn end(self) -> Result<W, End<Self>>[src]

Complete the stream and return the inner writer.

If the writer contains incomplete json then this method will fail. The returned error can be used to pull the original stream back out.

pub fn into_inner_unchecked(self) -> W[src]

Get the inner writer back out of the stream without ensuring it's valid.

Trait Implementations

impl<W> Stream for Writer<W> where
    W: Write
[src]

fn i128(&mut self, v: i128) -> Result<(), Error>[src]

Stream a 128bit signed integer.

fn u128(&mut self, v: u128) -> Result<(), Error>[src]

Stream a 128bit unsigned integer.

Auto Trait Implementations

impl<W> Unpin for Writer<W> where
    W: Unpin

impl<W> Sync for Writer<W> where
    W: Sync

impl<W> Send for Writer<W> where
    W: Send

impl<W> RefUnwindSafe for Writer<W> where
    W: RefUnwindSafe

impl<W> UnwindSafe for Writer<W> where
    W: UnwindSafe

Blanket Implementations

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]