Commit graph

1082 commits

Author SHA1 Message Date
Magnus Hallin
20df66f8f0 Add fields to improve tooling compatibility
This adds some non-standard/deprecated fields to better work with
tools such as GraphiQL or GraphQLViz.
2017-02-27 21:15:13 +01:00
Magnus Hallin
eca20cd8ca Prepare for 0.7.0 release 2017-02-26 12:58:52 +01:00
Magnus Hallin
b7a2f577ef Add more default value documentation 2017-02-26 12:56:07 +01:00
Magnus Hallin
47ce85bd72 Use 1D variable to not depend on HashMap order in tests 2017-02-26 11:59:30 +01:00
Magnus Hallin
ba2ef34387 Add tests for complex default arguments 2017-02-26 11:42:58 +01:00
Magnus Hallin
d66bac39da Implement ToInputValue when creating input objects 2017-02-26 11:41:47 +01:00
Magnus Hallin
f7e0ffa1a7 Merge pull request #34 from Mrmaxmeier/fix-clippy-warnings
Fix a bunch of clippy warnings
2017-02-26 10:14:56 +01:00
Magnus Hallin
3035eb84cf Merge pull request #30 from zaeleus/iron-0.5
Update to iron 0.5
2017-02-26 09:21:36 +01:00
Magnus Hallin
2f70d8f311 Drop support for Rust 1.12 2017-02-26 09:15:25 +01:00
Mrmaxmeier
5d7634c975 Fix a bunch of clippy warnings 2017-02-25 14:49:46 +01:00
Magnus Hallin
0a3bbf8f21 Fix bug in input object macro 2017-02-19 12:58:12 +01:00
Magnus Hallin
9d520d77f9 Prepare for 0.6.3 release 2017-02-19 12:53:00 +01:00
Magnus Hallin
2f79f33a82 Document input object default values 2017-02-19 12:51:12 +01:00
Magnus Hallin
0b07dbe99a Add support for default values in input objects 2017-02-19 12:08:52 +01:00
Magnus Hallin
e0c6b03171 Add more input value null value tests
These correspond to the table in "3.1.6 Input Objects" in the GraphQL
specification.
2017-02-19 10:29:37 +01:00
Michael Macias
b2e75bf4f6 Update to iron 0.5
* `Url::into_generic_url` was deprecated in 0.4.1. The `Into` trait is
    used instead.
  * iron/logger removed support for ANSI terminal colors in 0.2.0, which
    makes logging work in the Command Prompt on Windows.

Fixes #21
2017-02-16 02:08:26 -06:00
Magnus Hallin
708b99be62 Add PR links to changelog 2017-02-05 13:57:17 +01:00
Magnus Hallin
987aa40da1 Prepare for 0.6.2 release 2017-02-04 16:55:58 +01:00
Magnus Hallin
40cc76d2b9 Merge pull request #26 from zaeleus/explicit-null
Accept explicit null input values in queries
2017-02-04 13:25:15 +01:00
Magnus Hallin
1aedc69d59 Remove some older Rusts from CI
Some dependencies don't build on 1.11 and 1.10, so we'll have to scrap
them unfortunately.
2017-02-04 11:57:33 +01:00
Magnus Hallin
90054cf9d1 (Maybe) fix macro compatibility for older Rusts 2017-02-04 11:52:27 +01:00
Magnus Hallin
3d8f88f59e Fix 1.12.1 compatibility 2017-02-04 11:37:01 +01:00
Magnus Hallin
3fe3c76106 Add package to web programming category 2017-02-04 11:36:39 +01:00
Magnus Hallin
351815357e Run CI against the six latest Rust releases 2017-02-04 11:16:05 +01:00
Magnus Hallin
c5a1f975ed Allow strings to be parsed into enums in variables
Fixes #17.
2017-02-04 11:08:00 +01:00
Magnus Hallin
d8b07e8c68 Implement __typename for GraphQL objects
Fixes #22.
2017-02-04 10:45:25 +01:00
Magnus Hallin
d87c6e4fa4 Don't attach Iron logger middleware on Windows
Fixes #15.
2017-02-04 10:30:46 +01:00
Magnus Hallin
c1d8e6c19b Remove some unused imports 2017-02-04 10:29:53 +01:00
Magnus Hallin
c51930aae5 Merge pull request #25 from zaeleus/serde-0.9
Update to serde 0.9
2017-02-04 10:16:26 +01:00
Magnus Hallin
555962c915 Merge pull request #20 from zaeleus/warnings
Fix compiler warnings when testing
2017-02-04 10:16:06 +01:00
Magnus Hallin
7b6bf74dac Merge pull request #19 from zaeleus/id
Implement traits for ID to make it usable outside its module
2017-02-04 10:15:31 +01:00
Michael Macias
98b662c88e Accept explicit null input values in queries
Explicit `null` values are valid for nullable input values. See
<https://facebook.github.io/graphql/#sec-Types.Non-Null>.

