20 Commits

Author SHA1 Message Date
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
blagoev
4751aca0dc Fix event_loop_dispatcher 2017-05-17 16:06:21 +03: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
Kristian Dupont
bd8a27b963 Improve error message for typeerrors (#785)
* Add a test

* Catch TypeErrorException

* Make exception asserts check error type

* Remove commented-out testcase and check for error type

* Test for Error, not TypeError
2017-01-10 13:41:56 +01:00
Mark Rowe
d8e13bc7bb Switch to using object store's master branch (#748)
* Switch to using object store's master branch.

* Switch to caching Realm instances per JavaScript execution context.
2016-12-28 17:28:44 +01:00
Ari Lazier
e4d4cbbdf3 proper fix/hack removal, partially working sync for rn 2016-11-11 17:53:58 -08:00
Ari Lazier
85c655a91c fix for constructor destruction after timeout 2016-11-09 17:46:26 -08:00
Ari Lazier
9d0df0de3d Sync and fine grained notifications 2016-10-04 15:07:14 -07:00
Scott Kyle
651449108e Improve usage of js::PropertyAttributes 2016-05-09 16:08:04 -07:00
Scott Kyle
32a8a2ed72 Make migration tests work in Chrome debug mode
All realm operations for the RPC are now done in their own thread so it can be allowed to block on waiting for callback results. The recursive and multi-threaded nature of this makes it pretty tricky, but it works!
2016-04-29 13:55:49 -07:00
Ari Lazier
fea0b69865 add support for non-memmber functions 2016-04-27 08:30:59 -07:00
Ari Lazier
3509caedd5 bugfix for empty results, fix for realm.isValid 2016-04-19 17:29:34 -07:00
Scott Kyle
a0424c6600 Fix some styling of exception handling in JS wrappers 2016-04-18 15:11:36 -07:00
Scott Kyle
1ca5a43982 Revert TValue to ValueType, etc. 2016-04-18 12:18:13 -07:00
Scott Kyle
133289ad85 All tests now pass on Node 2016-04-15 16:06:44 -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
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