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
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