Fixes #23
2017-01-27 01:45:29 -06:00
Michael Macias
a834115d87 Update to serde 0.9
serde 0.9.0 introduces breaking changes. See the release notes for more
details: <https://github.com/serde-rs/serde/releases/tag/v0.9.0>.
2017-01-26 17:25:17 -06:00
Michael Macias
b61281b63a Implement traits for ID to make it usable outside its module
ID is a named tuple with a private String field. This prevents any
creation of an ID outside its own module. Traits, such as conversion and
dereference, are added to make ID usable without exposing its inner
field.
2017-01-20 03:29:37 -06:00
Michael Macias
c7adbaede7 Fix compiler warnings when testing 2017-01-20 03:29:26 -06:00
Magnus Hallin
907d78d41b Merge pull request #14 from zaeleus/variables-type-alias
Add type alias for query variables
2017-01-19 09:28:52 -08:00
Michael Macias
e3500dff50 Add type alias for query variables 2017-01-15 13:37:30 -06:00
Magnus Hallin
80a2aceb85 Merge pull request #16 from zaeleus/graphiql-body
Fix graphQLFetcher body serialization
2017-01-15 11:49:37 +01:00
Magnus Hallin
ba4c54f1a2 Merge pull request #12 from zaeleus/rustc_serialize
Make rustc-serialize optional
2017-01-15 11:46:45 +01:00
Michael Macias
fe96029e3a Fix graphQLFetcher body serialization
`params.variables` is already an object when passed to the fetcher and
does not need to be parsed.
2017-01-14 15:10:18 -06:00
Michael Macias
b78aef715d Make rustc-serialize optional
This extracts rustc-serialize JSON serialization into its own module,
decoupling all core structures from its use.

rustc-serialize can now be completely disabled, removing it as a
dependency if serde (or none) is used instead. It is, however, still the
default serializer. In Cargo, the `default-features` field must be set
to `false` to disable it, e.g.,

    [dependencies.juniper]
    version = "0.6"
    default-features = false
    features = ["serde"]

The Iron handlers still require rustc-serialize.

The default values for attributes changed from being formatted as JSON
to how it is defined in [the reference implementation][printer.js].

[printer.js]: https://github.com/graphql/graphql-js/blob/v0.8.2/src/language/printer.js
2017-01-06 21:34:44 -06:00
Magnus Hallin
8620eb1e7a Prepare for 0.6.1 release 2017-01-06 13:15:16 +01:00
Magnus Hallin
1af950401c Add support for declaring input objects as public structs
Fixes #5.
2017-01-06 13:08:39 +01:00
Magnus Hallin
fce45ece3f Merge pull request #8 from zaeleus/serde
Add optional Serde serialization support
2017-01-06 12:48:12 +01:00
Magnus Hallin
0e65a20c77 Merge pull request #9 from zaeleus/to_camel_case
Rename erroneously named to_snake_case
2017-01-06 12:43:28 +01:00
Magnus Hallin
ccf6b8399a Merge pull request #10 from zaeleus/graphqlerror-to-json
Remove JSON wrapper object from GraphQLError::to_json
2017-01-06 12:43:19 +01:00
Magnus Hallin
aed959176f Merge pull request #11 from zaeleus/graphiql
Update to graphiql 0.8.1
2017-01-06 12:42:41 +01:00
Michael Macias
4fce6062f0 Update to graphiql 0.8.1 2017-01-04 22:05:37 -06:00
Michael Macias
bd00e6c23d Remove JSON wrapper object from GraphQLError::to_json
This should be the responsibility of the caller and makes it consistent
with how the successful case is handled.
2017-01-04 21:40:15 -06:00
Michael Macias
b0c43341e4 Rename erroneously named to_snake_case
This function is transforming snake_case to camelCase.
2017-01-04 21:07:01 -06:00