Converts this Value
into a boolean
value, if possible; otherwise
returns undefined
if this Value
can't be converted into a boolean
value.
Converts this Value
into a boolean
value, if possible; otherwise
returns orElse
if this Value
can't be converted into a boolean
value.
Returns the number of Field members contained in this Record
.
Returns the sole member of this Record
, if this Record
has exactly one
member, and its member is a Value
; returns Extant if this Record
is empty; otherwise returns this
if this Record
has more than one
member.
Used to convert a unary Record
into its member Value
. Facilitates
writing code that treats a unary Record
equivalently to a bare Value
.
Returns the value of the first member of this Record
, if the first
member is an Attr whose key
string is equal to tag
; otherwise
returns Absent if the first member of this Record
is not an Attr
,
or if the first member of this Record
is an Attr
whose key
does not
equal the tag
.
Used to conditionally get the value of the head Attr
of a structure, if
and only if the key string of the head Attr
is equal to the tag
. Can
be used to check if a structure might conform to a nominal type named
tag
, while simultaneously getting the value of the tag
attribute.
Returns the unflattened header of
this Record
. The headers
of the tag
attribute of a structure are
like the attributes of an XML element tag; through unlike an XML element,
tag
attribute headers are not limited to string keys and values.
Returns true
if this Value
is not Absent.
Converts this Value
into a number
value, if possible; otherwise returns
undefined
if this Value
can't be converted into a number
value.
Converts this Value
into a number
value, if possible; otherwise returns
orElse
if this Value
can't be converted into a number
value.
Returns the key
string of the first member of this Record
, if the
first member is an Attr; otherwise returns undefined
if the first
member is not an Attr
.
Used to concisely get the name of the discriminating attribute of a
structure. The tag
can be used to discern the nominal type of a
polymorphic structure, similar to an XML element tag.
Returns a view of all but the first member of this Record
, if this
Record
is non-empty; otherwise returns an empty Record
, if this
Record
is itself empty.
Always returns this
because every Value
is its own value component.
Returns this
`Record.
Returns the number of Value members contained in this Record
.
Always returns Absent because a
Value
can't be aField
, so it can't have a key component.