Abstract Abstract Readonly thenAbstract Readonly typeReturns 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 their typeOrder.
Returns 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.
Abstract andConverts 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 cloneAbstract 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.
Abstract forReturns the value of the last [[Field]] member of this Value whose key
is equal to the given key; returns [[Absent]] 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.
Returns the value of the last [[Attr]] member of this Value whose key
is equal to the given key; returns [[Absent]] if this Value is not a
[[Record]], or if this Value is a Record, but has no Attr member
with a key equal to the given key.
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.
Optional likeAbstract mapConverts 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.
Abstract substituteReturns 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 childrenStatic descendantsStatic emptyStatic extantStatic fromStatic getStatic getStatic getStatic globalStatic identityStatic keysStatic literalStatic valuesGenerated using TypeDoc
The
Selectorthat thisSelectoruses to match sub-selections.