It seem that
roSgNode (AKA everything RSG) implements
ifAssociativeArray? Is this intentional and official - or is it a leaky abstraction or subject to change?
Coincidentally i discovered today that a node responds to
.count(), then to
.doesExist() - and decided to dig futher some more:
BrightScript Debugger> o = createObject("roSgNode", "Node"): ? o
<Component: roSGNode> =
{
change: <Component: roAssociativeArray>
focusable: false
focusedChild: <Component: roInvalid>
id:
}
BrightScript Debugger> ? o.count()
4
BrightScript Debugger> ? o.doesExist("id")
true
BrightScript Debugger> ? getInterface(o, "ifAssociativeArray")
<Interface: ifAssociativeArray>