Abstract Readonly fieldAbstract lengthReturns the number of members contained in this Record.
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 the [[Record.flattened flattened]] members of this Record after
all attributes have been removed.
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.
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 their typeOrder.
Returns the number of [[Value]] members contained in this Record.
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 clearAbstract deleteReturns 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.
Abstract forAbstract getReturns true if this Record has a [[Field]] member with a key that is
equal to the given key; otherwise returns false if this Record has
no Field member with a key equal to the given key.
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 [[Record.unflattened unflattened]] [[Record.header 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.
Optional index: numberAbstract isOptional index: numberOptional 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.
Abstract pushRest ...items: ItemLike[]Abstract setReplaces the member of this Record at the given index with a new
item, returning this Record, if the index is greater than or
equal to zero, and less than the [[Record.length length]] of this Record.
Error if this is an immutable Record.
RangeError if the index is out of bounds.
Abstract spliceConverts 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.
Static absentStatic builderStatic createStatic emptyStatic extantStatic fromStatic fromStatic fromStatic globalStatic ofGenerated using TypeDoc
Returns the number of [[Field]] members contained in this
Record.