Sugar Helpers
Since version 2.2.15 Pathom provides helpers to start parsers with very little code.
These helpers are available at the namespace com.wsscode.pathom.sugar.
Connect parser helpers
First we have helpers to create parser with connect setup. There are three, one for
the serial parser, one for async parser and one for the parallel parser.
Usage example:
(ns my-app.ns
(:require [com.wsscode.pathom.connect :as pc]
[com.wsscode.pathom.sugar :as ps]))
(def name-alias-parser
(ps/connect-serial-parser
[(pc/alias-resolver :system-a/name :system-b/name)]))
(name-alias-parser {::p/entity {:system-a/name "Jane"}} [:system-b/name])
; => #:system-b{:name "Jane"}
The argument for all the sugar parsers is the Connect registry.
Parser context interface
Continuing the previous example, the sugar namespace provides a parser interface wrapper to facilitate calling the parser sending an entity (as we did in the last example) with a simpler interface:
(def context-name-parser (ps/context-parser name-alias-parser))
(context-name-parser {:system-a/name "Jane"} [:system-b/name])
; => #:system-b{:name "Jane"}
You can also use a custom env with the context parser, to do so add the env as the
first argument (on arity size 3).