Rather than using Object.preventExtensions to throw exceptions when setting any out-of-bounds index, we must instead compromise by only throwing for the common cases, which are -1 and list.length. Having Object.keys() support is essential for List to work with React Native ListViewDataSource.
Resolves#80
* sk-react-framework: (27 commits)
Change RealmReact to be a dynamic framework
finish Array to List rename
RJSArray -> RJSList
move property getters to object store code
move List class to its own file
ObjectArray -> List
Add Notification constructor and destructor
Small improvement to notifications test
RJSException no longer requires JS strings
Protect realm and callback from GC in addNotification
Add comments
pr fixes
minimal tests for migrations
Check for NaN inside RJSValidatedValueToNumber
allow running all tests at the same path by invalidating all cached realm paths between test runs
Native methods should convert to numbers/bools
Out of bounds getters for Results return undefined
Out of bounds list item getters return undefined
Consolidate code that verifies array index bounds
Add list item setters in JS
...
Turns out this API can return NaN without an exception. Also added tests to make sure these conversions either work or throw exceptions in the appropriate places.