FSharp.Data.GraphQL
FSharp.Data.GraphQL copied to clipboard
FSharp implementation of Facebook GraphQL query language.
Problem here is lose coupling between GraphQL interfaces and .net types - you can have i.e. GraphQL interface `Node(fields: [ id: Node -> ID ])` that maps directly to `System.Object`...
This is idea to make FSharp.Data.GraphQL faster and allocating less memory on field execution - consider we have following field definition: ``` fsharp Define.Field("firstName", String, fun _ person -> person.FirstName)...
Currently during so-called _compilation phase_ we're generating execution function for each field of each GraphQL object - we do it quite naively to be honest. The idea is to replace...
### Motivation During discussions about using GraphQL we often mention a topic of applying things such as user permissions onto the user requests, to limit what user requested with what...
It would be a good idea to provide some way of using the latest dev branch changes as nuget packages even before official releases. I.e. in Akka.NET, we used [myget](https://myget.org/)...
This is a fix for https://github.com/fsprojects/FSharp.Data.GraphQL/issues/353. Currently the implementation does not generate a valid introspection query result when default values are specified. According to [the spec](https://spec.graphql.org/June2018/#sec-The-__InputValue-Type): > `defaultValue` may return...
Sample https://github.com/Dotnet-Boxed/Templates/tree/main/Source/GraphQLTemplate
https://github.com/Dotnet-Boxed/Templates/blob/8f39cde89494c3319ea19c1f72ed163ba13d1b99/Source/GraphQLTemplate/Source/GraphQLTemplate/GraphQLTemplate.csproj#L50-L51 https://github.com/Dotnet-Boxed/Templates/blob/1eecf272647c134c5153d856475677c63b21edd3/Source/GraphQLTemplate/Source/GraphQLTemplate/Startup.cs#L140-L145 https://github.com/fsprojects/FSharp.Data.GraphQL/blob/ad9ba34dd12a1fb1900d35aeadb505c3f7f18170/samples/star-wars-api/Startup.fs#L22-L30
Like https://chillicream.com/docs/hotchocolate/server/instrumentation/
With this PR, I am proposing separating Shared project into its own library. Once done with that, we can go on with splitting this project into smaller, reusable libraries.