Skip to content

Provide a ::pc/mutation-data in mutation context #148

Open
@souenzzo

Description

In resolver context, pathom provide a pc/resolver-data that contains all "metadata" from resolver

This feature isn't present in mutation.

(let [register [(pc/mutation `mutation
                             {::pc/output [::mutation]}
                             (fn [env params]
                               {::mutation (-> env ::pc/mutation-data)}))
                (pc/resolver `resolver
                             {::pc/output [::resolver]}
                             (fn [env params]
                               {::resolver (-> env ::pc/resolver-data)}))]
      parser (p/parser {::p/plugins [(pc/connect-plugin {::pc/register register})]
                        ::p/mutate  pc/mutate})
      env {::p/reader [p/map-reader
                       pc/reader2
                       pc/open-ident-reader]}]
  (parser env
          `[{(mutation {})
             [::resolver
              ::mutation]}]))
=>
{user/mutation {:user/resolver {:com.wsscode.pathom.connect/sym user/resolver,
                                :com.wsscode.pathom.connect/input #{},
                                :com.wsscode.pathom.connect/resolve #object[user$eval21712$fn__21715
                                                                            0x700e1383
                                                                            "user$eval21712$fn__21715@700e1383"],
                                :com.wsscode.pathom.connect/output [:user/resolver]},
               ;; expected: {::pc/sym user/mutation ....}
               ;; actual:
                :user/mutation nil}}

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions