structstd.zon.stringify.Serializer.Tuple[src]

Writes ZON tuples field by field.

Fields

container: Container

Functions

Functionend[src]

pub fn end(self: *Tuple) Writer.Error!void

Finishes serializing the tuple.

Prints a trailing comma as configured when appropriate, and the closing bracket.

Parameters

self: *Tuple

Source Code

Source code
pub fn end(self: *Tuple) Writer.Error!void {
    try self.container.end();
    self.* = undefined;
}

Functionfield[src]

pub fn field( self: *Tuple, val: anytype, options: ValueOptions, ) Writer.Error!void

Serialize a field. Equivalent to calling fieldPrefix followed by value.

Parameters

self: *Tuple
options: ValueOptions

Source Code

Source code
pub fn field(
    self: *Tuple,
    val: anytype,
    options: ValueOptions,
) Writer.Error!void {
    try self.container.field(null, val, options);
}

FunctionfieldMaxDepth[src]

pub fn fieldMaxDepth( self: *Tuple, val: anytype, options: ValueOptions, depth: usize, ) (Writer.Error || error{ExceededMaxDepth})!void

Serialize a field. Equivalent to calling fieldPrefix followed by valueMaxDepth.

Parameters

self: *Tuple
options: ValueOptions
depth: usize

Source Code

Source code
pub fn fieldMaxDepth(
    self: *Tuple,
    val: anytype,
    options: ValueOptions,
    depth: usize,
) (Writer.Error || error{ExceededMaxDepth})!void {
    try self.container.fieldMaxDepth(null, val, options, depth);
}

FunctionfieldArbitraryDepth[src]

pub fn fieldArbitraryDepth( self: *Tuple, val: anytype, options: ValueOptions, ) Writer.Error!void

Serialize a field. Equivalent to calling fieldPrefix followed by valueArbitraryDepth.

Parameters

self: *Tuple
options: ValueOptions

Source Code

Source code
pub fn fieldArbitraryDepth(
    self: *Tuple,
    val: anytype,
    options: ValueOptions,
) Writer.Error!void {
    try self.container.fieldArbitraryDepth(null, val, options);
}

FunctionbeginStructField[src]

pub fn beginStructField( self: *Tuple, options: SerializeContainerOptions, ) Writer.Error!Struct

Starts a field with a struct as a value. Returns the struct.

Parameters

Source Code

Source code
pub fn beginStructField(
    self: *Tuple,
    options: SerializeContainerOptions,
) Writer.Error!Struct {
    try self.fieldPrefix();
    return self.container.serializer.beginStruct(options);
}

FunctionbeginTupleField[src]

pub fn beginTupleField( self: *Tuple, options: SerializeContainerOptions, ) Writer.Error!Tuple

Starts a field with a tuple as a value. Returns the tuple.

Parameters

Source Code

Source code
pub fn beginTupleField(
    self: *Tuple,
    options: SerializeContainerOptions,
) Writer.Error!Tuple {
    try self.fieldPrefix();
    return self.container.serializer.beginTuple(options);
}

FunctionfieldPrefix[src]

pub fn fieldPrefix(self: *Tuple) Writer.Error!void

Print a field prefix. This prints any necessary commas, and whitespace as configured. Useful if you want to serialize the field value yourself.

Parameters

self: *Tuple

Source Code

Source code
pub fn fieldPrefix(self: *Tuple) Writer.Error!void {
    try self.container.fieldPrefix(null);
}

Source Code

Source code
pub const Tuple = struct {
    container: Container,

    fn begin(parent: *Self, options: SerializeContainerOptions) Writer.Error!Tuple {
        return .{
            .container = try Container.begin(parent, .anon, options),
        };
    }

    /// Finishes serializing the tuple.
    ///
    /// Prints a trailing comma as configured when appropriate, and the closing bracket.
    pub fn end(self: *Tuple) Writer.Error!void {
        try self.container.end();
        self.* = undefined;
    }

    /// Serialize a field. Equivalent to calling `fieldPrefix` followed by `value`.
    pub fn field(
        self: *Tuple,
        val: anytype,
        options: ValueOptions,
    ) Writer.Error!void {
        try self.container.field(null, val, options);
    }

    /// Serialize a field. Equivalent to calling `fieldPrefix` followed by `valueMaxDepth`.
    pub fn fieldMaxDepth(
        self: *Tuple,
        val: anytype,
        options: ValueOptions,
        depth: usize,
    ) (Writer.Error || error{ExceededMaxDepth})!void {
        try self.container.fieldMaxDepth(null, val, options, depth);
    }

    /// Serialize a field. Equivalent to calling `fieldPrefix` followed by
    /// `valueArbitraryDepth`.
    pub fn fieldArbitraryDepth(
        self: *Tuple,
        val: anytype,
        options: ValueOptions,
    ) Writer.Error!void {
        try self.container.fieldArbitraryDepth(null, val, options);
    }

    /// Starts a field with a struct as a value. Returns the struct.
    pub fn beginStructField(
        self: *Tuple,
        options: SerializeContainerOptions,
    ) Writer.Error!Struct {
        try self.fieldPrefix();
        return self.container.serializer.beginStruct(options);
    }

    /// Starts a field with a tuple as a value. Returns the tuple.
    pub fn beginTupleField(
        self: *Tuple,
        options: SerializeContainerOptions,
    ) Writer.Error!Tuple {
        try self.fieldPrefix();
        return self.container.serializer.beginTuple(options);
    }

    /// Print a field prefix. This prints any necessary commas, and whitespace as
    /// configured. Useful if you want to serialize the field value yourself.
    pub fn fieldPrefix(self: *Tuple) Writer.Error!void {
        try self.container.fieldPrefix(null);
    }
}