The State class maintains state for a collection of named items, with a varying number of properties defined.
It avoids the need to create a separate class for the item, and separate instances of these classes for each item, by storing the state in a 2 level hash table, improving performance when the number of items is likely to be large.
Adds a property to an item.
Adds multiple properties to an item.
For a given item, returns the value of the property requested, or undefined if not found.
The value of the supplied property.
For the given item, returns an object with all of the item's property/value pairs. By default the object returned is a shallow copy of the stored data, but passing in true as the second parameter will return a reference to the stored data.
An object with property/value pairs for the item.
Removes a property from an item.
Hash of attributes