This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-06-28
Channels
- # beginners (33)
- # boot (58)
- # cider (21)
- # cljs-dev (197)
- # cljsrn (112)
- # clojure (136)
- # clojure-belgium (5)
- # clojure-dev (57)
- # clojure-greece (1)
- # clojure-italy (3)
- # clojure-russia (6)
- # clojure-spec (148)
- # clojure-uk (54)
- # clojurescript (29)
- # cursive (24)
- # datomic (36)
- # devops (4)
- # emacs (11)
- # figwheel (1)
- # graphql (18)
- # hoplon (6)
- # leiningen (2)
- # luminus (4)
- # off-topic (7)
- # om (4)
- # onyx (27)
- # precept (1)
- # protorepl (12)
- # quil (1)
- # re-frame (28)
- # reagent (10)
- # ring (9)
- # robots (1)
- # rum (2)
- # slack-help (5)
- # spacemacs (16)
- # sql (16)
- # untangled (16)
- # vim (3)
- # yada (2)
Hi 🙂 Wondering why I can't use normally defined objects as argument types, rather I must define input-objects in the input-objects section
@jonpither Inputs cannot be cyclic while outputs (normal objects) can. GraphQL makes this explicit by requiring entirely different types.
@hlship i was wondering about the global exception handling strategy that exists there now - is there discussion of the change somewhere in particular i should look at?
Just the PR and related issue, plus my own experience developing with Lacinia ... the 0.18.0 behavior makes it hard to track down where failures occur, since they get swallowed by Lacinia. The unreleased behavior encourages you to catch exceptions inside your non-trivial field resolvers and then use resolve-as.
that seems sensible to me - also because partial failures requires active work to support on the client
Yes, this is just Lacinia getting out of the way of things it can't take care of perfectly, delegating the application code.
in order to debug issues, i had been swap!-ing a snapshot of the context in to a dummy var and then running resolvers by hand
not sure if this makes sense, but there may be an opportunity for some public api to enable individual resolver testing
for me that was just capturing the actual arguments - maybe some function that retries a resolver given an error map - or maybe i’ll just see how it goes w/ the new exception behavior