type
Dict
Dict is a map of name/value pairs. It is used to model grid rows, grid meta-data, and name/value object literals. Dict is characterized by:
- names must match
Etc.isTagName
rules - values should be one valid Haystack kinds
- get
[]
access returns null if name not found - trap
->
access throws exception if name not found
Also see Etc.emptyDict
, Etc.makeDict
.
methods
_id |
Temp shim until we break backward compatibility |
---|---|
dis |
Get display string for dict or the given tag. |
each |
Iterate through the name/value pairs |
eachWhile |
Iterate through the name/value pairs until the given function returns non-null, then break the iteration and return resulting object. |
get |
Get the value for the given name or |
has |
Return true if the given name is mapped to a non-null value. |
id |
Get the |
isEmpty |
Return if the there are no name/value pairs |
map |
Create a new instance of this dict with the same names, but apply the specified closure to generate new values. |
missing |
Return true if the given name is not mapped to a non-null value. |
toStr |
Return string for debugging only |
trap |
Get the value mapped by the given name. |
Slot Details
_id
virtual override Ref _id()
Temp shim until we break backward compatibility
dis
virtual Str? dis(Str? name := null, Str? def := "")
Get display string for dict or the given tag. If name
is null, then return display text for the entire dict using Etc.dictToDis
. If name
is non-null then format the tag value using its appropiate toLocale
method. If name
is not defined by this dict, then return def
.
each
eachWhile
get
has
id
virtual Ref id()
Get the id
tag as a Ref or raise CastErr/UnknownNameErr
isEmpty
abstract override Bool isEmpty()
Return if the there are no name/value pairs
map
missing
toStr
virtual override Str toStr()
Return string for debugging only