Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement support for interfaces implementing interfaces #740

Merged
merged 11 commits into from
Jan 23, 2021

Commits on Nov 27, 2020

  1. Configuration menu
    Copy the full SHA
    aa4f719 View commit details
    Browse the repository at this point in the history
  2. Implement tests for interfaces implementing interfaces

    This ports the JavaScript tests for `RFC: Allow interfaces to
    implement other interfaces` to PHP. This should ensure that there is
    sufficient test coverage for the changes made to support interfaces
    implementing interfaces.
    
    Tests taken from https://github.com/graphql/graphql-js/pull/2084/files
    including any typoes in test description strings to aid in comparison.
    Kingdutch committed Nov 27, 2020
    Configuration menu
    Copy the full SHA
    39c2fb6 View commit details
    Browse the repository at this point in the history
  3. Fix extend implement interface in Parser

    This is part of the update to allow interfaces to implement interfaces.
    A single extend statement to add an implementation of an interface
    without field declarations is valid. This was caught by tests and brings
    in a change from graphql/graphql-js#2084
    Kingdutch committed Nov 27, 2020
    Configuration menu
    Copy the full SHA
    951d882 View commit details
    Browse the repository at this point in the history
  4. Validate interface implemented ancestors

    Part of the work done to implement interfaces implementing interfaces.
    This was caught by test and improves on the previously done changes for
    the SchemaValidationContext by implementing
    `validateTypeImplementsAncestors` which was missing.
    Kingdutch committed Nov 27, 2020
    Configuration menu
    Copy the full SHA
    d525145 View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2020

  1. Properly apply Schema changes for interface extension support

    This redoes the work done for the Schema class since it was previously
    guessed at. It now more closely follows graphql/graphql-js/pull/2084
    Kingdutch committed Nov 30, 2020
    Configuration menu
    Copy the full SHA
    a8f94b6 View commit details
    Browse the repository at this point in the history
  2. Improve interface extension related typehints

    Co-authored-by: Benedikt Franke <[email protected]>
    Kingdutch and spawnia committed Nov 30, 2020
    Configuration menu
    Copy the full SHA
    da07108 View commit details
    Browse the repository at this point in the history

Commits on Dec 13, 2020

  1. Refine types

    spawnia committed Dec 13, 2020
    Configuration menu
    Copy the full SHA
    dc34eae View commit details
    Browse the repository at this point in the history
  2. Merge branch 'master' into kingdutch-master

    # Conflicts:
    #	src/Utils/SchemaPrinter.php
    spawnia committed Dec 13, 2020
    Configuration menu
    Copy the full SHA
    ee3bc56 View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2020

  1. Configuration menu
    Copy the full SHA
    602bf4e View commit details
    Browse the repository at this point in the history

Commits on Jan 23, 2021

  1. Don't remove but deprecate DANGEROUS_CHANGE_IMPLEMENTED_INTERFACE_ADDED

    Removing a public constant is a breaking change and can not be
    implemented in a minor version. Instead the internal value is changed to
    ensure that existing code keeps working with the new interface
    implementation logic.
    Kingdutch committed Jan 23, 2021
    Configuration menu
    Copy the full SHA
    9ed1d9d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1f2a1e4 View commit details
    Browse the repository at this point in the history