FSharp.Data.GraphQL icon indicating copy to clipboard operation
FSharp.Data.GraphQL copied to clipboard

oneOf input types

Open laurencepettitt opened this issue 1 year ago • 1 comments

Description

The RFC for oneOf input types is nearing completion and is in the phase of gathering feedback from libraries and users

graphql-js and HotChocolate already have implemented this feature based on the RFC.

Repro steps

N/A

Expected behavior

I imagine that an F# discriminated union, like this

type Cat = { Name: string; Meows: bool }
type Dog = { Name: string; Barks: bool }
type Pet = 
    | DogPet of Dog
    | CatPet of Cat

could be mapped to a GraphQL oneOf input type, like this

input Cat {
    name: String
    meows: Boolean
}
input Dog {
    name: String
    barks: Boolean
}
input Pet @oneOf {
    dogPet: Dog
    catPet: Cat
}

Actual behavior

oneOf input type not supported.

Known workarounds

Essentially none.

Related information

N/A

laurencepettitt avatar Sep 20 '23 14:09 laurencepettitt

Yep, this is doable. Would you like to help? I suppose we need #380 to be merged and on top of it we can add oneOf

xperiandri avatar Sep 30 '23 21:09 xperiandri