Skip to content

morpheus-graphql-0.4.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@nalchevanidze nalchevanidze released this 08 Oct 23:41
1279e13

Changed

  • support of Default Value:

    • on query: Parsing Validating and resolving
    • on Document: only Parsing
  • lens is removed from Library, client field collision can be handled with GraphQL alias:

    {
      user {
        name
        friend {
          friendName: name
        }
      }
    }

Fixed:

  • Data.Morpheus.Document.toGraphQLDocument generates only user defined types. #259

  • Morpheus Client Namespaces Input Type Fields, they don't collide anymore:
    example:
    schema:

    input Person {
      name: String!
    }

    query:

    query GetUser (parent: Person!) {
      ....
    }

    wil generate:

    data GetUserArgs = GetUserArgs {
      getUserArgsParent: Person
    } deriving ...
    
    data Person = Person {
      personName: Person
    } deriving ...
  • Morpheus Client Generated Output Object And Union Types don't collide:

    type Person {
      name: String!
      parent: Person!
      friend: Person!
    }

    And we select

    {
      user {
        name
        friend {
          name
        }
        parent {
          name
        }
        bestFriend: friend {
          name
          parent {
            name
          }
        }
      }
    }

    client will Generate:

    • UserPerson from {user
    • UserFriendPerson: from {user{freind
    • UserParentPerson: from {user{parent
    • UserBestFriendPerson: from {user{bestFrend
    • UserBestFriendParentPerson: from {user{bestFrend{parent
  • GraphQL Client Defines enums and Input Types only once per query and they don't collide