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 is a website building & hosting documentation for Clojure/Script libraries
× close