-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
help wantedExtra attention is neededExtra attention is neededquestionFurther information is requestedFurther information is requested
Description
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:fnspecs 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
:retor: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
instrumentandunstrumentanonymous functions? - Should it be possible to
instrumentorunstrumentindividual resolvers? - Should it be possible to partially
instrumentorunstrument(use any combination of:args,:ret, and:fn)? - Should it be possible to partially
instrumentorunstrumentindividual resolvers?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
help wantedExtra attention is neededExtra attention is neededquestionFurther information is requestedFurther information is requested