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

Lacinia Integration #2

Open
domkm opened this issue Nov 29, 2018 · 0 comments
Open

Lacinia Integration #2

domkm opened this issue Nov 29, 2018 · 0 comments
Labels
help wanted Extra attention is needed question Further information is requested

Comments

@domkm
Copy link
Member

domkm commented Nov 29, 2018

Lacinia seems to be the most popular Clojure GraphQL server library and, as such, we would like to support common use cases.

Particularly, we would like to be able to automatically instrument resolvers. The exact nature of the instrumentation is an open question.

  • What is the interface for attaching specs to schemas?
  • How are fspec :fn specs defined?
    • Automatic, based on a naming convention?
    • Argument passed to the function that attaches specs?
  • Should resolvers receive conformed or raw data?
  • Should resolvers receive invalid data or should that automatically return an error?
    • If the latter, how should the error be formatted?
  • Should resolvers that return invalid data (whether by :ret or :fn) throw immediately or cause errors to be attached to the response?
    • If the latter, how should the error be formatted?
  • Since most resolvers are anonymous, they cannot participate in clojure.spec's registry. How should we instrument and unstrument anonymous functions?
  • Should it be possible to instrument or unstrument individual resolvers?
  • Should it be possible to partially instrument or unstrument (use any combination of :args, :ret, and :fn)?
  • Should it be possible to partially instrument or unstrument individual resolvers?
@domkm domkm added help wanted Extra attention is needed question Further information is requested labels Nov 29, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed question Further information is requested
Projects
None yet
Development

No branches or pull requests

1 participant