list
The "list" module provides base building blocks for composing lists.
API Reference
Classes
Iterable
Base trait that can be used to compose traits with non-standard enumeration behaviors.
This trait is supposed to be used as part of a composition, since it only
provides custom enumeration behavior to a composed object.
It defines one required _keyValueMap property, that is used as a hash of
"key-values" to iterate on during enumeration.
Constructors
Iterable()
Constructs an Iterable object.
Properties
_keyValueMap : Object
Hash map of key-values to iterate over. Required property: that is, the property must be supplied by objects that compose this trait. Note: That this property can be a getter if you need dynamic behavior.
List
An ordered collection (also known as a sequence) disallowing duplicate
elements. List is composed out of Iterable, therefore it provides custom
enumeration behavior that is similar to array (enumerates only on the
elements of the list).
List is a base trait and is meant to be part of a
composition, since all of its API is private except for the length property.
Examples:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | varMyList = List.compose({  add: functionadd(item1, item2, /*item3...*/) {    Array.slice(arguments).forEach(this._add.bind(this));  },  remove: functionremove(item1, item2, /*item3...*/) {    Array.slice(arguments).forEach(this._remove.bind(this));  }});MyList('foo', 'bar', 'baz').length == 3;        // truenewMyList('new', 'keyword').length == 2;       // trueMyList.apply(null, [1, 2, 3]).length == 3;      // truelet list = MyList();list.length == 0;                               // truelist.add(1, 2, 3) == 3;                         // true | 
Constructors
List(element1, element2, ...)
Constructor can takes any number of elements and creates an instance of
List populated with the specified elements.
Methods
_has(element)
Returns true if this list contains the specified element.
_add(element)
Appends the specified element to the end of this list, if it doesn't
contain it.
Ignores the call if element is already contained.
_remove(element)
Removes specified element from this list, if it contains it.
Ignores the call if element is not contained.
_clear()
Removes all of the elements from this list.
Properties
length : Number
Number of elements in this list.
