Original source span, normalized forms, and security facts for one domain label.
Offsets and counts refer to the original UTF-8 input. A trailing root may
contain source characters removed by UTS #46, so its input need not be empty.
Each non-root label has its own policy findings. Invalid labels retain only
forms known safe to report and leave unavailable security facts nil.
Summary
Types
@type t() :: %UnicodeSecurity.DomainLabel{ ascii: binary() | nil, byte_length: non_neg_integer() | nil, byte_offset: non_neg_integer() | nil, codepoint_count: non_neg_integer() | nil, codepoint_index: non_neg_integer() | nil, index: non_neg_integer() | nil, input: binary() | nil, mapped?: boolean() | nil, mixed_number?: boolean() | nil, mixed_script?: boolean() | nil, reasons: [UnicodeSecurity.Reason.t()], resolved_scripts: :all | [atom()] | nil, restriction_level: UnicodeSecurity.Result.restriction_level() | nil, root?: boolean() | nil, scripts: [atom()] | nil, skeleton: binary() | nil, unicode: binary() | nil, valid_idna?: boolean() | nil, verdict: UnicodeSecurity.Result.verdict() | nil }