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 222
-
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 246
-
position : integer
-
Current cursor position as established by
first
andnext
.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 207
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 item
any The element to add to this list.
- Source:
- src/utils/ArraySet.js line 37
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
key
property is present it must be a function. The function is invoked using the item as the context.Parameters:
Name Type Argument Description key
string 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 151
-
exists(item)
-
Checks for the item within this list.
Parameters:
Name Type Description item
any The element to get the list index for.
- Source:
- src/utils/ArraySet.js line 91
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 property
string The property to check against the value.
value
any The value to check if the property strictly equals.
- Source:
- src/utils/ArraySet.js line 67
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 item
any The element to get the list index for.
- Source:
- src/utils/ArraySet.js line 55
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 item
any The item to be removed from the list.
- Source:
- src/utils/ArraySet.js line 113
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 destroy
boolean <optional>
false Call
destroy
on each member as it's removed from this set.- Source:
- src/utils/ArraySet.js line 176
-
reset()
-
Removes all the items.
- Source:
- src/utils/ArraySet.js line 103
-
setAll(key, value)
-
Sets the property
key
to the given value on all members of this list.Parameters:
Name Type Description key
any The property of the item to set.
value
any The value to set the property to.
- Source:
- src/utils/ArraySet.js line 131