Also a thumbs up for more into Biff - Do you have anything, like Pathom, rady to push back to Biff or is there a yakread repo
Nothing ready to release into Biff yet, and I'm not sure I'll ever include Pathom as a hard dependency for Biff: it is great for keeping medium/large projects manageable, and I would probably use it for small projects too since I'm already familiar with Pathom; however, there is a decent amount of learning overhead for Pathom (especially for figuring out how to debug things when your resolvers don't return the data you'd expect). So I'm not sure I'd feel good about recommending Pathom as a default for all Biff projects. I'd like to figure out if there's some sort of middle ground--e.g. maybe there's a way to code up a mini version of pathom that's perhaps not as performant but is easier to understand and debug? Or maybe I'll just have a how-to doc for integrating Pathom with Biff, so those who are interested in using it have some guidance for doing so.
In the mean time, you can look into the Pathom usage in the Yakread repo. It's messy just to warn you. A few places to check out first:
• https://github.com/jacobobryant/yakread/blob/b2f0a93a896112479dfaf17fa0ebae765047547a/src/com/yakread.clj#L85: this looks for :resolvers keys in your biff modules.
whoops didn't finish writing that...
• https://github.com/jacobobryant/yakread/blob/b2f0a93a896112479dfaf17fa0ebae765047547a/src/com/yakread.clj#L169
• https://github.com/jacobobryant/yakread/blob/b2f0a93a896112479dfaf17fa0ebae765047547a/src/com/yakread/util/biff_staging.clj#L61, used in the (def pathom-env ...) bit linked above. This autogenerates pathom resolvers for all your XTDB data, so you can do things like (defresolver foo [input] {::pco/input [:xt/id :user/email], ::pco/output [...]} ...)
• https://github.com/jacobobryant/yakread/blob/master/src/com/yakread/lib/pathom.clj, https://github.com/jacobobryant/yakread/blob/master/src/com/yakread/lib/route.clj, and https://github.com/jacobobryant/yakread/blob/master/src/com/yakread/lib/pipeline.clj -- some helper functions for calling pathom.
other than that, you can search for defresolver to see the actual resolvers that yakread defines.