Commit Graph

62 Commits

Author SHA1 Message Date
Sunli
5ad9f497d8 Remove code and tests related oneof fields. #915 2022-05-07 16:16:01 +08:00
Sunli
88ba75ec70 Rework connection types 2022-04-19 19:18:06 +08:00
Douman
b0933b3475 Add process_with to methods 2022-04-06 18:25:07 +09:00
Sunli
a62eb6f699 Panics when the same Rust type has the same name. #880 2022-03-30 20:54:49 +08:00
Sunli
8909752107 Add support group attribute to Object/SimpleObject/ComplexObject/Subscription macros. #838 2022-03-14 09:28:34 +08:00
Sunli
a4b840a984 Add support for oneof field on object. #766 2022-03-04 21:24:17 +08:00
tamasfe
2261e7311b feat(derive): pass context with flatten 2022-02-04 17:30:58 +01:00
Sunli
cea21fbe45 Add support flatten attribute for SimpleObject, ComplexObject and Object macros. #533 2022-01-18 10:33:07 +08:00
Sunli
60245769f5 Rework guards 2021-11-16 10:22:39 +08:00
Sunli
613bbc5b91 Custom validator 2021-11-15 11:08:56 +08:00
Sunli
dd55421ede Rework validators 2 2021-11-15 09:12:13 +08:00
Sunli
eb022a0cca Rework validators 2021-11-14 21:09:14 +08:00
Sunli
0e9e087691 Move the methods of the Type trait to InputType and OutputType. 2021-11-12 07:23:05 +08:00
Sunli
b359b62976 If a GraphQL name conflict is detected when creating schema, it will cause panic. #499 2021-11-08 10:25:31 +08:00
Sunli
057d6aebfd Subscription typename - [GraphQL - October 2021] #681 2021-11-02 20:35:05 +08:00
Miaxos
b361119ca0 feat: add with for object & complex object & update documentation 2021-10-28 12:42:13 +00:00
Sunli
9b5149ee23 Respect query object field order. #612 2021-10-26 19:02:15 +08:00
Miaxos
e1c577de44 feat: add derived field for complex object 2021-10-22 13:08:49 +00:00
Sunli
9dc3be78ac Add concrete names support for Object macro. #633 2021-09-24 21:00:17 +08:00
Sunli
c80687af80 Clippy clean 2021-07-31 23:54:16 +08:00
Sunli
2dce1ad35f Clippy clean 2021-06-18 10:43:34 +08:00
Sunli
543ce408b0 Implement InputType and OutputType for [T; N] array. 2021-06-17 10:39:27 +08:00
Sunli
b7b9abf40d Add serial attribute for SimpleObject and Object macros. #539 2021-06-15 08:53:26 +08:00
Sunli
e7382bf549 Rework error propagation. #531 2021-06-08 10:05:30 +08:00
Sunli
f8021c0fb5 Add support for returning multiple resolver errors. #531 2021-06-07 14:03:36 +08:00
Sunli
572f907df7 Now when the resolver returns the Result type, E can be all types that implement Into<async_graphql::Error>. 2021-04-09 15:04:01 +08:00
Sunli
a9ac598e2e Add secret attribute for arguments, they will not appear in the log. #463 2021-04-07 19:40:19 +08:00
Sunli
c7d1a8527d Merge pull request #429 from zicklag/master
Improve Resolver Method Return Type Error
2021-03-03 10:51:43 +08:00
Zicklag
8762f7e2d6 Improve Resolver Method Return Type Error 2021-03-02 12:45:07 -06:00
Sunli
4ebe0dd4cd Allow the deprecation attribute to have no reason. 2021-02-27 11:59:58 +08:00
Sunli
5c66a9cdda Add support for Federation nested keys. 2021-02-21 23:06:26 +08:00
Sunli
361d8d049f Fixed getting "custom attribute panicked" message when using [#Object] helper. #409 2021-02-13 09:09:29 +08:00
Sunli
b054fc0704 Add Send + Sync constraints for InputType, OutputType and SubscriptionType. 2021-01-14 12:41:59 +08:00
Sunli
5a29f74062 #[Object] on impl dyn TraitObj. #381 2021-01-10 11:21:47 +08:00
Aaron Hill
d8780bd720 Strip r# prefix when constructing getter ident
When calling `to_string()` on an identifier, the returned string will
have an `r#` prefix if the original identifer was a raw identifier. This
prefix needs to be removed if the identifier is interpolated into
another identifier (e.g. `__some_prefix__r#other_ident`) in order for
the new identifier to be valid.

This issue was previously masked due to the fact that the relevant test
uses `r#i32`. It's possible to use `i32` as a normal (non-raw) ident -
due to a bug in rustc, this means that the user-supplied `r#` prefix
will be lost when calling `to_string()`. This bug will eventually be
fixed, causing `to_string()` to start returning `r#i32` instead of
`i32`.

This commit strips the `r#` prefix (if present) from an identifier
before using it to construct a new identifier. The relevant test is
updated to use `r#match`, which actually requires the `r#` prefix to be
a valid identifier. This causes the test to fail without this patch on
current versions of Rust.
2020-12-20 19:08:22 -05:00
Sunli
6043543df7 Add custom complexity for subscription. 2020-12-19 18:39:33 +08:00
Sunli
bf9e3ec578 Improve depth and complex. 2020-12-18 18:56:28 +08:00
Sunli
ba23761cb4 Add visible attributes on types, fields, and parameters, allowing some content to be hidden based on conditions. 2020-12-12 16:23:53 +08:00
Sunli
5c39d0197d Rename InputValueType to InputType and OutputValueType to OutputType. 2020-12-11 15:37:50 +08:00
Sunli
12b3b0ee46 Fix async_graphql::Object does not work when inside macro after rust 1.48.0 2020-11-22 09:53:18 +08:00
Sunli
04f90bfea5 Fix #339 2020-11-08 08:00:14 +08:00
Sunli
320d9eef50 Add use_type_description attribute for derive macros Object, Scalar and Subscription. 2020-10-26 21:34:05 +08:00
Sunli
e1be5d5537 Fix typo 2020-10-22 10:11:47 +08:00
Sunli
e3d693da28 Add entity lookup support for MergedObject.
Add some GraphQL specification constraints for all derived macros.

Use `Registry::create_dummy_type` to create a merged type.
2020-10-20 11:49:31 +08:00
Koxiaet
a79ee02958 Fix macro hygiene 2020-10-16 20:21:46 +01:00
Koxiaet
79ad5540a1 Make macros hygienic 2020-10-16 11:37:59 +01:00
Sunli
8c933dbc36 Make imports consistent 2020-10-16 10:45:48 +08:00
Sunli
f9f60d31ec Configurable case conversion. 2020-10-14 19:16:10 +08:00
Sunli
87ba51fdd0 Some improvements. 2020-10-10 16:28:07 +08:00
AurelienFT
53eab09f19 Rework guard (#296)
Rework guard #293
2020-10-06 17:16:51 +08:00