.\" -*- mode: troff; coding: utf-8 -*-
.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
.ie n \{\
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds C`
. ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{\
. if \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. if !\nF==2 \{\
. nr % 0
. nr F 2
. \}
. \}
.\}
.rr rF
.\" ========================================================================
.\"
.IX Title "Test2::EventFacet::Info 3pm"
.TH Test2::EventFacet::Info 3pm 2024-04-27 "perl v5.38.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH NAME
Test2::EventFacet::Info \- Facet for information a developer might care about.
.SH DESCRIPTION
.IX Header "DESCRIPTION"
This facet represents messages intended for humans that will help them either
understand a result, or diagnose a failure.
.SH NOTES
.IX Header "NOTES"
This facet appears in a list instead of being a single item.
.SH FIELDS
.IX Header "FIELDS"
.ie n .IP "$string_or_structure = $info\->{details}" 4
.el .IP "\f(CW$string_or_structure\fR = \f(CW$info\fR\->{details}" 4
.IX Item "$string_or_structure = $info->{details}"
.PD 0
.ie n .IP "$string_or_structure = $info\->\fBdetails()\fR" 4
.el .IP "\f(CW$string_or_structure\fR = \f(CW$info\fR\->\fBdetails()\fR" 4
.IX Item "$string_or_structure = $info->details()"
.PD
Human readable string or data structure, this is the information to display.
Formatters are free to render the structures however they please. This may
contain a blessed object.
.Sp
If the \f(CW\*(C`table\*(C'\fR attribute (see below) is set then a renderer may choose to
display the table instead of the details.
.ie n .IP "$structure = $info\->{table}" 4
.el .IP "\f(CW$structure\fR = \f(CW$info\fR\->{table}" 4
.IX Item "$structure = $info->{table}"
.PD 0
.ie n .IP "$structure = $info\->\fBtable()\fR" 4
.el .IP "\f(CW$structure\fR = \f(CW$info\fR\->\fBtable()\fR" 4
.IX Item "$structure = $info->table()"
.PD
If the data the \f(CW\*(C`info\*(C'\fR facet needs to convey can be represented as a table
then the data may be placed in this attribute in a more raw form for better
display. The data must also be represented in the \f(CW\*(C`details\*(C'\fR attribute for
renderers which do not support rendering tables directly.
.Sp
The table structure:
.Sp
.Vb 2
\& my %table = {
\& header => [ \*(Aqcolumn 1 header\*(Aq, \*(Aqcolumn 2 header\*(Aq, ... ], # Optional
\&
\& rows => [
\& [\*(Aqrow 1 column 1\*(Aq, \*(Aqrow 1, column 2\*(Aq, ... ],
\& [\*(Aqrow 2 column 1\*(Aq, \*(Aqrow 2, column 2\*(Aq, ... ],
\& ...
\& ],
\&
\& # Allow the renderer to hide empty columns when true, Optional
\& collapse => $BOOL,
\&
\& # List by name or number columns that should never be collapsed
\& no_collapse => \e@LIST,
\& }
.Ve
.ie n .IP "$short_string = $info\->{tag}" 4
.el .IP "\f(CW$short_string\fR = \f(CW$info\fR\->{tag}" 4
.IX Item "$short_string = $info->{tag}"
.PD 0
.ie n .IP "$short_string = $info\->\fBtag()\fR" 4
.el .IP "\f(CW$short_string\fR = \f(CW$info\fR\->\fBtag()\fR" 4
.IX Item "$short_string = $info->tag()"
.PD
Short tag to categorize the info. This is usually 10 characters or less,
formatters may truncate longer tags.
.ie n .IP "$bool = $info\->{debug}" 4
.el .IP "\f(CW$bool\fR = \f(CW$info\fR\->{debug}" 4
.IX Item "$bool = $info->{debug}"
.PD 0
.ie n .IP "$bool = $info\->\fBdebug()\fR" 4
.el .IP "\f(CW$bool\fR = \f(CW$info\fR\->\fBdebug()\fR" 4
.IX Item "$bool = $info->debug()"
.PD
Set this to true if the message is critical, or explains a failure. This is
info that should be displayed by formatters even in less-verbose modes.
.Sp
When false the information is not considered critical and may not be rendered
in less-verbose modes.
.ie n .IP "$bool = $info\->{important}" 4
.el .IP "\f(CW$bool\fR = \f(CW$info\fR\->{important}" 4
.IX Item "$bool = $info->{important}"
.PD 0
.ie n .IP "$bool = $info\->important" 4
.el .IP "\f(CW$bool\fR = \f(CW$info\fR\->important" 4
.IX Item "$bool = $info->important"
.PD
This should be set for non debug messages that are still important enough to
show when a formatter is in quiet mode. A formatter should send these to STDOUT
not STDERR, but should show them even in non-verbose mode.
.SH SOURCE
.IX Header "SOURCE"
The source code repository for Test2 can be found at
.
.SH MAINTAINERS
.IX Header "MAINTAINERS"
.IP "Chad Granum " 4
.IX Item "Chad Granum "
.SH AUTHORS
.IX Header "AUTHORS"
.PD 0
.IP "Chad Granum " 4
.IX Item "Chad Granum "
.PD
.SH COPYRIGHT
.IX Header "COPYRIGHT"
Copyright 2020 Chad Granum .
.PP
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
.PP
See