Commit graph

1344 commits

Author SHA1 Message Date
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
Michael Macias
aa056dd562 Add optional Serde serialization support
This adds the Serde serialization trait to the following:

  * `ExecutionError`
  * `GraphQLError`
  * `InputValue` (+ deserialization)
  * `RuleError`
  * `SourcePosition`
  * `Spanning<ParseError>`
  * `Value`

Serde support is enabled via the "serde" feature flag.
2017-01-04 20:50:12 -06:00
Magnus Hallin
f33213e17e Release version 0.6.0 2017-01-02 13:15:45 +01:00
Magnus Hallin
8f3e60a71c Add notes about new API breaking changes 2016-12-28 19:15:54 +01:00
Magnus Hallin
853c92a0b7 Use borrowed string references in all AST nodes 2016-12-28 19:09:19 +01:00
Magnus Hallin
f066fca1f4 Use borrowed names when constructing Type instances 2016-12-28 19:09:19 +01:00
Magnus Hallin
1f62b628f9 Don't clone directive lists during execution 2016-12-28 12:03:23 +01:00
Magnus Hallin
5ce330a0e8 Don't clone argument names when building final argument hashmap 2016-12-28 11:59:50 +01:00
Magnus Hallin
d7e98d955a Don't clone field names when recursing down in selection sets 2016-12-28 11:51:37 +01:00
Magnus Hallin
13903d7628 Don't clone selection sets during execution 2016-12-28 11:28:48 +01:00
Magnus Hallin
6a4b883b97 Don't clone fragment names in executor 2016-12-28 11:13:45 +01:00
Magnus Hallin
96c1ad0ef9 Use bencher crate to run benchmarks on stable rust 2016-12-26 12:16:19 +01:00
Magnus Hallin
7a0439bad7 Add changelog 2016-12-23 23:58:21 +01:00
Magnus Hallin
ebda74ba91 Refactor IntoResolvable (previously IntoFieldResult)
It now supports a blanket implementation for all GraphQLTypes, and
resolving into new context types.
2016-12-23 13:12:12 +01:00
Magnus Hallin
6b8f4c9562 Move context type parameter to associated type of GraphQLType 2016-12-22 16:25:44 +01:00
Magnus Hallin
885fe8b09b Update API documentation link to our own
Fixes #6.
2016-12-18 19:52:14 +01:00
Magnus Hallin
b61ca14f53 Pass the executor immutably through resolution
The executor is now using internal mutability through RwLock to make
it thread-safe.
2016-12-11 20:09:52 +01:00
Magnus Hallin
cd33093dee Release version 0.5.3 2016-12-05 22:23:00 +01:00
Magnus Hallin
f3e0acc742 Add helper traits/macros to produce FieldResults 2016-12-05 22:18:42 +01:00
Magnus Hallin
3b71755521 Expose RuleError from crate root 2016-12-05 22:18:31 +01:00
Magnus Hallin
ff00b0c952 Merge pull request #4 from theduke/patch-1
Add cargo and API docs links
2016-12-05 21:22:14 +01:00
theduke
358f344fda Add cargo and API docs links 2016-12-05 17:06:09 +01:00
Magnus Hallin
46764de1a6 Add support for return statements in field resolver functions 2016-11-30 21:49:50 +01:00
Magnus Hallin
ca3832c6c2 Ignore InnerT when implementing Send/Sync for RootNode (unsafe) 2016-11-30 20:57:18 +01:00
Magnus Hallin
e5167e1aae Relax Iron handler context trait requirements 2016-11-30 20:50:08 +01:00
Magnus Hallin
f7123ed9db Cross off some tasks on the 1.0 todo 2016-11-13 10:41:46 +01:00
Magnus Hallin
7effd11348 Update readme to 0.5.2 2016-11-12 22:58:46 +01:00
Magnus Hallin
0ea61fa493 Add interface and union tests 2016-11-12 22:52:34 +01:00
Magnus Hallin
c555241978 Add executor tests, fix a bunch of bugs 2016-11-12 17:49:04 +01:00
Magnus Hallin
251f957a7f Add directive tests, fix some bugs 2016-11-12 11:03:42 +01:00
Magnus Hallin
478c7b7819 Add enum input value tests and improve validation 2016-11-12 10:24:23 +01:00
Magnus Hallin
b3a750ffa5 Add input variable tests, fix a bunch of related bugs 2016-11-09 21:48:21 +01:00
Magnus Hallin
ba7839f321 Use object shorthand in tests and documentation 2016-10-20 20:56:23 +02:00
Magnus Hallin
2b1c9cf906 Remove travis-cargo 2016-10-20 20:44:28 +02:00
Magnus Hallin
f4887badeb Add documentation for the union helper macro 2016-10-20 20:43:47 +02:00
Magnus Hallin
8a51c33cb1 Improve type safety for instance resolvers 2016-10-20 20:26:52 +02:00
Magnus Hallin
612a3af001 Update syntax of interface instance resolvers 2016-10-19 21:43:11 +02:00
Magnus Hallin
d59e6c2f2e Stop tracking code coverage - kcov seems broken :( 2016-10-19 21:42:54 +02:00
Magnus Hallin
93deefb0ca Add union helper macro and tests 2016-10-19 20:58:36 +02:00