Commit graph

599 commits

Author SHA1 Message Date
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
Magnus Hallin
b3ea59cd3b Merge pull request #80 from graphql-rust/field-error-refactor
Field error refactor
2017-09-02 10:44:50 +02:00
Christian Legnitto
5d43532d73 Preserve the order of requested fields
Fixes https://github.com/graphql-rust/juniper/issues/82
2017-09-02 10:40:04 +02:00
theduke
0372de84d5 Rename ToInputValue::to to to_input_value() 2017-08-29 05:34:35 +02:00
theduke
164aa29fdc Rename FromInputValue::from() to from_input_value() 2017-08-29 05:34:35 +02:00
theduke
0915c05c6c uuid feature: Implement uuid::Uuid as a scalar type
Fixes #86
2017-08-28 18:58:00 +02:00
theduke
d7c84b16e9 Update readme: use git dependency 2017-08-28 08:39:39 +02:00
theduke
97adcdde73 Update readme: use git dependency in example
This causes confusion currently.

See https://github.com/graphql-rust/juniper_iron/issues/2
2017-08-28 08:02:56 +02:00
Magnus Hallin
6d02928fdb Merge pull request #78 from srijs/fix/reject-invalid-names
Reject types with invalid names
2017-08-15 09:49:12 +02:00
Rushmore Mushambi
aa2ff97046 Point to the correct juniper_rocket repository 2017-08-10 17:37:20 +02:00
Magnus Hallin
6710d780cf Update FieldError documentation with new value literal macro 2017-08-08 22:44:20 +02:00
Magnus Hallin
a97ac59135 Add value literal macro 2017-08-08 22:27:45 +02:00
Magnus Hallin
0c3c219364 Refiy FieldError as a real datatype, add a structured data field 2017-08-08 21:26:51 +02:00
Sam Rijs
d1d5829b44 Reject types with invalid names
Fixes #72
2017-08-08 21:17:21 +10:00
theduke
e740646b8c Appveyor: Start using cargo-make.
Fixes #74
2017-08-07 22:28:37 +02:00
Sam Rijs
a0f2c3bbdd Implement support for dynamic schemas 2017-08-07 22:15:09 +02:00
theduke
4124ca316c Fix Appveyor badge in README 2017-08-07 22:12:11 +02:00
theduke
a826b22ffb Update Readme and Cargo files for new repo url 2017-08-07 08:20:05 +02:00
theduke
2ca9baa441 Extracted iron/rocket crates and updated README.
Those now live in separate repos.
2017-08-07 08:20:05 +02:00
theduke
0c7e39f14e Rust fmt the whole codebase 2017-08-06 21:15:08 +02:00
theduke
81ce7780fa Codegen: implement description for custom derives + improve tests
Description attribute was available, but not actually used for derive
Object, InputObject and enum and the fields on input object.

Description is now properly set in each of those cases.

Also, tests for all three derives now properly verify the meta
information (name and description) for the derived GraphQLType.
2017-08-06 19:30:26 +02:00
theduke
6c45fba9bd Fix some warnings in codegen + tests. 2017-08-06 19:30:26 +02:00
theduke
6c7dc0493d Rename custom derive modules for consistency.
codegen/enums -> codegen/derive_enum
codegen/input_objects -> codegen/derive_input_object
tests/enums -> tests/derive_enum
tests/input_objects -> tests/derive_input_object
2017-08-06 19:30:26 +02:00
theduke
e835a5e019 Codegen: Add custom derive for GraphQLObject
This adds a simple derive for objects that implements GraphQLType for
structs which do not require any manual resolvers.

This could be extended in the future to provide a custom resolver
function via an attribute.

Also adds an integration test.
2017-08-06 19:30:26 +02:00
theduke
27048ae7cd Merge pull request #73 from theduke/extract-iron
Extract Iron + Rocket

* Added juniper_iron crate
* Fixed up juniper_rocket crate
* Updated juniper/Cargo.toml
* Updated docs (readme, module docs)
* Export http integrator tests with export-test-schema feature
* Update CI tests (Use cargo-make )
* Format parts of the code base
* Update rocket to 0.3
2017-08-06 19:27:05 +02:00
theduke
b5d10f7722 Appveyor: only run rocket tests on nightly + msvc
Rocket is only supported on nightly, and rocket depends on Ring, which
does not support the gcc toolchain on Windows.
2017-08-06 19:16:21 +02:00