DoxigAlpha

serializeArbitraryDepth

Like serialize, but recursive types are allowed.

It is the caller's responsibility to ensure that val does not contain cycles.

Function parameters

Parameters

#
val:anytype
writer:*Writer

Type definitions in this namespace

Types

#

Serialize the given value as ZON.

Functions

#
serialize
Serialize the given value as ZON.
serializeMaxDepth
Like `serialize`, but recursive types are allowed.
serializeArbitraryDepth
Like `serialize`, but recursive types are allowed.

Source

Implementation

#
pub fn serializeArbitraryDepth(
    val: anytype,
    options: SerializeOptions,
    writer: *Writer,
) Serializer.Error!void {
    var s: Serializer = .{
        .writer = writer,
        .options = .{ .whitespace = options.whitespace },
    };
    try s.valueArbitraryDepth(val, .{
        .emit_codepoint_literals = options.emit_codepoint_literals,
        .emit_strings_as_containers = options.emit_strings_as_containers,
        .emit_default_optional_fields = options.emit_default_optional_fields,
    });
}