Commit graph

274 commits

Author SHA1 Message Date
theduke
e37b7cc77d Fix repository links in iron/rocket Cargo.toml 2017-12-03 13:12:45 +01:00
theduke
b6d9c337d0 Fix appveyor badge in README 2017-12-03 13:12:41 +01:00
theduke
e4cf21086c (ci) Stop using cargo-make on appveyor.
Neccessary due to failing builds...
2017-12-03 11:24:24 +01:00
Sagie Gur-Ari
9e424a8630 v09 build fix for windows (#115)
Fix cargo make makefiles for only running the juniper_rocket build on nightly.
2017-12-03 10:31:56 +01:00
theduke
00e80bbe88 (tests) Only build juniper_rocket on nightly 2017-12-03 00:40:49 +01:00
theduke
4d6a99fe4e Fix up Cargo.toml files and documentation. 2017-12-02 18:33:20 +01:00
theduke
b89712a887 Add juniper_rocket back to main repo
This is done for a lower maintainance burden and combined testing.
2017-12-02 15:59:23 +01:00
theduke
bec5295827 Move juniper_iron crate back into the main repo.
This is done for a lower maintainance burden and combined testing.
2017-12-02 15:56:52 +01:00
theduke
bdb1dd34af (ci) Make appveyor and travis run the same test command 2017-12-02 15:54:39 +01:00
theduke
0024e67dae Move enum introspection tests to executor_tests 2017-12-02 15:46:11 +01:00
theduke
0e3c9940c6 Exchange graphql_input_object! macro to custom derive
* Refactor all internal use to derive
* Remove macro
* Move tests to executor_tests
2017-12-02 15:43:41 +01:00
theduke
643875838d (codegen) improve derive for InputObject
* Implement hack to allow usage in juniper crate
* implement (default) attribute for Default::default()
* Improve tests
2017-12-02 15:43:41 +01:00
theduke
45859bf405 (ci) Only test latest 3 rust versions on travis 2017-12-02 15:43:41 +01:00
theduke
6ff3f1fba4 (codegen) Improve enum field name generation
Introduce a to_upper_snake_case() helper to properly convert enum names
to GraphQL compatible names.

Previously, "SomeEnum" would be converted to "SOMEENUM" and not
"SOME_ENUM".
2017-12-02 15:43:41 +01:00
theduke
f858f416b8 Remove graphql_enum! macro in favor of custom derive
* Extend derive for enums to allow deriving inside the juniper crate
  itself. Note: this is a rather ugly hack right now, FIXME is in the
  code
* Remove the graphql_enum! macro and replace all internal use with
  derive
* Refactor introspection tests to use derive
2017-12-02 15:43:22 +01:00
theduke
b1a62d68e9 (tests) Fix derive_enum test to actually test custom names 2017-12-02 05:00:20 +01:00
theduke
709231dc46 Make juniper_codegen dependency non-optional. 2017-12-02 03:55:14 +01:00
theduke
40d8f905e9 Move executor.rs in subfolder
Preparation for splitting up executor.rs
2017-12-02 03:51:28 +01:00
theduke
f3626c57c6 Move to_camel_case helper to util module. 2017-12-02 03:36:07 +01:00
theduke
a7b6056b37 (test) Add a nested object test for derive(GraphQLObject) 2017-12-02 03:12:47 +01:00
theduke
7b066ef1f9 (docs) Add short crate docs to codegen. 2017-12-02 02:35:08 +01:00
theduke
3750349e71 Bump version to 0.9.0 2017-12-02 02:31:56 +01:00
theduke
141292ad91 Export codegen from main juniper crate
Use a trick for re-exporting proc-macros to supply juniper_derive as a
dependency of juniper.

Users will now just have to depend on juniper directly.
2017-12-02 02:27:41 +01:00
Magnus Hallin
c4ded5781d Fix bug where non-null lists could contain null if errors were returned 2017-11-20 08:53:51 +01:00
Magnus Hallin
23105259de Add another test for null handling in lists 2017-11-20 08:53:32 +01:00
Magnus Hallin
d0e9202f41 Add tracking of the current type being resolved in the Executor
This is not 100% accurate - it will be set to the literal type of what
a field returns, so it might be wrapped in non-null/list when it
technically shouldn't.

For this use-case it's fine, but if we want to (officially) add it to
the public API surface, we should probably make it accurate.
2017-11-20 08:53:13 +01:00
Jacob Haslehurst
8cf2707faa add failing test for list of non-null items for issue #84 2017-11-20 11:44:11 +11:00
Magnus Hallin
bee88d4265 Add more supported Rust versions 2017-11-18 18:47:02 +01:00
Magnus Hallin
dca88b0fa4 Don't use global variable in test 2017-11-18 18:33:57 +01:00
Magnus Hallin
7b695c406c Propagate errors to closest nullable parent field
This also fixes a bug where context switching on optional values did
not properly work.
2017-11-18 18:19:11 +01:00
Sagie Gur-Ari
3c27b219bd Generate coverage report in travis build and upload to codecov (#110)
* upload codecov coverage report in travis build
* add coverage badge to readme
2017-11-18 14:02:49 +01:00
Cameron Eldridge
625bac1b62 Add support for Z time zone and fractional seconds in date formats (#97)
* Add support for Z time zone and fractional seconds in date formats and reduce repitition in tests
2017-11-01 16:59:06 +01:00
thomas-jeepe
6d345b6b98 Serialize on GraphQLRequest
What the title says
2017-10-30 16:24:47 +01:00
thomas-jeepe
76a1a042aa Derive Clone for GraphQLRequest
This is just a useful thing for me because I need to clone the http request.

This shouldn't really influence anything else, every field already implements `Clone`
2017-10-29 09:12:56 +01:00
Jacob Haslehurst
62d5e28a97 Give DateTime scalars valid names to pass validation 2017-10-20 18:57:48 +02:00
Jane Keibler
39623fe3ec Fixed broken links in README
Updated links to the examples and test schema to reference the new
repository structure.
2017-10-20 18:37:24 +02:00
Jane Keibler
650561f885 Removing configuration that rust nightly
The feature function causes the following error:
error[E0554]: #![feature] may not be used on the stable release channel
2017-10-20 18:35:42 +02:00
Jane Keibler
1acf2067d3 Stabilized juniper_tests by using to FnvHashMap
Registry uses fnv::FnvHashMap instead of the std lib HashMap. This
commit updates the tests to match.
2017-10-20 18:35:42 +02:00
Magnus Hallin
88f0fdce6f Merge pull request #93 from srijs/perf/schema-fnv-hash-map
perf(schema): use FnvHashMap for type and directive names
2017-10-08 09:54:22 +02:00
Sam Rijs
74c5f562e3 Merge branch 'master' into perf/schema-fnv-hash-map 2017-10-02 19:43:49 +11:00
Sam Rijs
bcb594edc1 perf(schema): use FnvHashMap for type and directive names 2017-10-02 19:07:09 +11:00
Christian Legnitto
2a2534525d chrono feature: Implement GraphQLType for chrono types
Fixes https://github.com/graphql-rust/juniper/issues/87
2017-09-30 08:21:42 +02:00
theduke
0f9276b5f1 Readme: reduce logo size 2017-09-23 19:20:54 +02:00
theduke
2e72eee753 README: remove heading + logo alt tag 2017-09-23 19:15:21 +02:00
theduke
ed95719539 Logo: move to /assets and add to readme. 2017-09-23 19:13:13 +02:00
Sam Rijs
d849e98434 Add logo 2017-09-23 15:02:33 +02:00
theduke
f9d6f2c83f Revert "(juniper) Clean up uuid and url features."
This reverts commit dcdc03a9b9.
2017-09-12 11:01:56 +02:00
theduke
dcdc03a9b9 (juniper) Clean up uuid and url features.
* Do not enable uuid/url feature by default
* CI: customize juniper Makefile to test with all features
2017-09-11 23:26:32 +02:00
Christian Legnitto
c1cb120176 url feature: Implement url::Url as a scalar type 2017-09-11 16:10:54 +02:00
rushmorem
f7625056ac Expose executor.location(), rename executor.push_error() to
`executor.push_error_at()` and add a new `executor.push_error()`
2017-09-02 13:35:57 +02:00