Liking cljdoc? Tell your friends :D

com.wsscode.pathom3.connect.runner


add-taken-path!clj/s

(add-taken-path! {:com.wsscode.pathom3.connect.runner/keys [node-run-stats*]}
                 {:com.wsscode.pathom3.connect.planner/keys [node-id]}
                 taken-path-id)

all-requires-ready?clj/s

(all-requires-ready? env {:com.wsscode.pathom3.connect.planner/keys [expects]})

Check if all requirements from the node are present in the current entity.

Check if all requirements from the node are present in the current entity.
raw docstring

assoc-end-plan-statsclj/s

(assoc-end-plan-stats env plan)

batch-hold-tokenclj/s

(batch-hold-token env cache? op-name node cache-store input-data)

cache-batch-itemclj/s

(cache-batch-item
  {env' :com.wsscode.pathom3.connect.runner/env
   :com.wsscode.pathom3.connect.runner/keys [node-resolver-input]
   :com.wsscode.pathom3.connect.operation/keys [cache? cache-store]
   :as batch-item}
  batch-op
  response)

choose-cache-storeclj/s

(choose-cache-store env cache-store)

combine-inputs-with-responsesclj/s

(combine-inputs-with-responses input-groups inputs responses)

For batch we group the items with the same inputs so the resolver only needs to have each input once. This function is a helper to side the input batch items with the distinct list of responses.

For batch we group the items with the same inputs so the resolver only needs to have
each input once. This function is a helper to side the input batch items with the
distinct list of responses.
raw docstring

default-choose-pathclj/s

(default-choose-path env _or-node node-ids)

entry-astclj/s

(entry-ast graph k)

Get AST entry and pulls recursive query when needed.

Get AST entry and pulls recursive query when needed.
raw docstring

fail-fastclj/s

(fail-fast {:com.wsscode.pathom3.connect.runner/keys [fail-fast?]} error)

include-meta-statsclj/s

(include-meta-stats result
                    {:com.wsscode.pathom3.connect.runner/keys [omit-run-stats?]
                     :or {omit-run-stats? false}
                     :as env}
                    plan)

invoke-mutation!clj/s

(invoke-mutation! env {:keys [key] :as ast})

Run mutation from AST.

Run mutation from AST.
raw docstring

invoke-resolver-from-nodeclj/s

(invoke-resolver-from-node env
                           {:com.wsscode.pathom3.connect.operation/keys
                              [op-name]
                            :com.wsscode.pathom3.connect.planner/keys [input]
                            :as node})

Evaluates a resolver using node information.

When this function runs the resolver, if filters the data to only include the keys mentioned by the resolver input. This is important to ensure that the resolver is not using some key that came accidentally due to execution order, that would lead to brittle executions.

Evaluates a resolver using node information.

When this function runs the resolver, if filters the data to only include the keys
mentioned by the resolver input. This is important to ensure that the resolver is
not using some key that came accidentally due to execution order, that would lead to
brittle executions.
raw docstring

invoke-resolver-with-pluginsclj/s

(invoke-resolver-with-plugins resolver env input-data)

mark-batch-errorsclj/s

(mark-batch-errors e env batch-op batch-items)

mark-resolver-errorclj/s

(mark-resolver-error {:com.wsscode.pathom3.connect.runner/keys
                        [node-run-stats*]}
                     {:com.wsscode.pathom3.connect.planner/keys [node-id]}
                     error)

mark-resolver-error-with-pluginsclj/s

(mark-resolver-error-with-plugins env node e)

merge-entity-dataclj/s

(merge-entity-data env entity new-data)

Specialized merge versions that work on entity data.

Specialized merge versions that work on entity data.
raw docstring

merge-entity-to-root-dataclj/s

