class

Dust::DisplayNode

Inherits Comparable < Reference < Object

The tree that gets rendered. Field order matters: Ord compares (size, name, children) lexicographically, exactly like the Rust struct.

Constants

EMPTY = [] of DisplayNode

Leaf nodes share this immutable empty list instead of allocating one each.

Constructors

new(size : UInt64, name : String, children : Array(DisplayNode) | Nil)
Source

Instance methods

<=>(other : DisplayNode) : Int32

The comparison operator. Returns 0 if the two objects are equal, a negative number if this object is considered less than other, a positive number if this object is considered greater than other, or nil if the two objects are not comparable.

Subclasses define this method to provide class-specific ordering.

The comparison operator is usually used to sort values:

# Sort in a descending way:
[3, 1, 2].sort { |x, y| y <=> x } # => [3, 2, 1]

# Sort in an ascending way:
[3, 1, 2].sort { |x, y| x <=> y } # => [1, 2, 3]
Source
children
Source
name
Source
num_siblings
Source
ordered_children(is_reversed : Bool) : Array(DisplayNode)
Source
size
Source
to_json(io : IO, output_type : String) : Nil
Source
to_json(io : IO) : Nil

size is a pre-formatted string so that -o also applies to JSON output.

Source
to_json(output_type : String) : String
Source