Commit Graph

81 Commits

Author SHA1 Message Date
Koxiaet
47259548c4 Support service parsing in async-graphql-parser
- Instead of adding a separate module `schema` like there was before,
since service parsing and executable parsing have a fair amount of
overlap I put them as two submodules `executable` and `service` in both
`parse` and `types`. Also, the grammar is unified under one `.pest`
file.
- Added const equivalents to `Value`, `Directive` etc
- Change the reexport `async_graphql::Value` from
`async_graphql_parser::types::Value` to
`async_graphql_parser::types::ConstValue` since in 99% of cases in this library
a const value is wanted instead of a value.
- Added consistent usage of executable/service instead of the ambiguous
query/schema.
- Some of the tests actually had invalid GraphQL so the new more correct
grammar made them fail, that was fixed.
- Added a `Name` newtype to refer to GraphQL names
(`[A-Za-z_][A-Za-z_0-9]*`) since they are used so frequently.
2020-09-08 09:21:27 +01:00
Koxiaet
1c26ff124f Merge branch 'master' into master 2020-09-06 07:20:18 +01:00
Koxiaet
c055736101 Rustfmt 2020-09-06 07:16:36 +01:00
Koxiaet
81d85c2535 Rewrite async-graphql-parser 2020-09-06 06:38:31 +01:00
Sunli
dece273372 Implement Into<ID> for all integer types. 2020-09-06 12:33:57 +08:00
Koxiaet
02f7a5fbbc Remove dependency on serde_derive, satisfy Clippy, improve docs 2020-08-31 19:18:02 +01:00
Sunli
40d19f2f58 Add DateTime<Local> scalar.
Fixed compile problem with `v1.48-nightly`.
2020-08-31 16:12:12 +08:00
Renat Sadykov
7567a47498 Add the DateTime<FixedOffset> scalar 2020-08-29 23:18:57 +03:00
Sunli
8c272127ea Add scalar type for NaiveDateTime. #237 2020-08-14 15:28:42 +08:00
Sunli
2dc61013be Replace Value::Int and Value::Float with Value::Number. 2020-07-29 09:42:52 +08:00
Sunli
ea9e733a6e Merge pull request #206 from D1plo1d/patch-1
Add Serialize and Deserialize to ID
2020-07-08 15:10:01 +08:00
Sunli
2dde8b4aa6 Add OutputJson type #203 2020-07-08 14:44:57 +08:00
Rob Gilson
ff8fa50718 Add Serialize and Deserialize to ID
This should allow types containing IDs to be serialized (eg. for saving to a database).
2020-07-08 01:58:46 -04:00
Sunli
643b540575 Update datetime.rs 2020-06-16 23:21:05 +08:00
Jake Thompson
3329cb37ea Update parsing to support more formats, this includes the JS standard format that is not compatible with the %+ time format 2020-06-16 01:46:20 +00:00
Sunli
5dfc12469a Update integers.rs 2020-06-15 09:26:43 +08:00
Midas Lambrichts
11d7a8cbdb Added u32 as ScalarType 2020-06-14 22:13:45 +02:00
Coenen Benjamin
a1e5543f9c Update name of scalar DateTime to DateTimeUtc (#166)
* Update name of scalar DateTime to DateTimeUtc
2020-06-09 21:18:23 +08:00
iancormac84
9b3c2c9b8a Upgrade bson crate. 2020-06-06 12:38:15 -04:00
Sunli
54177e0a1a Add Default derive for Json type 2020-06-02 21:00:54 +08:00
Sunli
3cdf109bfd Update integers.rs 2020-05-28 11:25:03 +08:00
Sunli
0c15370bcd Fix the problem that async-graphql cannot be compiled and passed in rust nightly-2020-05-25. #122 2020-05-28 10:26:07 +08:00
sunli
0ebf7d4087 Update mod.rs 2020-05-28 08:07:29 +08:00
Sunli
76ff909ccd New data source (#105)
* New data source
2020-05-28 08:02:00 +08:00
Sunli
a9d3ac9cf8 Implement a type-safe default value definition for InputValue. #111 2020-05-26 20:43:53 +08:00
Sunli
4ae76b505f Remove the wrong feature condition. 2020-05-26 11:57:26 +08:00
William Myers
3486981284 Derive Serialize & Deserialize for Json 2020-05-25 15:34:43 -06:00
Sunli
19803ccc61 Fix the problem of compilation failure. 2020-05-22 13:38:46 +08:00
sunli
6f924efcf4 Add defer tests 2020-05-20 13:42:55 +08:00
Sunli
d00e3e8c25 The scalar name and description attributes are placed on the process macro attributes. #97 2020-05-19 13:27:01 +08:00
Caio
8c14c6c675 Rustfmt 2020-05-16 13:12:37 -03:00
Caio
27e5c94731 Fix compilation errors 2020-05-16 13:08:03 -03:00
sunli
c16d239b65 Remove some unsafe code 2020-05-16 21:14:26 +08:00
Caio
ae85517976 Impl Scalar for NaiveDate and NaiveTime 2020-05-15 08:51:54 -03:00
Sunli
f74652e61a Modify some type names (internal types) 2020-05-15 10:08:37 +08:00
sunli
8299a54456 Improve GraphQL query parser performance. #76 2020-05-12 16:27:06 +08:00
Nicolai Unrein
1726c64e7a Add From<serde_json::Value> for Json 2020-05-11 17:55:54 +02:00
sunli
8e9aff105e Support Upload Stream #15
I think the previous implementation is not elegant enough, the `QueryBuilder::set_files_holder` function looks disgusting, so I refactored it.
By the way, the performance of parsing InputValue has been optimized, and unnecessary clones have been removed.
2020-05-11 21:47:24 +08:00
Samuel Hurel
c06f871b41 Prefer TryFrom to TryInto for ID 2020-05-10 16:13:41 +02:00
Samuel Hurel
34f286b2d9 Remove useless as_str on ID 2020-05-10 15:58:56 +02:00
Samuel Hurel
c810764e7e Simplify ID conversion 2020-05-10 15:52:47 +02:00
sunli
ff6f97d7df Add ToGraphQLCursor and ToGraphQLID traits. #54 2020-05-10 18:39:53 +08:00
sunli
728989209f The error reason can be returned when the input value is parsed incorrectly. #70 2020-05-10 18:27:46 +08:00
sunli
0d540465a5 Remove the disgusting functions json_value_to_gql_value and gql_value_to_json_value.😂 2020-05-09 22:16:39 +08:00
sunli
dc7c8d5280 Merge branch 'parser'
Implement a new GraphQL query parser and remove the dependency on graphql-parser.
2020-05-09 17:55:04 +08:00
Sunli
f63c923521 Update json.rs 2020-05-08 10:40:29 +08:00
sunli
60e94890d0 Clippy cleanup 2020-05-07 20:44:24 +08:00
sunli
e6e1755502 Add Json scalar type. #56 2020-05-07 20:41:00 +08:00
sunli
2ec948fdf5 Update any.rs 2020-05-07 18:50:47 +08:00
sunli
c1e0b8f4a7 Add Any::parse_value method. #56 2020-05-07 18:49:09 +08:00