(merge-entity-to-root-data env env' node)

merge-mutation-stats!clj/s

(merge-mutation-stats! {:com.wsscode.pathom3.connect.runner/keys
                          [node-run-stats*]}
                       {:com.wsscode.pathom3.connect.operation/keys [op-name]}
                       data)

merge-node-stats!clj/s

(merge-node-stats! {:com.wsscode.pathom3.connect.runner/keys [node-run-stats*]}
                   {:com.wsscode.pathom3.connect.planner/keys [node-id]}
                   data)

merge-resolver-response!clj/s

(merge-resolver-response! env response)

This function gets the map returned from the resolver and merge the data in the current cache-tree.

This function gets the map returned from the resolver and merge the data in the
current cache-tree.
raw docstring

missing-maybe-in-pending-batch?clj/s

(missing-maybe-in-pending-batch? {:com.wsscode.pathom3.path/keys [path] :as env}
                                 input)

normalize-ast-recursive-queryclj/s

(normalize-ast-recursive-query {:keys [query] :as ast} graph k)

pick-union-entryclj/s

(pick-union-entry ast m)

Check if ast children is a union type. If so, makes a decision to choose a path and return that AST.

Check if ast children is a union type. If so, makes a decision to choose a path and
return that AST.
raw docstring

placeholder-merge-entityclj/s

(placeholder-merge-entity {:com.wsscode.pathom3.connect.planner/keys [graph]}
                          source-ent)

Create an entity to process the placeholder demands. This consider if the placeholder has params, params in placeholders means that you want some specific data at that point.

Create an entity to process the placeholder demands. This consider if the placeholder
has params, params in placeholders means that you want some specific data at that
point.
raw docstring

plan-and-run!clj/s

(plan-and-run! env ast-or-graph entity-tree*)

priority-sortclj/s

(priority-sort {:com.wsscode.pathom3.connect.planner/keys [graph] :as env}
               node-ids)

Sort nodes based on the priority of the node successors. This scans all successors and choose which one has a node with the highest priority number.

Returns the paths and their highest priority, in order with the highest priority as first. For example:

[[4 [2 1]] [6 [1]]]

Means the first path is choosing node-id 4, and highest priority is 2.

Sort nodes based on the priority of the node successors. This scans all successors
and choose which one has a node with the highest priority number.

Returns the paths and their highest priority, in order with the highest priority as
first. For example:

    [[4 [2 1]] [6 [1]]]

Means the first path is choosing node-id 4, and highest priority is 2.
raw docstring

process-attr-subqueryclj/s

(process-attr-subquery {:com.wsscode.pathom3.connect.planner/keys [graph]
                        :as env}
                       entity
                       k
                       v)

process-idents!clj/s

(process-idents! env idents)

Process the idents from the Graph, this will add the ident data into the child.

If there is ident data already, it gets merged with the ident value.

Process the idents from the Graph, this will add the ident data into the child.

If there is ident data already, it gets merged with the ident value.
raw docstring

process-map-container-subqueryclj/s

(process-map-container-subquery env ast m)

Build a new map where the values are replaced with the map process of the subquery.

Build a new map where the values are replaced with the map process of the subquery.
raw docstring

process-map-container?clj/s

(process-map-container? ast v)

Check if the map should be processed as a map-container, this means the sub-query should apply to the map values instead of the map itself.

This can be dictated by adding the ::pcr/map-container? meta data on the value, or requested by the query as part of the param.

Check if the map should be processed as a map-container, this means the sub-query
should apply to the map values instead of the map itself.

This can be dictated by adding the ::pcr/map-container? meta data on the value, or
requested by the query as part of the param.
raw docstring

process-map-subqueryclj/s

(process-map-subquery env ast m)

process-mutations!clj/s

(process-mutations! {:com.wsscode.pathom3.connect.planner/keys [graph] :as env})

Runs the mutations gathered by the planner.

Runs the mutations gathered by the planner.
raw docstring

process-sequence-subqueryclj/s

(process-sequence-subquery env ast s)

report-resolver-io-statsclj/s

(report-resolver-io-stats {:com.wsscode.pathom3.connect.runner/keys
                             [omit-run-stats-resolver-io?]}
                          input-data
                          result)

run-and-node!clj/s

(run-and-node! {:com.wsscode.pathom3.connect.planner/keys [graph] :as env}
               {:com.wsscode.pathom3.connect.planner/keys [run-and]
                :as and-node})

Given an AND node, runs every attached node, then runs the attached next.

Given an AND node, runs every attached node, then runs the attached next.
raw docstring

run-batches!clj/s

(run-batches! env)

run-batches-pending!clj/s

(run-batches-pending! env)

run-batches-waiting!clj/s

(run-batches-waiting! env)

run-foreign-mutationclj/s

(run-foreign-mutation env {:keys [key] :as ast})

run-graph!clj/s

(run-graph! env ast-or-graph entity-tree*)

Plan and execute a request, given an environment (with indexes), the request AST and the entity-tree*.

Plan and execute a request, given an environment (with indexes), the request AST
and the entity-tree*.
raw docstring

run-graph!*clj/s

(run-graph!* {:com.wsscode.pathom3.connect.planner/keys [graph] :as env})

Run the root node of the graph. As resolvers run, the result will be add to the entity cache tree.

Run the root node of the graph. As resolvers run, the result will be add to the
entity cache tree.
raw docstring

run-graph-impl!clj/s

(run-graph-impl! env ast-or-graph entity-tree*)

run-graph-with-pluginsclj/s

(run-graph-with-plugins env ast-or-graph entity-tree* impl!)

run-next-node!clj/s

(run-next-node! {:com.wsscode.pathom3.connect.planner/keys [graph] :as env}
                {:com.wsscode.pathom3.connect.planner/keys [run-next]})

Runs the next node associated with the node, in case it exists.

Runs the next node associated with the node, in case it exists.
raw docstring

run-node!clj/s

(run-node! env node)

Run a node from the compute graph. This will start the processing on the sent node and them will run everything that's connected to this node as sequences of it.

The result is going to build up at ::p.ent/cache-tree*, after the run is concluded the output will be there.

Run a node from the compute graph. This will start the processing on the sent node
and them will run everything that's connected to this node as sequences of it.

The result is going to build up at ::p.ent/cache-tree*, after the run is concluded
the output will be there.
raw docstring

run-or-node!clj/s

(run-or-node! {:com.wsscode.pathom3.connect.planner/keys [graph]
               :com.wsscode.pathom3.connect.runner/keys [choose-path]
               :or {choose-path default-choose-path}
               :as env}
              {:com.wsscode.pathom3.connect.planner/keys [run-or] :as or-node})

run-resolver-node!clj/s

(run-resolver-node! env node)

This function evaluates the resolver associated with the node.

First it checks if the expected results from the resolver are already available. In case they are, the resolver call is skipped.

This function evaluates the resolver associated with the node.

First it checks if the expected results from the resolver are already available. In
case they are, the resolver call is skipped.
raw docstring

run-root-node!clj/s

(run-root-node! {:com.wsscode.pathom3.connect.planner/keys [graph] :as env})

setup-runner-envclj/s

(setup-runner-env env entity-tree* cache-type)

union-key-on-data?clj/s

(union-key-on-data? {:keys [union-key]} m)

valid-response?clj/s

(valid-response? x)

wait-batch-responseclj/s

(wait-batch-response env node)

warn-batch-unsupportedclj/s

(warn-batch-unsupported env op-name)

with-resolver-cacheclj/s

(with-resolver-cache env)
(with-resolver-cache env cache*)

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close