Commit graph

254 commits

Author SHA1 Message Date
tyranron
37257934b7
Some code style corrections [skip ci] 2022-08-11 18:23:46 +03:00
tyranron
fea722b196
Impl input objects, vol.2 [skip ci] 2022-08-11 18:06:43 +03:00
tyranron
464ff10c14
Impl input objects, vol.1 [skip ci] 2022-08-10 19:10:38 +03:00
tyranron
d8813aff13
Merge branch master into rework-core-traits [skip ci] 2022-08-10 18:08:22 +03:00
tyranron
b32c54eeaa
Mention #113 in CHANGELOG 2022-07-26 11:42:44 +03:00
tyranron
ef7a7e8229
Upgrade to 2021 Rust edition
- set 1.62 Rust as MSRV
- use new fmt syntax where possible
- refactor `.to_owned()`, `.to_string()` and `.into()` usage
- rename `IntoResolvable::into()` as `IntoResolvable::into_resolvable()` to disambiguate with `Into::into()`
- use `#[derive(Default)]` for enums where possible
- use `bool::then_some()` where possible
2022-07-13 15:20:10 +02:00
tyranron
576d6fb6dd
Finish refactoring juniper_codegen crate 2022-07-11 17:06:05 +02:00
ilslv
0c8bcf582f
Fix input value coercion with defaults (#1080, #1073) 2022-07-08 21:55:51 +00:00
Benno Tielen
5332db0a4b
Strip lifetime parameter from ParseError (#1081, #528)
- replace `Token` with its string representation in `ParseError`
- strip lifetime parameter from `GraphQLError`, `GraphQLResponse` and `GraphQLBatchResponse`

Co-authored-by: Kai Ren <tyranron@gmail.com>
2022-07-08 18:21:23 +00:00
ilslv
a32140cd46
Update all links to October 2021 spec (#1075, #1000)
Co-authored-by: Kai Ren <tyranron@gmail.com>
2022-06-28 15:32:08 +00:00
ilslv
927e42201a
Rework #[derive(GraphQLInputObject)] macro implementation (#1052)
Co-authored-by: Kai Ren <tyranron@gmail.com>
2022-06-28 11:27:28 +00:00
tyranron
fa03c7fa4d
Impl graphql::Enum trait for enums [skip ci] 2022-06-27 17:05:01 +02:00
tyranron
4257e72c75
Impl resolve::Type trait for enums 2022-06-27 16:57:54 +02:00
tyranron
98b282d06d
Impl resolve::InputValue trait for enums 2022-06-27 16:17:50 +02:00
tyranron
7364187437
Impl resolve::Value and resolve::ToInputValue traits for enums [skip ci] 2022-06-27 15:58:20 +02:00
tyranron
48631e9b25
Impl reflect traits for enums 2022-06-27 15:14:05 +02:00
tyranron
505e25cea2
Temporary disable new reflection for fields as it requires all leaf types implement 2022-06-27 14:53:49 +02:00
tyranron
2e2d365d64
Merge branch master into rework-core-traits [skip ci] 2022-06-27 14:42:43 +02:00
ilslv
9ca2364bfe
Allow interfaces to implement other interfaces (#1028, #1000) 2022-06-27 12:09:44 +00:00
ilslv
26d9daaadf
Rework #[derive(GraphQLEnum)] macro implementation (#1047) 2022-06-24 21:57:52 +03:00
tyranron
1819ab6e12
Impl reflect traits for objects and interfaces fields, vol.1 [skip ci] 2022-06-23 18:37:14 +02:00
tyranron
23e01956b3
Impl reflect traits for objects and interfaces [skip ci] 2022-06-23 17:42:55 +02:00
tyranron
42e2780142
Fix tests 2022-06-23 16:41:16 +02:00
tyranron
2d89de3403
Impl new machinery for Vec [skip ci] 2022-06-20 19:12:58 +02:00
tyranron
66c11ec782
Impl macro for scalars, vol.6 [skip ci] 2022-06-20 17:41:45 +02:00
tyranron
4d7770d226
Impl macro for scalars, vol.5 [skip ci] 2022-06-19 23:06:59 +02:00
tyranron
1aafd3da5d
Impl macro for scalars, vol.4 [skip ci] 2022-06-19 22:18:50 +02:00
tyranron
679c1c1162
Impl macro for scalars, vol.3 [skip ci] 2022-06-17 23:53:18 +02:00
tyranron
a05a0091f6
Impl macro for scalars, vol.2 [skip ci] 2022-06-17 21:30:30 +02:00
tyranron
f2718cc01a
Impl macro for scalars, vol.1 [skip ci] 2022-06-17 18:24:02 +02:00
tyranron
5a62ddfbf2
Restore old reflection impls 2022-06-08 11:06:28 +02:00
tyranron
8235ac22c0
Reworking base traits, vol.1 [skip ci] 2022-06-06 19:06:59 +02:00
tyranron
97d2da581a
Impl codegen for scalars (resolve::ToInputValue trait), vol.5 2022-06-01 17:31:02 +02:00
tyranron
740aa9061e
Impl codegen for scalars (resolve::ValueAsync trait), vol.4 2022-06-01 16:20:19 +02:00
tyranron
113b112daf
Impl codegen for scalars (resolve::Value trait), vol.3 2022-05-31 19:08:36 +02:00
tyranron
22f3f1887e
Bikeshed reflection, vol.1 2022-05-31 00:31:28 +02:00
tyranron
b1be8f1d29
Improve codegen for scalars, vol.2 2022-05-30 19:09:15 +02:00
tyranron
b381c696ff
Improve and polish codegen for scalars 2022-05-27 18:11:40 +02:00
tyranron
8ea231f395
Building up codegen for scalars, vol.2 2022-05-19 17:32:43 +02:00
tyranron
21c7a3a653
Bootstrap codegen for scalars 2022-05-17 17:13:25 +02:00
tyranron
d6f5cee8b3
Satisfy rust_2018_idioms rustc lint in generated code 2022-05-12 14:33:03 +03:00
tyranron
6b3898b077
Add docs for enum generated by #[graphql_interface] and #[derive(GraphQLInterface)] macros 2022-05-11 20:35:17 +03:00
tyranron
ba1ed85b3c
Relax object safety requirement for GraphQLValue and GraphQLValueAsync traits 2022-04-19 16:33:10 +03:00
Cerber-Ursi
c40d80f26b
Fix expansion of procedural macros inside macro_rules! (#1054, #1051) 2022-04-13 16:15:50 +03:00
Kai Ren
72ed45a77c
Rework CI and project toolchain (#1043)
- remove `cargo-make` integration
- rework CI pipeline more granular and precise
- rework releasing process
- tune up project layout
- fill up new CHANGELOGs

Additionally:
- fix latest nightly/stable Rust inconsistencies
2022-04-08 17:44:50 +03:00
ilslv
d0b56f9222
Implement #[derive(GraphQLInterface)] to use structs as GraphQL interfaces (#1026)
- support `#[graphql_interface]` on structs
2022-04-01 21:10:45 +03:00
tyranron
4182a8cf2b
Fix tests for 1.0.90 syn version 2022-03-29 12:28:25 +03:00
ilslv
5bbc73ad89
Redesign #[derive(ScalarValue)] macro to derive ScalarValue on enums (#1025) 2022-03-03 15:49:35 +02:00
ilslv
0ebd19af5a
Redesign #[derive(GraphQLScalar)] and #[graphql_scalar] macros (#1017)
- `#[derive(GraphQLScalar)]`:
    - support generic scalars
    - support structs with single named field
    - support for overriding resolvers
- `#[graphql_scalar]`:
    - support `transparent` argument

Co-authored-by: Kai Ren <tyranron@gmail.com>
2022-02-28 11:34:38 +02:00
ilslv
63198cdfcb
Redesign #[graphql_scalar] macro (#1014, #1000)
- support generic scalars
- make it applicable to type aliases and struct/enums/unions
2022-02-24 17:12:17 +02:00