Commit graph

563 commits

Author SHA1 Message Date
Atul Bhosale
ea3c425f04 Replace try! with ? 2018-05-03 07:27:15 +02:00
Christian Legnitto
218654ee97 Switch to indexmap 1.0
`ordermap` changed names to `indexmap` and released a stable 1.0.
2018-04-22 07:49:05 +02:00
Georg Semmler
2ea7d9b46e Allow graphiql to pass credentials to the server (#162) 2018-03-29 05:02:46 +02:00
Sebastian Porto
841fd7e26d Change serialization of Chronos NaiveDate (#151)
Fix chrono DateTime support

The DateTime support was improperly implemented with time (hour + minute support), which is fixed by this commit.

Documentation and tests have also been updated.

Only author: @sporto
2018-03-21 17:52:22 +01:00
Carlos Diaz-Padron
63d8a3d1a0 Handle list merging 2018-03-05 12:02:22 +01:00
Carlos Diaz-Padron
509a6f12b9 Fix merging parallel inline fragments 2018-03-05 12:02:22 +01:00
Christian Legnitto
0cc11a0dbe Make tests compile on latest nightly
Without this change tests were failing to compile:

```
---- src/value.rs - graphql_value (line 196) stdout ----
    error[E0468]: an `extern crate` loading macros must be at the crate root
 --> src/value.rs:197:14
  |
3 | #[macro_use] extern crate juniper;
  |              ^^^^^^^^^^^^^^^^^^^^^

thread 'rustc' panicked at 'couldn't compile the test', librustdoc/test.rs:295:13
note: Run with `RUST_BACKTRACE=1` for a backtrace.
```

I also confirmed that `main` does not show up in the docs with
this change.
2018-02-21 09:40:42 +01:00
Ivan Dubrov
bfe2ef511a Provide type info to the concrete_type_name 2018-01-20 10:53:18 +01:00
Christoph Herzog
d00e74bb4e Format entire codebase with rustfmt 2018-01-13 12:25:55 +01:00
Christoph Herzog
406bdaa55c Update embedded graphiql + move graphiql to http module
* Update graphiql to 0.11 and react to v16.
* Move graphiql to be a submodule of http
2018-01-13 11:44:36 +01:00
Christoph Herzog
40c946c81c 0.9.2 release
* Changelogs
* Update versions and dependency versions
2018-01-13 10:34:30 +01:00
Christian Legnitto
9362d6954c url_decode parameters in Rocket integration
Also as part of this change I fixed and enabled
the http integration tests for Rocket.

Fixes https://github.com/graphql-rust/juniper/issues/116.
2018-01-13 08:50:13 +00:00
Josh Marlow
b1543f480a Fixed case where .unwrap was being called instead of the Option just being propagated up the call chain 2018-01-13 08:20:51 +00:00
Christian Legnitto
d34b6a85ad Fix some warnings 2018-01-13 07:48:39 +00:00
Christian Legnitto
203af1ce98 Support __typename for unions
See http://graphql.org/learn/queries/#meta-fields.

Fixes https://github.com/graphql-rust/juniper/issues/112.
2017-12-06 11:26:31 +01:00
theduke
ca9d5c1c1a Bump to 0.9.1 and fix up Cargo.toml files 2017-12-03 18:48:38 +01:00
theduke
0f916f4aa6 Remove ResultExt and jtry! macro 2017-12-03 18:33:35 +01:00
theduke
eb70d29e04 Fix readme link in juniper crate 2017-12-03 17:17:41 +01:00
theduke
ed58f2671b Final readme and cargo.toml fixups 2017-12-03 15:14:23 +01:00
theduke
4d6a99fe4e Fix up Cargo.toml files and documentation. 2017-12-02 18:33:20 +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
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
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
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
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
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
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
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
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
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
Sam Rijs
a0f2c3bbdd Implement support for dynamic schemas 2017-08-07 22:15:09 +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
619a2e57f9 Extraction of iron and rocket features into separate crates.
* 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
2017-08-06 17:42:31 +02:00
Stanko Krtalić
82ecd92090 Fix Rocket integration
Rocket's traits have changed in version 0.3.0, this commit adjusts
the existing implementation to be compatible with the latest
version of the traits.
2017-08-06 13:41:55 +02:00
theduke
c008658052 Moving examples to juniper crate (for now) 2017-07-12 21:51:24 +02:00
theduke
4ab2f20b8f Restructure repository to Cargo workspace.
This makes it possible to:
* extract parser to own crate
* add juniper_codegen crate for custom derive stuff
* add integration tests
2017-07-12 21:51:24 +02:00