new ArraySet( [list])
ArraySet is a Set data structure (items must be unique within the set) that also maintains order. This allows specific items to be easily added or removed from the Set.
Item equality (and uniqueness) is determined by the behavior of Array.indexOf.
This used primarily by the Input subsystem.
Parameters:
| Name | Type | Argument | Default | Description |
|---|---|---|---|---|
list |
Array.<any> |
<optional> |
(new array) | The backing array: if specified the items in the list must be unique, per |
- Source:
- src/utils/ArraySet.js line 19
Members
-
first : any
-
Returns the first item and resets the cursor to the start.
Type:
- any
- Source:
- src/utils/ArraySet.js line 231
-
list : Array.<any>
-
The backing array.
Type:
- Array.<any>
- Source:
- src/utils/ArraySet.js line 32
-
next : any
-
Returns the the next item (based on the cursor) and advances the cursor.
Type:
- any
- Source:
- src/utils/ArraySet.js line 256
-
position : integer
-
Current cursor position as established by
firstandnext.Type:
- integer
- Source:
- src/utils/ArraySet.js line 26
-
total : integer
-
Number of items in the ArraySet. Same as
list.length.Type:
- integer
- Source:
- src/utils/ArraySet.js line 217
Methods
-
add(item)
-
Adds a new element to the end of the list. If the item already exists in the list it is not moved.
Parameters:
Name Type Description itemany The element to add to this list.
- Source:
- src/utils/ArraySet.js line 38
Returns:
The item that was added.
- Type
- any
-
callAll(key, parameter)
-
Calls a function on all members of this list, using the member as the context for the callback.
If the
keyproperty is present it must be a function. The function is invoked using the item as the context.Parameters:
Name Type Argument Description keystring The name of the property with the function to call.
parameter* <repeatable>
Additional parameters that will be passed to the callback.
- Source:
- src/utils/ArraySet.js line 159
-
exists(item)
-
Checks for the item within this list.
Parameters:
Name Type Description itemany The element to get the list index for.
- Source:
- src/utils/ArraySet.js line 95
Returns:
True if the item is found in the list, otherwise false.
- Type
- boolean
-
getByKey(property, value)
-
Gets an item from the set based on the property strictly equaling the value given. Returns null if not found.
Parameters:
Name Type Description propertystring The property to check against the value.
valueany The value to check if the property strictly equals.
- Source:
- src/utils/ArraySet.js line 70
Returns:
The item that was found, or null if nothing matched.
- Type
- any
-
getIndex(item)
-
Gets the index of the item in the list, or -1 if it isn't in the list.
Parameters:
Name Type Description itemany The element to get the list index for.
- Source:
- src/utils/ArraySet.js line 57
Returns:
The index of the item or -1 if not found.
- Type
- integer
-
remove(item)
-
Removes the given element from this list if it exists.
Parameters:
Name Type Description itemany The item to be removed from the list.
- Source:
- src/utils/ArraySet.js line 119
Returns:
item - The item that was removed.
- Type
- any
-
removeAll( [destroy])
-
Removes every member from this ArraySet and optionally destroys it.
Parameters:
Name Type Argument Default Description destroyboolean <optional>
false Call
destroyon each member as it's removed from this set.- Source:
- src/utils/ArraySet.js line 185
-
reset()
-
Removes all the items.
- Source:
- src/utils/ArraySet.js line 108
-
setAll(key, value)
-
Sets the property
keyto the given value on all members of this list.Parameters:
Name Type Description keyany The property of the item to set.
valueany The value to set the property to.
- Source:
- src/utils/ArraySet.js line 138