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
.