Most of the code here was taken from Pathom3.
Most of the code here was taken from Pathom3.
(analyze-attributes parser attributes)Receive attributes list, which are the nodes in the Pathom used
as a starting point to reach other attributes.
Receive `attributes` list, which are the nodes in the Pathom used as a starting point to reach other attributes.
(ast->shape-descriptor ast)Convert EQL AST to shape descriptor format.
Convert EQL AST to shape descriptor format.
(attribute-reachable? env available-data attr)Discover which attributes are available, given an index and a data context.
Discover which attributes are available, given an index and a data context.
(attrs-multi-deps {:com.wsscode.pathom.connect/keys [index-attributes]} attrs)(data->shape-descriptor-shallow data)Like data->shape-descriptor, but only at the root keys of the data.
Like data->shape-descriptor, but only at the root keys of the data.
(merge-shapes a)(merge-shapes a b)Deep merge of shapes, it takes in account that values are always maps.
Deep merge of shapes, it takes in account that values are always maps.
(query->shape-descriptor output)Convert pathom output format into shape descriptor format.
Convert pathom output format into shape descriptor format.
(reachable-attributes {:com.wsscode.pathom.connect/keys [index-io] :as env}
available-data)Discover which attributes are available, given an index and a data context. Also includes the attributes from available-data.
Discover which attributes are available, given an index and a data context. Also includes the attributes from available-data. Based on https://github.com/wilkerlucio/pathom3/blob/c456c7b5c8e0ee6e12a4b755cfb8b23fbfda8652/src/main/com/wsscode/pathom3/connect/indexes.cljc#L329.
(reachable-attributes* {:com.wsscode.pathom.connect/keys [index-io] :as env}
queue
attributes)(reachable-attributes-for-groups* {:com.wsscode.pathom.connect/keys [index-io]}
groups
attributes)(reachable-joins env available-data)(reachable-paths {:com.wsscode.pathom.connect/keys [index-io] :as env}
available-data)Discover which paths are available, given an index and a data context. Also includes the attributes from available-data.
Discover which paths are available, given an index and a data context. Also includes the attributes from available-data. From https://github.com/wilkerlucio/pathom3/blob/main/src/main/com/wsscode/pathom3/connect/indexes.cljc#L369.
(reachable-paths* {:com.wsscode.pathom.connect/keys [index-io] :as env}
queue
paths)(reachable-paths-for-groups* {:com.wsscode.pathom.connect/keys [index-io]}
groups
attributes)(remove-keys f m)(shape-params shape-value params)cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |