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

feat: export execution algorithm implementation as Executor class #3193

Closed
wants to merge 21 commits into from

Commits on Oct 3, 2021

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

Commits on Oct 4, 2021

  1. refactor: move subscriptions into execution folder

    All operations, including subscription operations, are covered by the execution section of the GraphQL spec
    yaacovCR committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    b7a0645 View commit details
    Browse the repository at this point in the history
  2. refactor: introduce executeQueryOrMutation

    ...and executeQueryOrMutationRootFields
    
    to prepare for integration of executeSubscription
    yaacovCR committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    9b88831 View commit details
    Browse the repository at this point in the history
  3. remove buildExecutionContext from try block

    this function currently does not throw GraphQLErrors -- it is not within the parallel try block within execute
    yaacovCR committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    f54a818 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b6a446d View commit details
    Browse the repository at this point in the history
  5. refactor: rename executeSubscription

    to executeSubscriptionRootField
    yaacovCR committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    2a0a03e View commit details
    Browse the repository at this point in the history
  6. refactor: move underlying subscription methods

    ...to execution file
    yaacovCR committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    04a93cf View commit details
    Browse the repository at this point in the history
  7. refactor: executeSubscriptionRootField

    to operate only on ExecutionContext
    yaacovCR committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    dab7997 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    f7c1ae5 View commit details
    Browse the repository at this point in the history
  9. refactor: streamline exeContext access

    -- In at least a few cases, destructuring assignment from exeContext can improve code readability.
    -- Overrides to exeContext can be set using object spread syntax.
    yaacovCR committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    dc88bcf View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    b98d329 View commit details
    Browse the repository at this point in the history
  11. refactor: narrow buildExecutionContext returnType

    Instead of possibly retuning an array of GraphQLErrors, buildExecutionContext can throw a GraphQLAggregateError to report any encountered errors.
    yaacovCR committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    2b54f3c View commit details
    Browse the repository at this point in the history
  12. refactor: move assertValidExecutionArguments

    only called by buildExecutionContext
    yaacovCR committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    3b5983f View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    92912b4 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    b31b67c View commit details
    Browse the repository at this point in the history
  15. refactor: executor methods into Executor class

    This class is exported only to assist people in implementing their own executors without duplicating too much code and should be used only as last resort for cases such as experimental syntax or if certain features could not be contributed upstream.
    
    It is still part of the internal API and is versioned, so any changes to it are never considered breaking changes. If you still need to support multiple versions of the library, please use the `versionInfo` variable for version detection.
    yaacovCR committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    6ba6cdd View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    95171f9 View commit details
    Browse the repository at this point in the history
  17. refactor: spread ExecutionContext properties

    ...into Executor
    yaacovCR committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    4994041 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    ea5051e View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    2423b77 View commit details
    Browse the repository at this point in the history
  20. export supporting Executor interfaces

    ExecutorArgs and ExecutionContext
    yaacovCR committed Oct 4, 2021
    Configuration menu
    Copy the full SHA
    c124435 View commit details
    Browse the repository at this point in the history