Abstract Abstract Readonly typeReturns the number of members contained in this Value, if this Value
is a [[Record]]; otherwise returns 0 if this Value is not a Record.
Returns the key string of the first member of this Value, if this
Value is a [[Record]], and its first member is an [[Attr]]; otherwise
returns undefined if this Value is not a Record, or if this Value
is a Record whose 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 the [[Value.flattened flattened]] members of this Value after
all attributes have been removed, if this Value is a [[Record]];
otherwise returns this if this Value is not a Record.
Used to concisely get the scalar value of an attributed structure. An
attributed structure is a Record with one or more attributes that modify
one or more other members.
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.
Abstract compareAbstract debugAbstract equalsAbstract equivalentReturns the sole member of this Value, if this Value is a [[Record]]
with exactly one member, and its member is a Value; returns [[Extant]]
if this Value is an empty Record; otherwise returns this if this
Value is a Record with more than one member, or if this Value is a
not a Record.
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 member of this Value at the given index, if this Value
is a [[Record]], and the index is greater than or equal to zero, and
less than the [[Record.length length]] of the Record; otherwise returns
[[Absent]] if this Value is not a Record, or if this Value is a
Record, but the index is out of bounds.
Returns true if this Value is a [[Record]] that has a [[Field]] member
with a key that is equal to the given key; otherwise returns false if
this Value is not a Record, or if this Value is a Record, but has
no Field member with a key equal to the given key.
Abstract hashReturns the value of the first member of this Value, if this Value is
a Record, and its first member is an [[Attr]] whose key string is
equal to tag; otherwise returns [[Absent]] if this Value is not a
Record, or if this Value is a Record whose first member is not an
Attr, or if this Value is a Record whose first member 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 [[Value.unflattened unflattened]] [[Value.header header]] of
this Value, if this Value is a [[Record]], and its first member is an
[[Attr]] whose key string is equal to tag; otherwise returns
undefined.
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.
Abstract isOptional likeConverts 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.
Converts this Value into a string value, if possible; otherwise returns
undefined if this Value can't be converted into a string value.
Converts this Value into a string value, if possible; otherwise returns
orElse if this Value can't be converted into a string value.
Returns this if this Value is a [[Record]]; returns a Record
containing just this Value, if this Value is [[Value.isDistinct
distinct]]; otherwise returns an empty Record if this Value is
[[Extant]] or [[Absent]]. Facilitates writing code that treats a bare
Value equivalently to a unary Record.
Static absentStatic builderStatic emptyStatic extantStatic fromStatic globalGenerated using TypeDoc
Returns the heterogeneous sort order of this
Item. Used to impose a total order on the set of all items. When comparing two items of different types, the items order according to theirtypeOrder.