workflo.query-engine.query

attrs-from-query-root

(attrs-from-query-root q)

Extract attributes from a query root expression.

backref

(backref source attr)

Returns the target entity definition, the forward ref attribute name and the cardinality of the backref for a source entity and a backref attribute.

backref-attr->forward-attrs

(backref-attr->forward-attrs k)

entity-ref

(entity-ref source attr)

Returns the target entity definition for a source entity and a ref attribute.

fetch-entity-data

(fetch-entity-data env entity singular? id-or-ids attrs params)

Fetches one or more items of an entity from the data layer.

id-attr

(id-attr env)

process-query

(process-query query data-layer env)(process-query query data-layer env opts)

Processes an Om Next query given a data layer, an environment that is passed through to the data layer, and optional processing options.

ref-entity

(ref-entity source attr attr-ref)

ref-id-attr

(ref-id-attr env)

resolve-ident

(resolve-ident env opts q parent-qs attrs params)

Resolves an ident query into data.

resolve-join

(resolve-join env opts parent-data q parent-qs params)

Resolves a join query into data given a parent data node (an entity map) and optional parameters.

resolve-keyword

(resolve-keyword env opts parent-data q parent-qs params)

Resolves a toplevel keyword query into data.

resolve-nested-join

(resolve-nested-join env opts parent-data join-source join-query parent-qs params)

Resolves a nested join query (starting from a parent entity map) into data.

resolve-query-node

(resolve-query-node env opts parent-data q parent-qs params)

Resolves a query node z into data given a parent data node and optional parameters.

resolve-toplevel-join

(resolve-toplevel-join env opts join-source join-query parent-qs params)

Resolves a toplevel join query (where no parent entity exists and our convention is to perform the join on all items of an entity (denoted by the query join source key).

singular-key?

(singular-key? k)

Returns whether or not a key is singular (e.g. :user, not :users).