34 Commits

Author SHA1 Message Date
astigsen
db4e184524 Added method to find index of object in collections (#1094)
* Added method to find index of object in collections

* rework as the indexOf method
2017-06-26 13:43:49 +02:00
Mark Rowe
30e58022cf Include property names in type error exceptions thrown by Realm.create (#1069)
* Add and adopt `Value::is_binary` / `Value::to_binary` / `Value::from_binary`.

These methods allow conversions between `BinaryData` and the equivalent
JavaScript types without using `NativeAccessor`. Instead,
`NativeAccessor` now itself delegates to these methods.

* Have `NativeAccessor::value_for_property` and `RealmObjectClass::set_property`
verify that values are valid for the property in question.

If not, we throw an exception that includes the name and type of the
property in question.

`NativeAccessor` is changed to always hold a reference to a `Realm` and
an `ObjectSchema` in order to make this validation possible.

* Fix the Windows build.

* Remove an unused, incorrect forward declaration of a template class
  named `Realm` that caused ambiguity with object store's `Realm` class.
* Disambiguate between `realm::js::PropertyType` and
  `realm::PropertyType`.

* Update CHANGELOG.md
2017-06-20 14:40:01 +02:00
Yavor Georgiev
acd962d602 Make sure all callbacks enqueue on the Node.js event loop (#1079)
Fixes #1077
2017-06-19 13:19:43 +02:00
Thomas Goyne
08052e12f6 Update to work with new API for arrays of primitives 2017-05-17 11:02:45 -07:00
Yavor Georgiev
db8ebd9333 Node.js Win32 support (#864)
* Remove the windows install check

* Node.js Win32 support

* Bring back the `REALM_HAVE_CONFIG` definition

* Download core for Windows when building

* Implement cross-platform node platform.cpp with libuv

* wip

* Make jasmine run quicker

https://github.com/jasmine/jasmine/issues/1204

* Wait for worker process to close in AsyncTests

* Cross-platform paths in tests

* Normalize path separator for forward slash on Windows

* MSVC exception voodoo

* cross-platform uv_cwd

* fix linux build

* make the prepublish script cross-platform

* Disable encryption tests on windows

* ignore vendor/realm-node

* jenkinsfile work

* Only run the prepublish script for publish and pack

* Jenkinsfile work

* Include gyp files in package

* rewrite default_realm_file_directory()

* fix React Native Android build

* delete all realm artifacts in remove_realm_files_from_directory

* bring back build environment variables

* node-pre-gyp windows

* Update CHANGELOG.md
2017-03-07 23:24:30 +01:00
Yavor Georgiev
7c1dab7079 Propagate token refresh errors to the session error handler (#843)
* Get a session’s error handler

* Change the signature of all methods to add the callee

* Deserialize rpc callbacks

* Expose the session error handle on its config property

* When a token refresh error occurs and there is a session error handler

propagate the error to the handler
2017-02-07 11:01:26 +01:00
Ari Lazier
b2077910a4 fix for handle scope warning 2016-11-11 11:41:27 -08:00
Ari Lazier
9d0df0de3d Sync and fine grained notifications 2016-10-04 15:07:14 -07:00
Thomas Goyne
a4c8d745cf Use List::snapshot() 2016-07-18 14:42:10 -07:00
Thomas Goyne
b59af706ea Update binding code for API changes 2016-07-18 14:15:25 -07:00
Mark Rowe
344fc42d4e Avoid copying Object unnecessarily. 2016-05-31 15:54:43 -07:00
Mark Rowe
efdf0e01a9 Avoid copying List unnecessarily. 2016-05-31 15:27:48 -07:00
Ari Lazier
fd25afe214 add isValid methods to results and list 2016-05-16 16:01:14 -07:00
Ari Lazier
6af98acd11 combine other classes 2016-05-16 15:43:46 -07:00
Ari Lazier
e76cb3b905 combine class definitions and implementations for list and results 2016-05-16 15:43:46 -07:00
Scott Kyle
8ff23b5411 Fix build issues on Android
GCC was more strict with how we handled some types.
2016-04-18 18:30:55 -07:00
Scott Kyle
1ca5a43982 Revert TValue to ValueType, etc. 2016-04-18 12:18:13 -07:00
Scott Kyle
d57483c675 Rename js_object.hpp -> js_realm_object.hpp 2016-04-18 01:14:48 -07:00
Scott Kyle
10f08747e7 Rename remained camelCase to snake_case
And fix some minor build warnings along the way.
2016-04-18 01:01:04 -07:00
Scott Kyle
7c97a1752e Remove need for BaseClassDefinition 2016-04-16 16:46:16 -07:00
Ari Lazier
bd4088ce91 key templates off explicitly defined classes rather than the internal type 2016-04-15 13:47:01 -07:00
Ari Lazier
e8ca5ff92e ObjectClass -> ClassDefinition 2016-04-15 10:50:15 -07:00
Ari Lazier
c817ac7eac create -> create_instance 2016-04-14 11:19:01 -07:00
Ari Lazier
0b2a75bdc3 use different naming convention for extracted template types 2016-04-14 10:54:43 -07:00
Scott Kyle
c0c65ad620 Make all JSC tests pass again 2016-04-13 03:21:18 -07:00
Scott Kyle
05c432deb1 WIP Node support
The JS engine details are mostly abstracted away. This breaks JSC support until the rest of the pieces are in place. The Node version builds and runs, but crashes when creating a Realm object.
2016-04-12 11:53:30 -07:00
Ari Lazier
29213f1d87 wrap list properties 2016-03-30 14:18:44 -07:00
Ari Lazier
0282e98232 move exception handling to method wrapper 2016-03-30 11:55:13 -07:00
Ari Lazier
e7d954a727 wrap all types in a single type and use static class methods 2016-03-29 14:12:27 -07:00
Ari Lazier
b4990fbbff convert more of Realm 2016-03-29 13:36:01 -07:00
Ari Lazier
9626842f8e start refactoring realm 2016-03-28 13:21:36 -07:00
Karson Miller
5e9333b699 no message 2016-02-18 15:30:44 -08:00
Ari Lazier
fb1d6b6a93 more import fixes 2016-01-05 11:04:06 -08:00
Ari Lazier
5f584f747f use underscore rather than dash 2015-11-30 11:23:29 -08:00