# Module: montage/core/range-controller

### Classes

RangeController

### Members

#### (inner, constant) EMPTY_ARRAY :Array

##### Type:

- Array

Source:
  - core/range-controller.js, line 33

### Methods

#### (inner) swap(start, howMany, itemsToAdd)

A custom version of swap to ensure that changes obey the RangeController invariants: - if rC.allowsMultipleSelection is false, only allow one item in set. - if rC.avoidsEmtySelection is true, require at least one item in set. - only add items that are present in rC.content - enforce uniqueness of items according to the contentEquals of the content

##### Parameters:

Name | Type | Description
--- | --- | ---
`start` | number |
`howMany` | number |
`itemsToAdd` | Object |

Source:
  - core/range-controller.js, line 99