Commit Graph

90 Commits

Author SHA1 Message Date
Sunli
553bf37abe Rework error propagation. #531 2021-06-08 10:05:30 +08:00
Sunli
dfe8245894 Add support for returning multiple resolver errors. #531 2021-06-07 14:03:36 +08:00
Sunli
bbf9b9bfb2 If InputObject contains an unnamed field, the correct error message will be given. #498 2021-05-06 16:44:36 +08:00
Sunli
cdd13ea1be Fix the problem that the ComplexObject macro cannot work due to the secret attribute. 2021-04-23 10:25:00 +08:00
Sunli
5d6b870969 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
6aa191fba5 Add secret attribute for arguments, they will not appear in the log. #463 2021-04-07 19:40:19 +08:00
Sunli
d97ddda91d Update subscription.rs 2021-04-04 19:51:41 +08:00
Sunli
7000651b88 Rework Extension 2021-04-04 14:37:41 +08:00
Sunli
77b86a0fe7 Remove useless use. 2021-03-31 19:32:41 +08:00
Sunli
04b9309f09 Add name and visible attributes for Newtype macro for define a new scalar. #437 2021-03-31 19:28:19 +08:00
Sunli
a5a18824e7 Clippy clean 2021-03-26 21:07:45 +08:00
Sunli
cc937b70b5 Rework Extension & TracingExtension & OpenTelemetryExtension 2021-03-26 12:03:10 +08:00
Sunli
d280978ccb Update dependencies 2021-03-24 12:25:03 +08:00
Sunli
bec0fc18a9 Add ComplexObject macro. #355 2021-03-18 10:13:46 +08:00
Taiki Endo
6ddbc52641 Support generics in Subscription types 2021-03-09 22:21:56 +09:00
Sunli
1e9771a17f Add extends attribute for derive macros Subscription and MergedSubscription. 2021-03-09 15:12:14 +08:00
Sunli
938bf83768
Merge pull request #429 from zicklag/master
Improve Resolver Method Return Type Error
2021-03-03 10:51:43 +08:00
Zicklag
22e3a6eb40 Improve Resolver Method Return Type Error 2021-03-02 12:45:07 -06:00
Sunli
baa837f2ca Allow the deprecation attribute to have no reason. 2021-02-27 11:59:58 +08:00
Sunli
60d4eb5394 Improve the performance of introspection queries. 2021-02-24 12:06:11 +08:00
Sunli
14a88cfa19 Add support for Federation nested keys. 2021-02-21 23:06:26 +08:00
Sunli
11437be271 Fixed getting "custom attribute panicked" message when using [#Object] helper. #409 2021-02-13 09:09:29 +08:00
Sunli
879bcd6061 Add NewType derive macro. #388 2021-01-15 10:29:03 +08:00
Sunli
a0ded06da8 Fix a bug that cause generic InputObject and SimpleObject is incorrect name. #387 2021-01-14 19:20:28 +08:00
Sunli
7bda6333da Add support for generic SimpleObject. #387 2021-01-14 13:16:30 +08:00
Sunli
95e372e0d3 Add Send + Sync constraints for InputType, OutputType and SubscriptionType. 2021-01-14 12:41:59 +08:00
Sunli
ac620c1eea Add support for generic InputObject. #387 2021-01-14 11:27:15 +08:00
Sunli
c547252121 #[Object] on impl dyn TraitObj. #381 2021-01-10 11:21:47 +08:00
Sunli
c8f5e3de36 Fix #[Object] macro panic with default u32. #361 2020-12-28 18:39:17 +08:00
Aaron Hill
cea22da228
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
f10cda9e78 Add custom complexity for subscription. 2020-12-19 18:39:33 +08:00
Sunli
ec82e64a39 Improve depth and complex. 2020-12-18 18:56:28 +08:00
Sunli
f59c287ba0 Add the skip attribute to the InputObject fields. 2020-12-15 20:29:59 +08:00
Sunli
e29b7a3627 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
03f6ed4ba2 Rename InputValueType to InputType and OutputValueType to OutputType. 2020-12-11 15:37:50 +08:00
Sunli
d0284857be Clippy clean 2020-11-23 12:50:35 +08:00
Sunli
778c950f47 Fix async_graphql::Object does not work when inside macro after rust 1.48.0 2020-11-22 09:53:18 +08:00
Sunli
7ed2698d65 Fix #339 2020-11-08 08:00:14 +08:00
Sunli
4323f300fb Subscription macros now correctly report unsupported attribute errors. 2020-11-07 09:13:53 +08:00
Sunli
cc793e080a Merge branch 'master' of github.com:async-graphql/async-graphql 2020-11-04 10:26:04 +08:00
Sunli
599b5f1c47 Fix the problem that Description derived macro do not support generic objects. 2020-11-04 10:25:30 +08:00
Sunli
7c62b10ebc Fix #333 2020-11-03 18:16:55 +08:00
Sunli
d4e26192ce Fix interface downcasting. #330 2020-10-31 08:58:54 +08:00
Sunli
770ed31508 Add use_type_description attribute for derive macros Object, Scalar and Subscription. 2020-10-26 21:34:05 +08:00
Sunli
fc35787885 Add interface to implement another interface. #322 2020-10-24 09:08:18 +08:00
Sunli
c999dd26dd Fix typo 2020-10-22 10:11:47 +08:00
Sunli
776aadf169 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
Sunli
1985f70175 Remove obsolete derived macro attributes. 2020-10-17 08:49:50 +08:00
Koxiaet
807bad2a72 Fix macro hygiene 2020-10-16 20:21:46 +01:00
Koxiaet
68381cfc65 Make macros hygienic 2020-10-16 11:37:59 +01:00