WARN: this part of the library is under experimentation process, the design, interface and performance characteristics might change.
WARN: this part of the library is under experimentation process, the design, interface and performance characteristics might change.
(create-batch-processor {:com.wsscode.pathom3.connect.runner.parallel/keys
[batch-hold-delay-ms batch-hold-flush-threshold]
:as env})
(delayed-process f debounce-window-ms)
(delayed-process f debounce-window-ms flush-threshold)
(get-batch-process
{:com.wsscode.pathom3.connect.runner.parallel/keys [async-batches*] :as env}
op-name)
(invoke-mutation! env {:keys [key] :as ast})
Run mutation from AST.
Run mutation from AST.
(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.
(merge-entity-data env entity new-data)
Specialized merge versions that work on entity data.
Specialized merge versions that work on entity data.
(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.
(process-attr-subquery {:com.wsscode.pathom3.connect.planner/keys [graph]
:as env}
entity
k
v)
(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.
(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.
(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.
(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.
(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*.
(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.
(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.
(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.
(run-or-node! env
{:com.wsscode.pathom3.connect.planner/keys [run-or] :as or-node})
(run-or-node!* {:com.wsscode.pathom3.connect.planner/keys [graph]
:com.wsscode.pathom3.connect.runner/keys [choose-path]
:or {choose-path pcr/default-choose-path}
:as env}
or-node
nodes
errors)
(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.
(run-root-node! {:com.wsscode.pathom3.connect.planner/keys [graph] :as env})
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close