Commit graph

115 commits

Author SHA1 Message Date
Christian Legnitto
73dc5cd5b8 Release juniper 0.14.2 2020-01-18 17:14:35 -08:00
Christian Legnitto
a5ccf8c2a1 Release juniper_codegen 0.14.2 2020-01-18 17:14:35 -08:00
danieleades
6fa6c20fa7 address clippy::all lints (#486) 2019-12-17 20:37:46 -08:00
Christoph Herzog
ce3cf45ca9 Rename object proc macro to graphql_object 2019-11-16 02:57:48 +01:00
Christoph Herzog
358071bfa4 Remove deprecated ScalarValue derive
This was renamed to GraphQLScalarValue and has been deprecated for a
while
2019-11-16 02:33:20 +01:00
Christoph Herzog
9ce3d04007 Improve union proc macro
* Rename to graphql_union
* Implement full-featured parsing and code generation
2019-11-16 02:33:18 +01:00
Christoph Herzog
5d270b7dea Formatting 2019-11-15 22:18:38 +01:00
Christoph Herzog
50605ee73e Duplicate juniper_rocket for async
This is required because rocket only supports futures on a git branch.
2019-11-15 21:52:22 +01:00
Christoph Herzog
f6c0bc7b02 Fix tests. 2019-11-15 21:44:08 +01:00
Christoph Herzog
b634ad39eb Various async feature fixes for the type system 2019-11-15 21:23:59 +01:00
Christoph Herzog
ad16093b88 Refactor GraphQLType::resolve to return Result<>
This unifies the output type of all resolvers.

Required for future step of making the output a associated type.
2019-11-14 09:51:32 +01:00
Christoph Herzog
36c71d7162 chore: Remove ScalarRefValue trait
The trait was introduced while introducing generic scalars, but is not
actually required or useful. It's functionality is fully covered by
methods on the `ScalarValue` trait.

It also forced a lof of for<'a> ScalarRefValue bounds all over the code,
complicating signatures a lot.

It is completely removed now.
2019-11-14 01:21:41 +01:00
nWacky
eb85fefc36 Get back panic in macro [skip ci] 2019-11-13 14:26:25 +00:00
nWacky
2144ad0d7d Remove async-trait [skip ci] 2019-11-13 14:26:25 +00:00
nWacky
cf99495368 Replace all futures::BoxFuture with juniper::BoxFuture 2019-11-12 12:04:09 +00:00
nWacky
237e69c036 Rebase async_await onto master (#454)
* feat: Raw identifier support in object macro

This commit implements raw identifier (`r#name`) support
for field names (methods) and arguments in the `object` proc macro.

Eg:

```rust
impl T {
  fn r#type(r#trait: String) -> bool {}
}
```

* Rebase onto master

* Fix merge [skip ci]
2019-11-08 09:46:48 +00:00
nWacky
778606c050
Fix bad merge [skip ci] 2019-11-06 12:01:50 +03:00
nWacky
99c0d26887
Comment out attr_arg_descr and attr_arg_descr_collapse tests 2019-11-05 12:06:08 +03:00
nWacky
dbcaf30ec3
Rebase onto master 2019-11-05 11:20:06 +03:00
nWacky
e3c12e31fc
Format 2019-11-05 11:14:53 +03:00
nWacky
00dd1dc391
Resolve better error message with field/type name todo, update other panics with query name 2019-11-05 11:14:20 +03:00
nWacky
52c3e281f3
Refactor GraphQLTypeAsync to use async-trait 2019-11-05 11:14:20 +03:00
Christian Legnitto
191468bf04
Release juniper 0.14.1 2019-11-05 11:14:16 +03:00
Christian Legnitto
7b18bd245d
Release juniper_codegen 0.14.1 2019-11-05 11:14:15 +03:00
Christian Legnitto
0929bad163 Fix non-async resolvers with returns in the async case 2019-11-03 22:14:44 -08:00
Christian Legnitto
560a172587 Make resolvers with returns work again
Note that this only fixes the non-async case
2019-11-03 22:07:40 -08:00
nWacky
321c3af38d Use name_of_type in macro [skip ci] 2019-11-01 12:59:16 +00:00
nWacky
245c351a73 Revert juniper::object name detection back to master [skip ci] 2019-11-01 12:59:16 +00:00
Christoph Herzog
ee9a82a817 Refacto graphql_union! macro to proc macro 2019-10-28 21:51:29 +01:00
tyranron
e2903cf0f7
Fix type inferring for trivial resolver code
Additionally:
- fix inconsistencies after merge with master
2019-10-10 14:50:10 +02:00
tyranron
635bf1ff34
Merge branch 'async-await' into remove-async-closure-feature
# Conflicts:
#	examples/warp_async/src/main.rs
#	integration_tests/async_await/src/main.rs
#	juniper/src/lib.rs
#	juniper_benchmarks/src/lib.rs
#	juniper_rocket/src/lib.rs
#	juniper_warp/src/lib.rs
2019-10-10 13:20:00 +02:00
Christoph Herzog
56a4f2558a WIP async/await implementation 2019-10-09 22:22:13 -07:00
tyranron
5d3ed9ac72
Remove async_closure feature usage 2019-10-10 00:07:10 +02:00
Christian Legnitto
dbbceae643 Release juniper 0.14.0 2019-09-29 19:04:31 -07:00
Christian Legnitto
c4d7661b3b Release juniper_codegen 0.14.0 2019-09-29 19:03:54 -07:00
Blaž Hrastnik
dcbb74155d juniper_codegen: Drop regex & lazy_static dependencies (#424)
* Replace regex & lazy_static with a simple check.
2019-09-07 21:19:37 -07:00
Christoph Herzog
a14f0ddebd WIP async/await implementation 2019-08-21 15:48:31 +02:00
theduke
a3caf126b0 derive: Upgrade syn/quote/proc_macro dependencies to 1.0 (#413) 2019-08-18 09:12:25 -07:00
Christian Legnitto
48c26a26b3 Release juniper 0.13.1 2019-07-29 08:08:05 -07:00
Christian Legnitto
6b32e90899 Release juniper_codegen 0.13.2 2019-07-29 08:07:32 -07:00
Christian Legnitto
644d6042ae Release juniper_codegen 0.13.1 2019-07-29 08:06:22 -07:00
Christoph Herzog
049ba0c9dc (codegen) Respect mut modifier on arguments in object proc macro
This commit forwards `mut` declaration of arguments in a #[juniper::object] macro invocation
to the generated code.

Closes #399
2019-07-24 02:37:31 +02:00
Christian Legnitto
54f98f46db Release juniper 0.13.0 2019-07-19 14:01:21 -07:00
Christian Legnitto
efe22b7ffd Release juniper_codegen 0.13.0 2019-07-19 14:01:21 -07:00
Christian Legnitto
7bedea05ed
Clean up test warnings (#392) 2019-07-15 21:47:16 -07:00
Peter Majchrak
28ca8fe006 Cleanup after #385 (#386) 2019-06-27 15:32:36 -07:00
Peter Majchrak
3373935046 Add support for "dyn" trait object syntax (#385)
* Use "dyn" for TraitObjects

* Cleanup after adding "dyn" support

* Add entry to CHANGELOG.md
2019-06-27 08:44:30 -07:00
Christoph Herzog
97e1005178 Clean up ScalarValue transparent derive argument handling and documentation. 2019-06-25 18:55:45 +02:00
theduke
7e0e7beaa7 Allow scalars without #[repr(transparent)] 2019-06-25 18:55:45 +02:00
Christoph Herzog
3396074274 (codegen) Implement newtype derive for scalars.
This commit implements a newtype style custom derive
for scalars via `#[derive(GraphQLScalarValue)]`, which now
supports both deriving a base enum scalar type and newtypes.

For newtypes, the `#[graphql(transparent)]` attribute is
required.

This commit:
* implements the derive
* adds integration tests
* updates the book
2019-06-25 18:55:45 +02:00